使用命令行检查一个请求是否失败

时间:2015-05-04 10:18:59

标签: postgresql shell command-line

我将这两个请求放在一个文件中:

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命令运行时没有执行错误)。这似乎很公平。

我想知道如果链接文件中的一个查询失败,是否有任何方法可以获得不同的返回码?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

在脚本的第一行,添加\set ON_ERROR_STOP on。当脚本失败时,psql将返回退出代码3。