Search Postgresql Archives

Re: Getting more detail in plpython error messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Ross <jross@xxxxxxxxxxxxxx> 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






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux