Her er et praktisk script til forbehandling af pg_dump
output for at gøre det mere egnet til at differentiere og gemme i versionskontrol:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
opdeler dumpet i følgende filer:
0000_prologue.sql
:alt op til den første KOPI0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:data for hver tabel sorteret efter det første felt9999_epilogue.sql
:alt efter sidste KOPI
Filerne til tabeldata er nummererede, så en simpel sorteret sammenkædning af alle filer kan bruges til at genskabe databasen:
$ cat *.sql | psql <database>
Jeg har fundet ud af, at en god måde at tage et hurtigt kig på forskelle mellem lossepladser på er at bruge meld
værktøj på hele mappen:
$ meld old-dump/ new-dump/
Lagring af dumpet i versionskontrol giver også et anstændigt overblik over forskellene. Sådan konfigurerer du git til at bruge farve i diffs:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Bemærk: Hvis du har oprettet/slet/omdøbt tabeller, så husk at slette alle .sql
filer før efterbehandling af det nye dump.