Thread: suppress notices from inside a stored a plpgqsl function

suppress notices from inside a stored a plpgqsl function

From
David Gauthier
Date:
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 ? 

Re: suppress notices from inside a stored a plpgqsl function

From
Adrian Klaver
Date:
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