我正在postgresql.conf
中创建custom_variable_class= myapp
。并将值设置在函数内部,例如
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
。我做错了什么吗?
最佳答案
你的问题是一个非常微妙的问题:
根据文档而不是:
custom_variable_class= myapp
你应该有
custom_variable_classes='myapp'
请注意,custom_variable_classes
旨在用于为多个插件设置多个类。
从那里,根据上面的评论,这应该可行。
关于postgresql - 如何使用custom_variable_class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761961/