2017-02-09 15 views
0

У меня есть следующая функция для обработки исключения.PostgreSQL 9.5: Обработка исключений регистрации

create or replace function fun_test(a varchar) returns void as 
$$ 
begin 

insert into test values(a); 

exception when others 
then 
raise info '%',SQLSTATE; 

end; 
$$ 

выше функция дает мне выход:

ВЫВОД:

INFO: 42804 

Примечание: Я хочу, чтобы записать один и тот же выход в * .log файл.

+0

очень многое зависит от того, где вы хотите его - если войти Postgres, а затем просто поднять предупреждение и изменить posgtres.conf войти предупреждения, если вы хотите в другом файле на сервере, вы можете использовать 'COPY', но он не будет прикреплен к файлу и т. д. ... пожалуйста, сообщите нам подробности - что именно вы привыкли, а не только' * .log' –

+0

Я хочу это в журнале postgres. – MAK

ответ

1

check docs:

log_min_messages (перечисления) управления, какие уровни сообщений написаны на журнал сервер. Допустимые значения: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL и PANIC. Каждый уровень включает в себя все уровни, которые следуют за ним. Чем позже уровень, меньше сообщений отправляются в журнал. По умолчанию используется ПРЕДУПРЕЖДЕНИЕ. Обратите внимание, что LOG имеет здесь отличный ранг, чем в client_min_messages. Только суперпользователи могут изменить эту настройку.

Если вы установите его INFO, ваш выход рейз появится в Postgres бревен