可以访问表和函数,但不能访问函数

时间:2018-01-20 00:33:17

标签: postgresql

我的数据库遇到了一个特殊问题,我从昨天起就无法解决这个问题。

所以我创建了一个可以访问函数的用户" write_match_history()"并访问表" match_history,"我可以使用此用户查询匹配历史记录以及使用sql直接写入它。但是,当我尝试运行" write_match_history时,"我收到以下错误:

error:  error: permission denied for relation match_history

以下是我已授予此用户的访问权限:

drop OWNED by d_write;
drop user if exists d_write;
create user d_write with encrypted password 'supersecret';
grant execute on function write_match_history(a,b,c,d,e,f) to d_write;
grant usage on schema d to d_write;
grant insert on table d.match_history to d_write;
grant select on table d.match_history to d_write;
grant select on all SEQUENCES in SCHEME d to d_write;
grant insert on all tables in schema d to d_write;
grant select on all talbes in schema d to d_write;

这些权限是我迄今为止尝试过的所有内容。如果您需要更多信息,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分:0)

嗯,函数write_match_history(a,b,c,d,e,f)的所有者是什么。是否允许在表match_history上插入/更新。如果没有,请尝试一下。我认为问题出在这里。