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
を削除することを忘れないでください。 新しいダンプを後処理する前にファイルを作成します。