Getting more detail in plpython error messages - Mailing list pgsql-general

From Jeff Ross
Subject Getting more detail in plpython error messages
Date
Msg-id 55b1d962-ee85-6fa7-d594-cdd905eb6640@openvistas.net
Whole thread Raw
Responses Re: Getting more detail in plpython error messages
List pgsql-general
Hi all,

In psql a database error will print both ERROR: and DETAIL: lines.

postgres@testdb# delete from inspection where bundle_id in (select id 
from test_archive_20170401.load order by id);
ERROR:  update or delete on table "inspection" violates foreign key 
constraint "inspection_weather_inspection_id_inspection_id_fk" on table 
"inspection_weather"
DETAIL:  Key (id)=(158967) is still referenced from table 
"inspection_weather".

With plpython (both u and 3u) all I see printed is the ERROR part.

     try:
         check = plpy.execute("delete from inspection where bundle_id in 
(select id from test_archive_20170401.load order by id)")
     except plpy.SPIError as e:
         plpy.notice("Error!", e)

postgres@testdb# select * from test_delete();
NOTICE:  ('Error!', ForeignKeyViolation('update or delete on table 
"inspection" violates foreign key constraint 
"inspection_weather_inspection_id_inspection_id_fk" on table 
"inspection_weather"',))

Is there a way to get the DETAIL part as well?

Thanks,

Jeff



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Interesting fail when migrating Pg from Ubuntu Bionic to Focal
Next
From: Andres Freund
Date:
Subject: Re: Interesting fail when migrating Pg from Ubuntu Bionic to Focal