我在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;
如果我对每个函数都这样做,这是有效的吗?
这种方法有没有性能不足?
我们不能为所有函数都设置一个全局异常处理程序吗?在这种方法中,我为每个函数添加了异常处理程序。
然后将它们保存在变量中,并为此保存日志。我们可以有任何全局错误处理程序吗?
编辑
1) 在all函数中写入GET STACKED块(如果我有20个函数,那么我在all函数中写入此块)
2) 然后记录在表中。
我想要的是在postgres中应该有全局异常处理程序的机制,这样我就不必在postgres中为所有函数编写GET-STACKED异常块