是否有命令设置一个选项,即使有错误也会导致PostgreSQL脚本继续运行?
例如,有时当我从电子表格中获取大量数据以插入表格时,我使用公式创建INSERT语句,然后将语句复制到文件中并执行它们,或将它们复制到PgAdmin中运行他们。准确性并不总是很重要,我不希望整个过程因为一些记录而失败。
语法错误不是问题,只是由于某些错误而失败的命令,例如尝试创建已存在的索引或插入重复记录。
答案 0 :(得分:3)
如果使用psql
,则需要:
\set ON_ERROR_ROLLBACK on
来自manual:
ON_ERROR_ROLLBACK
启用时,如果事务块中的语句生成错误,则 错误被忽略,事务继续。交互时,如此 错误仅在交互式会话中被忽略,而不是在阅读时 脚本文件。当关闭(默认)时,事务中的语句 生成错误的块将中止整个事务