[proposal] Add an option for returning SQLSTATE in psql error message
didier <did447@gmail.com>
From: didier <did447@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-12-02T14:33:56Z
Lists: 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?
Commits
-
Add a "SQLSTATE-only" error verbosity option to libpq and psql.
- 7bac3acab4d5 12.0 landed