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

标签 postgresql error-handling continue

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

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

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

最佳答案

如果使用 psql,您需要:

\set ON_ERROR_ROLLBACK on

来自manual :

ON_ERROR_ROLLBACK

When on, if a statement in a transaction block generates an error, the error is ignored and the transaction continues. When interactive, such errors are only ignored in interactive sessions, and not when reading script files. When off (the default), a statement in a transaction block that generates an error aborts the entire transaction

关于postgresql - 有没有办法设置一个选项,即使出现错误也会导致 PostgreSQL 脚本继续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908451/

相关文章:

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

sql - 如何创建存储过程以将数据从查询复制到临时表?

php - Laravel 5.1-实时网站上的错误 View ,哪一个或所有一个以及如何实现?

javascript - 文档.写入 ("Final i = "+i ,"<br>");

c++ - 'continue' 使用标志作用于哪个循环?

C# - while 循环内的 foreach 循环 - 中断 foreach 并立即继续 while 循环?

postgresql - 如何从 PostgreSQL 中的表的特定索引中删除 10 行

sql - 在 postgresql 9.5 中是否可以从 WITH 查询中插入冲突更新?

multithreading - 如何在多线程环境中安全地插入/更新 Postgres 中的值

ruby-on-rails - 将 Rails 应用程序连接到 PGAdmin 4