On Wed, Aug 21, 2013 at 9:22 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Marko Tiikkaja <ma...@joh.to> writes: >> By default, PL/pgSQL does not print the error context of a RAISE >> statement, for example: > > It used to do so, in the beginning when we first added context-printing. > There were complaints that the result was too verbose; for instance if you > had a RAISE NOTICE inside a loop for progress-monitoring purposes, you'd > get two lines for every one you wanted. I think if we undid this we'd > get the same complaints again. I agree that in complicated nests of > functions the location info is more interesting than it is in trivial > cases, but that doesn't mean you're not going to hear such complaints from > people with trivial functions.
It *is* (apologies for the hijack) too verbose but whatever context suppressing we added doesn't work in pretty much any interesting case. What is basically needed is for the console to honor log_error_verbosity (which I would prefer) or a separate GUC in manage the console logging verbosity: set log_error_verbosity = 'terse'; SET CREATE OR REPLACE FUNCTION Notice(_msg TEXT) RETURNS VOID AS $$ BEGIN RAISE NOTICE '[%] %', clock_timestamp()::timestamp(0)::text, _msg; END; $$ LANGUAGE PLPGSQL; CREATE OR REPLACE FUNCTION foo() RETURNS VOID AS $$ BEGIN PERFORM Notice('test'); END; $$ LANGUAGE PLPGSQL; -- context will print postgres=# select foo(); NOTICE: [2013-08-21 09:52:08] test CONTEXT: SQL statement "SELECT Notice('test')" PL/pgSQL function foo() line 4 at PERFORM CREATE OR REPLACE FUNCTION bar() RETURNS VOID AS $$ SELECT Notice('test'); $$ LANGUAGE SQL; -- context will not print postgres=# select bar(); NOTICE: [2013-08-21 09:54:55] test -- context will print CREATE OR REPLACE FUNCTION baz() RETURNS VOID AS $$ select 0; SELECT Notice('test'); $$ LANGUAGE SQL; postgres=# select baz(); NOTICE: [2013-08-21 09:55:26] test CONTEXT: SQL function "baz" statement 2 merlin -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers