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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general