Как получить error detail ?

Привет всем!
У меня следующая проблема:

Делаю некую функцию для вставки значений в таблицу, в таблице есть первичный ключ.
При вызове функции со значением ключа, который уже есть в таблице получаю сообщение

ERROR:  duplicate KEY value violates UNIQUE constraint "test_pkey"
DETAIL:  KEY (n)=(2) already EXISTS.

далее добавляю в функцию раздел исключений:

EXCEPTION 
WHEN others THEN
RAISE LOG 'WARNING! Error! %', SQLERRM;
RETURN false;

теперь при вызове получаю сообщение об ошибке в лог-файле, но сообщение содержит только
WARNING! Error!  duplicate KEY value violates UNIQUE constraint "test_pkey"

Вопрос :
как перехватить
DETAIL:  KEY (n)=(2) already EXISTS.

В доках и на форумах не могу найти :(

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Единственное, что я нашёл в гугле

http://postgresql.1045698.n5.nabble.com/Error-details-in-sql-and-plpgsql...

Там же с датой Jun 22, 2011 написано, что:
"Patch for access to hint, detail, context is in process this commitfest. "

Таким образом, я делаю вывод, что пока что детали можно получить только в программе на языке C, а для SQL уже написан патч, но он ещё в процессе принятия в апстрим.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023