【问题标题】:How to check if .sql script execution succeeded? [duplicate]如何检查 .sql 脚本执行是否成功? [复制]
【发布时间】:2019-09-19 03:21:43
【问题描述】:

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

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”。退出代码始终为 0,即使 script.sql 以错误完成:

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

如何确认sql导入成功?

【问题讨论】:

标签: bash postgresql psql


【解决方案1】:

您可以检查该命令是否引发如下错误:

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

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

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-21
    • 2020-12-08
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多