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