我正在运行 Postgres 10.4 并且目前感到困惑,因为我似乎无法向另一个角色授予对架构的访问权限。
我想做的事:
我有一个具有一个架构的角色,并希望从另一个角色访问该架构及其表。所以我做了通常的(与其他模式一起工作的):
grant usage on schema myschema to newuser;
grant select on all tables in schema myschema to newuser;
Run Code Online (Sandbox Code Playgroud)
这两个语句都是作为模式的所有者运行的。这样做时我没有遇到任何错误。
当我以新用户身份登录并尝试选择一些数据时:
select * from myschema.table;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
SQL Error [42501]: ERROR: permission denied for schema myschema
Run Code Online (Sandbox Code Playgroud)
我可以看到新用户在“information_schema.role_table_grants”表中具有正确的权限
它还与另一个角色和另一个模式一起工作。我一窍不通。
第1步
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA name_schema TO name_user;
第2步
GRANT USAGE ON SCHEMA name_schema TO name_user;
| 归档时间: |
|
| 查看次数: |
12959 次 |
| 最近记录: |