权限访问表,视图和功能

时间:2011-07-18 10:09:44

标签: sql postgresql

我有一个View A,它将从视图B中选择数据。我只希望用户(比如说Peter)对视图A具有只读访问权限,但无法从视图B中进行选择。所以我授予他在视图A上只有SELECT权限,在视图B上只有REFERENCES。它工作得很好。

现在,我有一个函数A,它将从表B中选择数据,我希望Peter可以执行函数A但不能从表B中选择数据。所以,我做同样的事情授予彼得只有{ {1}}位于功能A上,EXECUTE位于表B右侧。但是,当peter执行函数A时,它无法工作并抛出错误消息REFERENCES。为什么这次不起作用?

1 个答案:

答案 0 :(得分:1)

我怀疑你正在寻找security definer

顺便说一句,要警惕leaky view problem。它尚未完全修复。