gpt4 book ai didi

postgresql - 如何从 psql -f my_script.sql 调用的脚本中引发错误

转载 作者:行者123 更新时间:2023-11-29 13:41:12 26 4
gpt4 key购买 nike

我在通过执行 psql -f my_script.sql 调用的 sql 脚本中执行以下操作:

select not exists(select 1 from pg_class where relname='my_table') as my_table_not_exists
\gset
\if :my_table_not_exists
-- raise error
\endif

我如何返回一个非 0 的状态代码并将 table 'table_name' doesn't exist 写入那里的 stderr?

最佳答案

您可以设置ON_ERROR_STOP,然后使用该表,然后您将收到所需的错误消息,处理将终止:

\set ON_ERROR_STOP on
SELECT * FROM my_table WHERE FALSE;

您可以将任意消息输出到标准输出:

\! echo 'Hello!' 1>&2

但是除了导致数据库错误之外,没有办法用非零返回码退出psql

也许您应该使用带有 psql 协同进程的 bash 脚本来进行更花哨的处理。

关于postgresql - 如何从 psql -f my_script.sql 调用的脚本中引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55215177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com