Hier ist ein praktisches Skript zur Vorverarbeitung von pg_dump
Ausgabe, um sie besser zum Vergleichen und Speichern in der Versionskontrolle geeignet zu machen:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
teilt den Dump in die folgenden Dateien auf:
0000_prologue.sql
:alles bis zur ersten KOPIE0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:Daten für jede Tabelle sortiert nach dem ersten Feld9999_epilogue.sql
:alles nach der letzten KOPIE
Die Dateien für Tabellendaten sind nummeriert, so dass eine einfache sortierte Verkettung aller Dateien verwendet werden kann, um die Datenbank neu zu erstellen:
$ cat *.sql | psql <database>
Ich habe festgestellt, dass ein guter Weg, um einen schnellen Blick auf die Unterschiede zwischen Dumps zu werfen, die Verwendung von meld
ist Tool auf das gesamte Verzeichnis:
$ meld old-dump/ new-dump/
Das Speichern des Dumps in der Versionskontrolle gibt auch einen guten Überblick über die Unterschiede. So konfigurieren Sie Git für die Verwendung von Farbe in Diffs:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Hinweis: Wenn Sie Tabellen erstellt/gelöscht/umbenannt haben, denken Sie daran, alle .sql
zu löschen Dateien vor der Nachbearbeitung des neuen Dumps.