Re: Exception messages -> application?

From: Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Exception messages -> application?
Date: 2008-04-04 22:14:40
Message-ID: 20080404221440.GB6096@merkur.hilbert.loc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Apr 04, 2008 at 12:02:20PM -0700, Frank Miles wrote:

> I have a moderately DB-ignorant question: is there a "built-in" way for an
> application to receive the message emitted by a RAISE .... in a PgSQL function?
>
> Context: I have a moderately complex application (in python, using psycopg2)

psycopg2 does a pretty good job of converting any PostgreSQL
side exceptions into Python exceptions which are then
getting raised in your Python code. Unless you explicitely
silence/catch PG exceptions inside your plpgsql code you
should be seeing them turn up in Python.

There's a bunch of arguments on the Python exception raised.

try:
...
except TheExceptionType, e:
print dir(e)

might help with that.

Also, you may need to fiddle with the PG client logging
settings (in postgresql.conf) which control what level of
detail of error information is getting sent to the client in
the first place.

BTW, are you talking about RAISE EXCEPTION or RAISE NOTICE ?

Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Gregory Stark 2008-04-04 22:20:10 Re: modules
Previous Message Teodor Sigaev 2008-04-04 21:58:07 Re: Direct access to GIST structure