从Bash psql引导错误输出

时间:2015-10-23 17:18:36

标签: bash amazon-redshift psql

我正在使用psql连接到Redshift数据库。 Redshift似乎不支持\set ON_ERROR_STOP TRUE所以我不能使用它来停止查询并将某些内容指向错误输出。

是否有另一种方法可以捕获psql连接或查询中的任何错误?因此,如果连接失败或查询未成功,我想抓住错误并抛出另一个命令。

1 个答案:

答案 0 :(得分:2)

你可以发布你的脚本吗? “不支持\set ON_ERROR_STOP TRUE”是什么意思? 当你使用它时,你需要捕获返回值,如:

 psql yourDataBase -U yourUserName <<EOF 
    \set ON_ERROR_STOP TRUE     
    YOUR_SCRIPT az
 EOF
 ERRCODE=$?

因此,ERRCODE将获得价值:

  • 0 =成功,
  • 1&amp; 2 =数据库连接,
  • 3 =脚本代码错误。