Re: Getting more detail in plpython error messages
От | Tom Lane |
---|---|
Тема | Re: Getting more detail in plpython error messages |
Дата | |
Msg-id | 206445.1646676401@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Getting more detail in plpython error messages (Jeff Ross <jross@openvistas.net>) |
Ответы |
Re: Getting more detail in plpython error messages
|
Список | pgsql-general |
Jeff Ross <jross@openvistas.net> writes: > 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? It's not very well documented AFAICS, but a SPIError object has a "detail" attribute, so "e.detail" should help you. It looks like you might prefer to print "e.spidata", which seems to contain all the available fields. regards, tom lane
В списке pgsql-general по дате отправления: