Re: plpgsql, Exception handling: catching the message ? - Mailing list pgsql-general

From Pavel Stehule
Subject Re: plpgsql, Exception handling: catching the message ?
Date
Msg-id AANLkTikknkay=1LEeDeWdR0n-_sz+Ju=qFt-ut3ZdWcD@mail.gmail.com
Whole thread Raw
In response to plpgsql, Exception handling: catching the message ?  ("Marc Mamin" <M.Mamin@intershop.de>)
List pgsql-general
Hello

2010/11/18 Marc Mamin <M.Mamin@intershop.de>:
>
> Hello,
>
> In an exception block, we can check the error code.
> Is there a way to get the message and possibly the detail too ?
>

yes, but you need a 8.4 as minimum

http://www.postgresql.org/docs/8.4/interactive/plpgsql-errors-and-messages.html

Regards

Pavel Stehule

>
>
> ereport(ERROR, \
>        (errcode(ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION), \
> =>       errmsg("could not establish connection"), \
> =>       errdetail("%s", msg))); \
>
>
>
> background:  (Version 8.3.12)
> dblink seems to sometimes only provides information of the remote
> exception in the message, with a misleading errcode:
>
>
>        select * from dblink_send_query ('c', 'create table my_share4( a
> int)');
>        select * from dblink_get_result('c') as t1(f1 text);
>
>
>        ERROR:  sql error
>        DETAIL:  ERROR:  relation "my_share4" already exists
>
>        ********** Error **********
>
>        ERROR: sql error
>        SQL state: 42601     (<= SYNTAX ERROR)
>        Detail: ERROR:  relation "my_share4" already exists  (=>
> DUPLICATE TABLE)
>
>
>
> best regards,
>
> Marc Mamin
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

pgsql-general by date:

Previous
From: "Marc Mamin"
Date:
Subject: plpgsql, Exception handling: catching the message ?
Next
From: Sim Zacks
Date:
Subject: restore encoding problem