Thread: suppress notices from inside a stored a plpgqsl function
Hi:
I have a plpgsql function that has this...
drop table if exists tmp_diff_blkviews;
Even with the "if exists", I still get...
NOTICE: table "tmp_diff_blkviews" does not exist, skipping
CONTEXT: SQL statement "drop table if exists tmp_diff_blkviews"
PL/pgSQL function dvm.blkview_diffs(character varying,character varying) line 6 at SQL statement
CONTEXT: SQL statement "drop table if exists tmp_diff_blkviews"
PL/pgSQL function dvm.blkview_diffs(character varying,character varying) line 6 at SQL statement
I want to suppress that. Even if the temp table exists, I don't want to hear about how it had to delete the table. Just delete it if it exists and be quiet about it.
This function is being called through perl/dbi. So client side command line set options, or anything like that, is no good. Is there way to control messaging from inside the function ?
On 11/27/23 12:51, David Gauthier wrote: > Hi: > > I have a plpgsql function that has this... > > drop table if exists tmp_diff_blkviews; > > Even with the "if exists", I still get... > > NOTICE: table "tmp_diff_blkviews" does not exist, skipping > CONTEXT: SQL statement "drop table if exists tmp_diff_blkviews" > PL/pgSQL function dvm.blkview_diffs(character varying,character varying) > line 6 at SQL statement > > I want to suppress that. Even if the temp table exists, I don't want > to hear about how it had to delete the table. Just delete it if it > exists and be quiet about it. > > This function is being called through perl/dbi. So client side command > line set options, or anything like that, is no good. Is there way to > control messaging from inside the function ? > Per here: https://www.postgresql.org/docs/current/plpgsql-errors-and-messages.html#PLPGSQL-STATEMENTS-RAISE "Whether messages of a particular priority are reported to the client, written to the server log, or both is controlled by the log_min_messages and client_min_messages configuration variables. See Chapter 20 for more information." I have not tried it but maybe SET client_min_messages to something above NOTICE in the function. Or as part of the function creation: https://www.postgresql.org/docs/current/sql-createfunction.html SET configuration_parameter { TO value | = value | FROM CURRENT } -- Adrian Klaver adrian.klaver@aklaver.com