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

      请注意,在使用这个方法时,即使一个小的错误也可以取消已经运行了很长时间的恢复操作。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部