0

私は現在、この顧客のデータベースの 1 つをダンプして、この顧客の基本構造から新しいデータベースを作成できるようにする作業を行っていますが、個人データを持ち込むことはありません。

これまでのところ、およびコマンドとpg_dump組み合わせて成功しており、これにより、このタスクに必要なデータのみを効率的に取得することができました。--exclude_tableexclude-table-data

ただし、残したデータの一部を参照する行と、持ってくる必要のあるデータを参照する他の行が混在しているテーブルがいくつかあります。これにより、復元操作中にいくつかの問題が発生しています。具体的には、ダンプFOREIGN KEYがこれらのテーブルの特定の列に制約を適用しようとすると、それぞれの外部テーブルに一致するデータがないキーを持つ行がいくつかあるため失敗します-このテーブルのデータを持ち込まないことを選択したためです!

ダンプが完了した後にデータベースにログインし、存在しなくなったデータを参照する行を削除し、自分で制約を作成できることはわかっていますが、プロセスを可能な限り自動化したいと考えています。テーブル B のデータがバックアップから除外されている場合にテーブル B を参照する場合、テーブル A から行を取得しないように指示する方法pg_dumpまたは(または他のプログラム) はありますか? pg_restoreまたは、テーブルのデータをインポートする前に、その特定の外部キーをアクティブにしたいことを Postgres に伝えるには?

参考までに、私は HREL 7 サーバーで PostgreSQL 9.2 を使用しています。

4

1 に答える 1