Kev*_*Kev 7 postgresql logging error-logging session-variables postgresql-9.0
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')
Run Code Online (Sandbox Code Playgroud)
我运行它并查看"消息"选项卡,这是我的INFO消息.
(这可能类似于在运行psql脚本时如何抑制INFO消息,但我不想为我的整个会话禁用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();
Run Code Online (Sandbox Code Playgroud)
我在pgAdminIII查询窗口中运行上面的代码片段,并在"消息"选项卡中显示"不应出现此内容".Quoi?
更新2:我还尝试了log_min_messages以防万一.相同的行为.
Kev*_*Kev 15
我问PostgreSQL的-general邮件列表上,并获得了翔实的答案:什么区别INFO从NOTICE是INFO不具备的水平:它打算总是通过,不管是什么client_min_messages或其他任何设置为,从功能,你会特别要求用于INFO输出.所以在我的情况下,适当的是只NOTICE从我的函数输出.