我将这两个请求放在一个文件中:
select id from "user" where id = 1; // request passes
select from "user"; // request fails
当我在shell中运行以下命令时:
psql -U username -d db_name -h host -p port -f test.sql
echo $?
这将始终提示我 0 (假设凭据正确,并且psql
命令运行时没有执行错误)。这似乎很公平。
我想知道如果链接文件中的一个查询失败,是否有任何方法可以获得不同的返回码?
感谢您的帮助。
答案 0 :(得分:4)
在脚本的第一行,添加\set ON_ERROR_STOP on
。当脚本失败时,psql将返回退出代码3。