私は700以上のテーブルと約のサイズの大規模なデータベースを持っています。23GBで、このデータベースをテスト環境にエクスポートしようとしています。復元を実行すると、外部キー制約がまったく含まれていません。現時点では、理由を正確に理解することはできませんが、データ自体が正しく、すべてのテーブル、PK、関数、およびビューも復元されるため、残っているのは外部キーだけであり、postgresログにはエラーは表示されません。
私はこれについて数日間グーグルしてきましたが、運がありません。そして、これは正しいアプローチではないと確信していますが、私が今持っているのはそれだけなので、テスト目的のためだけに試してみます。
とてもわかりやすくシンプルですが、外部キーのみをスクリプトにエクスポートして、このスクリプトから復元する方法はありますか?
前もって感謝します。
@Craig:確かにCraigはここに詳細があります:
- 復元したいマシン:x86_64上のPostgreSQL 8.4.8-redhat-linux-gnu、GCC gcc(GCC)4.1.2 20080704(Red Hat 4.1.2-48)、64ビットでコンパイル
- 元のバックアップを作成したマシン:x86_64-redhat-linux-gnu上のPostgreSQL 8.4.13、GCC gcc(GCC)4.4.6 2 0120305(Red Hat 4.4.6-4)、64ビットでコンパイル
エクスポートコマンド:独自のDBExportおよびDBRestoreスクリプトを含むAdepmpiereAdempiereWikiを使用しています。
DBExportスクリプトには次のコマンドがあります。
pg_dump -h 127.0.0.1 -p 5432 --no-owner -U adempiere adempiere> /home/adempiere/adempiere.sql
DBRestoreには次の行があります。
psql -h 127.0.0.1 -p 5432 -d adempiere -U adempiere -f /home/adempiere/adempiere.sql
このスクリプトは、ラップトップにある仮想マシンで復元でき、FKに含まれるすべてのものが復元されましたが、テストマシンではうまくいきませんでした。