2016-08-05 7 views
0

PostgreSQLデータベースにデータをインポートする必要がありますが、既存のインポートスクリプトは間違った順序でジョブを実行しており、制約違反エラーで失敗します。PostgreSQLはすべてのデータベース制約を無効にします

PostgreSQLでは、インポート前にすべての制約チェックを無効にし、必要に応じてバックアップを有効にすることはできますか?もしそうなら、あなたは例を示すか、それが達成される方法を教えてもらえますか?

+0

おそらく、 'deferred'制約が必要です。 (「一時的に無効になっていますが、コミット時にチェックされています」) – joop

+0

問題の解決に役立つ方法の詳細な回答をご提供いただけますか? – alexanoid

+0

https://www.postgresql.org/docs/9.5/static/sql-set-constraints.html(ただし、スクリプトのイベントの順序を修正することをお勧めします) – joop

答えて

0

おそらく、インポートツールのプロデューサでこの問題を提起する必要があります。

制約を一時的に無効にする簡単な方法はありません。自分で落として再作成する必要があります。 pg_dump --section=post-dataの出力を見ると、最終的にすべての制約を作成するコマンドが含まれているので、助けてください。

関連する問題