ne 2. 12. 2018 v 15:34 odesílatel didier <did447@gmail.com> napsal:
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?
It looks weird. Maybe we can define a option where only SQL state will be displayed.