如果发生错误,如何停止并退出postgresql恢复

how to stop and exit from the postgresql restoration if an error occurs

我们正在尝试使用以下命令从命令行将 PostgreSQL 模式转储恢复到数据库中

psql -U postgres -d dbname < filename

恢复期间我们在命令行中得到如下响应

SET
SET
SET
SET
SET
CREATE SCHEMA
ALTER SCHEMA
.
.
.
.

继续

我的问题是,如果在恢复和恢复继续进行之间发生了一些错误,如何在不通过命令行滚动浏览整个响应的情况下检测到该错误?要么 有没有恢复过程出错自动停止退出?

我们正在使用 PostgreSQL 10

您可以做两件事:

首先 运行 整个脚本作为单个事务:

psql --single-transaction -U postgres -d dbname < filename

此外,您可以配置 psql 在发生错误时中止:

\set ON_ERROR_STOP on

您需要将 \set 放入您正在 运行 的文件中。

或者,如果您总是想要这种行为,请将其放入~/.psqlrc