plpgsql, Exception handling: catching the message ?

Поиск
Список
Период
Сортировка
От Marc Mamin
Тема plpgsql, Exception handling: catching the message ?
Дата
Msg-id C4DAC901169B624F933534A26ED7DF31034BB90F@JENMAIL01.ad.intershop.net
обсуждение исходный текст
Ответы Re: plpgsql, Exception handling: catching the message ?
Список pgsql-general
Hello,

In an exception block, we can check the error code.
Is there a way to get the message and possibly the detail too ?



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



В списке pgsql-general по дате отправления:

Предыдущее
От: joe
Дата:
Сообщение: Compare database tables in Postgres
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: plpgsql, Exception handling: catching the message ?