当使用单个 SQL 命令运行 PostgreSQL 时,错误代码按预期返回:
% psql -c "SELECT * FROM AWDASDASDASDAS" my_db
ERROR: relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
1
Run Code Online (Sandbox Code Playgroud)
但是在运行文件时,错误被抑制:
% psql -f test.sql my_db
psql:test.sql:1: ERROR: relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
0
Run Code Online (Sandbox Code Playgroud)
知道如何恢复这些错误吗?
Ada*_*tan 13
将此添加到 SQL 文件的第一行即可解决问题:
\set ON_ERROR_STOP 1
Run Code Online (Sandbox Code Playgroud)
新评论(谢谢!)建议以下解决方案:
-v ON_ERROR_STOP=1
-v ON_ERROR_STOP=on
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4249 次 |
最近记录: |