[proposal] Add an option for returning SQLSTATE in psql error message - Mailing list pgsql-hackers

From didier
Subject [proposal] Add an option for returning SQLSTATE in psql error message
Date
Msg-id CAJRYxuKyj4zA+JGVrtx8OWAuBfE-_wN4sUMK4H49EuPed=mOBw@mail.gmail.com
Whole thread Raw
Responses Re: [proposal] Add an option for returning SQLSTATE in psql error message  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: [proposal] Add an option for returning SQLSTATE in psql error message  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,

Currently on error psql is printing Postgres' PQerrorMessage text, but
there's no guarantee these messages are constant between Postgres
versions and it's a pain when using psql for writing regression tests,

Prior
  Disallow setting client_min_messages higher than ERROR.

a bad workaround was to discarded error, now you have to do something like
CREATE OR REPLACE FUNCTION catch_error(
    query text
)
    RETURNS void AS $$
DECLARE
BEGIN
        EXECUTE query;
        EXCEPTION WHEN OTHERS THEN
            RAISE 'Query failed: %', SQLSTATE;
END;
$$LANGUAGE plpgsql;

SELECT catch_error('foo');

What about a new \whatever for setting psql error to either PQerrorMessage or
PQresultErrorField(res, PG_DIAG_SQLSTATE) if available?


pgsql-hackers by date:

Previous
From: Lætitia Avrot
Date:
Subject: Re: Markdown format output for psql, design notes
Next
From: Andrey Borodin
Date:
Subject: Re: [HACKERS] Can ICU be used for a database's default sort order?