gpt4 book ai didi

postgresql - tuple_only 模式下的 Raise Notice 函数

转载 作者:行者123 更新时间:2023-11-29 12:21:00 24 4
gpt4 key购买 nike

几周来我一直在做一些研究,发现了一些在 postgres 中使用 Raise Notice 函数稍微清理脚本的建议,我喜欢这个想法。

CREATE OR REPLACE FUNCTION raisenoticefunction(in errorMessage text) 
RETURNS void
AS
$$
BEGIN
RAISE NOTICE '%', errorMessage;
END;
$$
language plpgsql;

因此不必通过所有脚本来执行此操作(由于我们的编码标准,这很常见):

DO LANGUAGE plpgsql $$
BEGIN
RAISE NOTICE 'Creating table customerOrders';
END $$;

我可以做到这一点,它更清晰,更易于阅读和输入:

SELECT raisenoticefunction('Creating table customerOrders');

问题是我只想将这个函数置于 tuple_only 模式。我不希望列标题或丢弃的行页脚与通知一起输出。

我无法在命令行或配置文件中设置 tuple_only 模式,因为我不想为所有功能关闭此模式,因为有些功能可能需要此信息。有谁知道如何将单个函数设置为 tuple_only 模式?

最佳答案

你提到“tuple_only”让我怀疑你在谈论 psql 功能,它是命令行界面,完全独立于 PostgreSQL 本身。

如果我猜对了,这将满足您的要求:

test=# \set QUIET \t \\ SELECT raisenoticefunction('foo'); \t \set QUIET off

NOTICE: foo

\t .. 相当于 \pset tuples_only - 打开/关闭
\set QUIET .. 抑制来自 psql 的反馈
\\ .. 标记参数结束,继续解析SQL命令

More details in the manual.

关于postgresql - tuple_only 模式下的 Raise Notice 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560963/

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