我正在尝试向用户授予函数的权限
postgres=# grant all privileges on function myfunction to a_user;
但我得到:
ERROR: syntax error at or near "to"
LINE 1: grant all privileges on function myfunction to a_user;
有什么原因吗?
我的功能是这样开始的:
CREATE OR REPLACE FUNCTION myfunction(
param_val1 varchar(255),
param_cal2 VARCHAR(255),
param_val3 VARCHAR(255),
param_val4 current_category,
param_val5 current_type,
param_val6 VARCHAR(255),
param_val7 bigint,
param_val8 text )
最佳答案
您需要包含函数签名,而不仅仅是名称。在这种情况下,如果myfunction
的参数为零,则如下所示:
grant all privileges on function myfunction() to a_user;
编辑
鉴于函数确实接受参数,签名如下:
myfunction(character varying, character varying, character varying, <rest of parameters>)
关于postgresql - PostgreSQL:语法错误在或接近TO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25002655/