我在Postgres的搜索異常處理程序,它說添加如何在postgres中做全局異常處理程序?
DECLARE
text_var1 text;
text_var2 text;
text_var3 text;
BEGIN
-- some processing which might cause an exception
...
EXCEPTION WHEN OTHERS THEN
GET STACKED DIAGNOSTICS text_var1 = MESSAGE_TEXT,
text_var2 = PG_EXCEPTION_DETAIL,
text_var3 = PG_EXCEPTION_HINT;
-- call a function which log all this variable perform log_function (text_var1 ,text_var2 , text_var3);
END;
如果我這樣做,對於每一個功能是這有效嗎?
任何性能缺乏這種方法?
我們不能爲所有函數設置全局異常處理程序嗎?在這種方法中,我爲每個函數添加了異常處理程序。
然後將它們保存在變量中並保存日誌。我們可以有任何全球性的錯誤處理程序嗎?
編輯
我必須登錄所有的異常來Postgres裏到表。我正在關注這一步。
1)寫在所有的功能GET堆積塊(如果我有20功能然後我在所有功能寫塊)
2)比表然後登錄。
我要的是應該有機制在Postgres的全局異常處理程序,所以我根本不寫得到的Postgres STACKED EXCEPTION塊的所有功能
yes - 你可以記錄錯誤記錄並使用csv日誌格式將其導入到表格中 - 我認爲這是捕捉所有異常的意思方式 –