【发布时间】:2021-04-27 11:32:59
【问题描述】:
我正在使用 postgres 并且有一个新的只读用户,该用户对基本模式中的所有表具有读取权限。我试图SELECT 来自基本模式的特定视图的一些数据,并且能够从视图中看到值。为了测试数据计数,我必须在视图定义中进行一些更改,而在 Postgres 中没有办法更改视图,因此我必须使用具有更高权限的旧用户使用新定义的 drop 和 recreate 视图。现在我在 View 上运行相同的 SELECT 查询并收到权限错误。
ERROR: permission denied for view
SQL state: 42501
我再次尝试Grant SELECT on ALL TABLES on Schema base to user 并能够从视图中看到值。我没有得到的是自第一个GRANT 以来我没有更改任何语法,为什么我必须再次运行GRANT SELECT 语句才能让新用户能够访问视图?默认情况下用户不应该已经能够访问所有表和视图
【问题讨论】:
标签: sql postgresql