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.)

CuriousGorge
quelle
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

Vérace
quelle
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
2

Es gibt auch:

Postgres Vergleichen
quelle
1
pgdiff vergleicht keine Tabellendaten.
Nyov
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.

Kumpel
quelle
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