Re: [proposal] Add an option for returning SQLSTATE in psql error message

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: [proposal] Add an option for returning SQLSTATE in psql error message
Дата
Msg-id CAFj8pRBFWn_kahD78ABGyJPrWiFNiiwm08Oz5+ahW9-kP7yJRw@mail.gmail.com
обсуждение исходный текст
Ответ на [proposal] Add an option for returning SQLSTATE in psql error message  (didier <did447@gmail.com>)
Список pgsql-hackers


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.

Regards

Pavel

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Rafia Sabih
Дата:
Сообщение: Re: Compressed TOAST Slicing
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [proposal] Add an option for returning SQLSTATE in psql error message