微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 尽管“SET client_min_messages TO WARNING”之前的INFO输出

CentOS 6.5上的 postgresql-9.0.15.我有一个输出INFO消息的plperlu函数.我想在测试期间抑制它(使用psql,其行为如下),但我似乎甚至无法从pgAdminIII(win2003的1.18.1)查询窗口中执行此操作:
SET client_min_messages TO WARNING;
select my_info_outputting_function('lalala')

我运行它并查看“消息”选项卡,这是我的INFO消息.

(这可能看起来类似于How to suppress INFO messages when running psql scripts,但我不想为我的整个会话禁用INFO消息,只是其中的一部分,然后将最小值设置为NOTICE.)

我上面的代码片段出了什么问题? client_min_messages不适用于pl / perlu函数吗?

更新:进一步调查后,即使使用plpgsql函数,似乎也会发生这种情况,而不仅仅是plperlu函数

create or replace function my_info_outputting_function() returns void as $$
begin
    raise INFO 'this should not appear...';
    return;
end;
$$language plpgsql;
SET client_min_messages TO WARNING;
select my_info_outputting_function();

我在pgAdminIII查询窗口中运行上面的代码片段,并在“消息”选项卡中显示“不应出现此内容”. Quoi?

更新2:我也试过log_min_messages以防万一.相同的行为.

我在postgresql-general邮件列表上询问并收到了 an informative answer:INFO和NOTICE的区别在于INFO没有级别:无论是client_min_messages还是其他任何设置,它都打算通过函数来​​实现专门为INFO输出打电话.所以在我的情况下,适当的是从我的函数输出NOTICE.

原文地址:https://www.jb51.cc/postgresql/191730.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐