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?