3.6.6. 復元中の SQL エラーの処理
デフォルトでは、SQL エラーが発生した場合でも psql ユーティリティーは実行を継続します。これは、データベースが部分的にしか復元されない原因となります。データの整合性を確保するために、エラー時に停止するように psql を設定できます。
前提条件
-
postgresスーパーユーザーまたはデータベース管理者特権を持つユーザーとしてログインしている。
手順
ON_ERROR_STOP変数を設定して SQL エラーが発生した場合は、終了ステータス 3 でpsqlを終了します。$ psql --set ON_ERROR_STOP=on <db_name> < <dump_file>ダンプ全体が単一のトランザクションとして復元されるように指定して、復元が完全に完了するかキャンセルされるようにします。
psqlユーティリティーを使用してテキストファイルのダンプを復元する場合:$ psql -1pg_restoreユーティリティーを使用してテキストファイル以外のダンプを復元する場合:$ pg_restore -e
この方法を使用する場合、小さなエラーでも、すでに何時間も実行されている復元操作がキャンセルされる可能性があることに注意してください。