On Wed, Apr 18, 2012 at 3:47 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Eliot Gable <egable+pgsql-gene...@gmail.com> writes:
> > On Wed, Apr 18, 2012 at 1:01 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> >> However, there still might be an issue, because the CONTEXT trace that
> >> you showed certainly seemed to point where you thought it did.
>
> > After re-reading the LOCK modes and realizing that ACCESS SHARE is not
> the
> > same as SHARE, I believe you are correct; the only issue seems to be in
> the
> > CONTEXT trace failing to point out that the error occurred three function
> > calls deeper than what was reported. It seems it reported it in the first
> > function where the EXCEPTION handling was set up.
>
> Oh!  Yes, that's to be expected, because so far as Postgres is concerned
> it's logging the location of the RAISE WARNING command.  You've only
> told it to print the SQLERRM string, and nothing else:
>
> RAISE WARNING 'An error occurred while trying to rotate the live user
> activity records; code %: %', SQLSTATE, SQLERRM;
>
> As of 9.2 there is a way to get the context string for the original
> error (GET STACKED DIAGNOSTICS) which you could then include in the
> RAISE message.  That hasn't made it to any released versions
> unfortunately.
>
>                        regards, tom lane
>

Is there a way to print out context in 9.0.1 when doing exception handling
and raising a message? Right now, all I get is my error code, description
of the error, and no idea what the specific statement is that is generating
the error in the first place. Am I missing something, or is this just not
possible in 9.0.1?

Reply via email to