2017-02-09 107 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。每個 級別都包括它後面的所有級別。級別越晚,將更少的消息發送到日誌。默認值是WARNING。請注意, LOG與在client_min_messages中的排名不同。只有 超級用戶可以更改此設置。

如果你將它設置爲INFO,加薪輸出將出現在Postgres的日誌