Postgres:即使授予了授权,架构的权限也被拒绝

时间:2018-10-16 08:09:52

标签: postgresql grant

我正在运行Postgres 10.4,目前困惑不解,因为我似乎无法将模式的访问权限授予其他角色。

我想做什么:

我在一个模式中有一个角色,并且想从另一个角色访问该模式及其表。因此,我做了平常的工作(与其他模式一起工作):

grant usage on schema myschema to newuser;

grant select on all tables in schema myschema to newuser;

这两个语句均以架构所有者的身份运行。这样做时我没有遇到任何错误。

当我以新用户身份登录并尝试选择一些数据时:

select * from myschema.table;

我得到了错误:

SQL Error [42501]: ERROR: permission denied for schema myschema

我可以看到表“ information_schema.role_table_grants”中的新用户具有正确的特权

它还与另一个角色和另一个架构一起工作。我一无所知。

2 个答案:

答案 0 :(得分:1)

它确实可以在我的问题中发布,但问题是我没有使用架构的所有者。

因此,请始终确保您授予所有者角色对架构的访问权限。

答案 1 :(得分:0)

第1步
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA name_schema TO name_user;

第2步
GRANT USAGE ON SCHEMA name_schema TO name_user;