Här är ett praktiskt skript för förbearbetning av pg_dump
output för att göra den mer lämpad för diffing och lagring i versionskontroll:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
delar upp dumpen i följande filer:
0000_prologue.sql
:allt fram till första KOPIA0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:data för varje tabell sorterad efter det första fältet9999_epilogue.sql
:allt efter den senaste KOPIA
Filerna för tabelldata är numrerade så en enkel sorterad sammansättning av alla filer kan användas för att återskapa databasen:
$ cat *.sql | psql <database>
Jag har upptäckt att ett bra sätt att ta en snabb titt på skillnader mellan dumpar är att använda meld
verktyg i hela katalogen:
$ meld old-dump/ new-dump/
Att lagra dumpningen i versionskontroll ger också en hygglig bild av skillnaderna. Så här konfigurerar du git att använda färg i diff:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Obs! Om du har skapat/släppt/döpt om tabeller, kom ihåg att ta bort alla .sql
filer innan efterbearbetning av den nya dumpen.