Voici un script pratique pour pré-traiter pg_dump
sortie pour la rendre plus adaptée à la différenciation et au stockage dans le contrôle de version :
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
divise le vidage dans les fichiers suivants :
0000_prologue.sql
:tout jusqu'à la première COPIE0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:données pour chaque table triées par le premier champ9999_epilogue.sql
:tout après la dernière COPIE
Les fichiers pour les données de table sont numérotés afin qu'une simple concaténation triée de tous les fichiers puisse être utilisée pour recréer la base de données :
$ cat *.sql | psql <database>
J'ai trouvé qu'un bon moyen de jeter un coup d'œil rapide aux différences entre les vidages est d'utiliser le meld
outil sur tout le répertoire :
$ meld old-dump/ new-dump/
Le stockage du vidage dans le contrôle de version donne également une vue décente des différences. Voici comment configurer git pour utiliser la couleur dans les diffs :
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Remarque : Si vous avez créé/supprimé/renommé des tables, n'oubliez pas de supprimer tous les .sql
fichiers avant de post-traiter le nouveau vidage.