4.6.6. 在恢复过程中处理 SQL 错误
默认情况下,如果发生 SQL 错误,psql 工具将继续执行,从而导致数据库只部分恢复。或者,您可以将 psql 配置为停止出错以确保数据完整性。
先决条件
-
您以
postgres超级用户或具有数据库管理员特权的用户身份登录。
流程
请设置
ON_ERROR_STOP变量,使 psql 在发生 SQL 错误时退出,且有一个为 3 的退出状态码:$ psql --set ON_ERROR_STOP=on dbname < dumpfile指定整个转储作为一个事务来恢复,以便要么全部完成,要么全部取消。
使用
psql工具恢复文本文件转储时:$ psql -1使用
pg_restore工具恢复非文本文件转储时:$ pg_restore -e请注意,在使用这个方法时,即使一个小的错误也可以取消已经运行了很长时间的恢复操作。