Postgresql plpgsql:raise NOTIONE输出仅在pgAdmin中显示
postgresql 9.4。我有一个函数Postgresql plpgsql:raise NOTIONE输出仅在pgAdmin中显示,postgresql,plpgsql,Postgresql,Plpgsql,postgresql 9.4。我有一个函数 CREATE OR REPLACE FUNCTION test(source_ text) RETURNS text AS $BODY$ DECLARE BEGIN raise debug '%s', source_; return source_ || ' processed'; END $BODY$ LANGUAGE plpgsql STABLE COST 100; ALTER FUNCTION test()
CREATE OR REPLACE FUNCTION test(source_ text)
RETURNS text AS
$BODY$
DECLARE
BEGIN
raise debug '%s', source_;
return source_ || ' processed';
END
$BODY$
LANGUAGE plpgsql STABLE
COST 100;
ALTER FUNCTION test()
OWNER TO test;
select * from test('input');
我只能从pgAmin中看到通知,但从ide或toad(以及其他一些)db客户机中看不到通知。
如何打开“raisenotice”的输出,或者可能有其他方法来获取调试信息
更新
我找到了一个解决方法:tail-F作为日志文件,并在postgresql.conf中设置log\u min\u消息您需要调整
客户端\u min\u消息
,例如:
set client_min_messages = 'debug';
更多信息,请参阅
test=# create or replace function test() returns int as $$
begin
raise debug 'foo';
return 1;
end
$$ language plpgsql immutable;
CREATE FUNCTION
test=# select test();
test
------
1
(1 row)
test=# set client_min_messages = 'debug';
SET
test=# select test();
DEBUG: foo
test
------
1
(1 row)
test=#
如何打开“提高通知”的输出…
但您没有使用提高通知
,而是使用提高调试
。好的,这是一个错误。但它可以是任何信息。pgAdmin在“消息”选项卡上显示它们,但其他客户端没有,或者我找不到它们。谢谢。它在psql中工作,需要在每次连接之前执行。pgAdmin显示消息,但“蟾蜍”、“navicat”和其他一些即使我设置了客户机\u min\u消息,也不会显示消息。@jNess:这些客户机需要在执行语句后主动检索消息。由于这是特定于DBMS的,我假设那些多DBMS工具不会这样做。谢谢!在PSQL11上工作!