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@xxxxxxxxxxx