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

Check if one request fails with the 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命令运行没有执行错误)。这似乎很公平。

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

感谢您的帮助。

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