我在custom_variable_class= myapp
中创建postgresql.conf
。并将值设置在函数内部,如
CREATE OR REPLACE FUNCTION fn_purchase(xmode text, xuserno integer)
RETURNS text AS
set myapp.user_no=xuserno
..........
..........
END;
现在我在触发器中使用myapp.user
CREATE OR REPLACE FUNCTION public.delete_history()
RETURNS trigger AS
$BODY$
DECLARE userno text;
BEGIN
SELECT current_setting('myapp.user_no') into userno;
END;
$BODY$
如果设置userno
为integer
,则会显示错误消息。
invalid input syntax for integer: "xuserno".
和
SELECT current_setting('myapp.user_no')
显示xuserno
而非xuserno value
。这意味着xuserno=5
显示xuserno
而非5
。我做错了什么?
答案 0 :(得分:1)
你的问题非常微妙:
根据文档而不是:
custom_variable_class= myapp
你应该
custom_variable_classes='myapp'
请注意,custom_variable_classes
旨在用于为多个插件设置多个类。
从那里开始,根据上面的评论,这应该有效。