Aquí hay un script útil para preprocesar pg_dump
salida para que sea más adecuado para diferenciar y almacenar en el control de versiones:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
divide el volcado en los siguientes archivos:
0000_prologue.sql
:todo hasta la primera COPY0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:datos para cada tabla ordenados por el primer campo9999_epilogue.sql
:todo después de la última COPIA
Los archivos para los datos de la tabla están numerados, por lo que se puede usar una concatenación ordenada simple de todos los archivos para volver a crear la base de datos:
$ cat *.sql | psql <database>
Descubrí que una buena manera de echar un vistazo rápido a las diferencias entre volcados es usar meld
herramienta en todo el directorio:
$ meld old-dump/ new-dump/
Almacenar el volcado en el control de versiones también brinda una visión decente de las diferencias. Aquí se explica cómo configurar git para usar el color en las diferencias:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
.sql
archivos antes de posprocesar el nuevo volcado.