有没有办法设置一个选项,即使有错误,也会导致PostgreSQL脚本继续?

时间:2013-02-16 08:29:05

标签: postgresql error-handling continue

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

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

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

1 个答案:

答案 0 :(得分:3)

如果使用psql,则需要:

\set ON_ERROR_ROLLBACK on

来自manual

  

ON_ERROR_ROLLBACK

     

启用时,如果事务块中的语句生成错误,则   错误被忽略,事务继续。交互时,如此   错误仅在交互式会话中被忽略,而不是在阅读时   脚本文件。当关闭(默认)时,事务中的语句   生成错误的块将中止整个事务