私は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 iが20の機能を持っている場合、私はすべての機能では、このブロックを書く)
2)。
何私が欲しいのは、私はPL/pgSQLのブロックにEXCEPTION
句を使用して、すべての機能
はい - ログにエラーを記録し、それをテーブルにインポートするためにcsvログフォーマットを使用できます - これはすべての例外をキャッチする意味のある方法だと思います。 –