如何检查.sql脚本执行是否成功?

时间:2019-04-30 12:50:56

标签: bash postgresql psql

我正在使用以下命令加载导出的数据库:

psql -c 'drop database database1'
psql -c 'create database database1'
psql database1 < script.sql

现在,我正在尝试检查最终命令是否成功:

if [[ $? -eq 0 ]]; then
    echo "OK."
else
    echo "Not OK."
fi

总是输出“ OK”。即使script.sql出现错误,退出代码也始终为0:

psql database1 < script.sql
ERROR: constraint "test_id" for relation "test" already exists
echo $?
0

如何确认sql导入成功?

1 个答案:

答案 0 :(得分:1)

您可以检查命令是否抛出如下错误:

psql database1 < script.sql || echo 'error occurred'

双管道||的意思是“做左边部分,如果有错误,做右边部分”。

希望有帮助!