han*_*ank 5 postgresql psql transaction postgresql-9.2
我正在尝试在单个事务中执行 sql 脚本文件。该文件包含一些其他脚本的包含,这些脚本在我的示例中创建了一些表。它看起来像这样:
\include ../tables/table1.cre
\include ../tables/table2.cre
...
\include ../tables/table10.cre
Run Code Online (Sandbox Code Playgroud)
我正在使用psql
:
psql -X --set AUTOCOMMIT=off --set ON_ERROR_STOP=on -e --single-transaction -d my_db -f my_script.sql
Run Code Online (Sandbox Code Playgroud)
问题是 include meta 命令的错误不会导致事务回滚。例如,如果某些 tableX.cre 文件丢失,则将提交其包含之前的任何更改。但是,如果有一些 SQL 语法错误,一切都会按预期工作。
是否有可能以某种方式处理包含相关错误并回滚活动事务?
我正在使用 PostgreSQL 9.2.1。
归档时间: |
|
查看次数: |
1049 次 |
最近记录: |