У меня проблема с уведомлением при возникновении исключения.
Допустим, мой запрос содержит два оператора вставки.
do $$
begin
insert into ...
insert into ...
exception when others then
raise notice '% %', SQLERRM, SQLSTATE;
end; $$
language 'plpgsql';
Я хочу вернуть сообщение об ошибке и код.
В настоящее время ничего не происходит. ЕСЛИ я удаляю 'уведомление'%% ', SQLERRM, SQLSTATE;'
тогда возникает ошибка, но мне нужно ее поймать. Кажется, что «уведомление» не работает.
Вот что я получил в ответ
{"command":"BEGIN","rowCount":null,"oid":null,"rows":[],"fields":[],"_parsers":[],"RowCtor":null,"rowAsArray":true}
{"command":"LOCK","rowCount":null,"oid":null,"rows":[],"fields":[],"_parsers":[],"RowCtor":null,"rowAsArray":true}
{"command":"DO","rowCount":null,"oid":null,"rows":[],"fields":[],"_parsers":[],"RowCtor":null,"rowAsArray":true}
{"command":"COMMIT","rowCount":null,"oid":null,"rows":[],"fields":[],"_parsers":[],"RowCtor":null,"rowAsArray":true}
Postgres 9,4