Ето удобен скрипт за предварителна обработка на pg_dump
изход, за да го направи по-подходящ за дифференциране и съхранение в контрола на версиите:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
разделя дъмпа на следните файлове:
0000_prologue.sql
:всичко до първото КОПИЕ0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:данни за всяка таблица сортирани по първото поле9999_epilogue.sql
:всичко след последното КОПИЕ
Файловете за таблични данни са номерирани, така че може да се използва проста сортирана конкатенация на всички файлове за повторно създаване на база данни:
$ cat *.sql | psql <database>
Открих, че добър начин да разгледате бързо разликите между изхвърлянията е да използвате meld
инструмент за цялата директория:
$ meld old-dump/ new-dump/
Съхраняването на дъмпа в контрола на версиите също дава приличен поглед върху разликите. Ето как да конфигурирате git да използва цвят в разликите:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Забележка: Ако сте създали/изпуснали/именували таблици, не забравяйте да изтриете всички .sql
файлове преди последваща обработка на новия дъмп.