3

是否有一个命令来设置一个选项,即使有错误也会导致 PostgreSQL 脚本继续?

例如,有时当我将电子表格中的大量数据插入到表中时,我使用公式创建 INSERT 语句,然后将语句复制到文件中并执行它们,或者将它们复制到 PgAdmin 中以运行它们。准确性并不总是很重要,我不希望整个过程因为几条记录而失败。

语法错误不是这里的问题,只是由于某些错误而失败的命令,例如尝试创建已经存在的索引或插入重复记录。

4

2 回答 2

4

如果使用psql,你想要:

\set ON_ERROR_ROLLBACK on

手册

ON_ERROR_ROLLBACK

打开时,如果事务块中的语句产生错误,则忽略该错误并继续事务。在交互时,此类错误仅在交互会话中被忽略,而不是在读取脚本文件时。关闭时(默认值),事务块中生成错误的语句会中止整个事务

于 2013-02-16T12:14:21.240 回答
0

聚会有点晚了,但我正在对该主题进行一些研究,并在这里找到了一篇出色的文章: Postgres ON_ERROR_ROLLBACK 解释

于 2022-02-23T19:13:16.463 回答