Vergleichen Sie zwei ähnliche Postgres-Datenbanken auf Unterschiede


13

Ich lade gelegentlich öffentlich verfügbare Datensätze in Form von Postgres-dBs herunter. Diese Datensätze werden vom Repository-Host im Laufe der Zeit aktualisiert / geändert / erweitert.

Gibt es einen Postgres-Befehl oder ein Tool (idealerweise FOSS), mit dem die Unterschiede zwischen einer ALTEN und einer NEUEN Postgres-Datenbank angezeigt werden können? (Es wird davon ausgegangen, dass 95% der Einträge unverändert sind und sich auch die Tabellen und Beziehungen nicht ändern.)


1
Was hast du letztendlich benutzt? Keine der Antworten scheint wirklich eine Lösung zu haben.
Nyov

Antworten:


10

Schauen Sie sich die Fragen und Antworten zum Stapelüberlauf an, wie Sie den Unterschied zwischen zwei Datenbanken in PostgreSQL überprüfen können. ; insbesondere ein anderes PostgreSQL Diff Tool (apgdiff) (nur Schemavergleich ). Apgdiff wird von Alexander Kuznetsov empfohlen - einem veröffentlichten Datenbankbuchautor und Guru.

Vielleicht sehen Sie sich auch Liquibase oder Compare Database Table Data an .

Es gibt auch kommerzielle Produkte - zB Altova Database Differencing mit DiffDog


1
apgdiff vergleicht keine Tabellendaten, metaqa wurde zuletzt 2008 veröffentlicht und ist defekt. Der Datenbankunterschied von liquibase richtet sich nicht nach dem Anwendungsfall des OP: "
Datenunterschiede


0

Wenn Sie etwas ziemlich schnelles und schmutziges zum Vergleichen von Schemas benötigen, habe ich diese Übersicht geschrieben , um den Vergleich eines ausgeführten Schemas mit einem "neuesten" Schema zu erleichtern - etwas, das möglicherweise in SCM gehostet wird. Es funktioniert ziemlich gut für ein ~ 50-Tische-Projekt.


Vergleicht keine Tabellendaten.
Nyov

Das war okay für meine Bedürfnisse. Ich musste nur die Schemata vergleichen - die darin enthaltenen Daten waren nicht so wichtig. Ich bin mir sicher, dass es nicht weit entfernt ist, Daten zu vergleichen, wenn Sie die Reihenfolge des Dumps in verschiedenen Versionen / Installationen / etc. Deterministisch steuern können.
Buddy

Es ist in Ordnung. Ich war nur frustriert, dass niemand eine gute Antwort auf die aktuelle Frage hatte. (Darin heißt es ausdrücklich: "Es wird davon ausgegangen, dass 95% der Einträge unverändert sind und dass sich auch die Tabellen und Beziehungen nicht ändern. ")
nyov
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.