绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
HashData 关于表的访问权限的问题
2022-02-16 14:37:59

背景:我们有时候可能希望将 shema 中的现有表以及未来创建的表的 select 权限分配给用户。

在 PostgreSQL 9.0 及以后版本新增了 ALL TABLES IN SCHEMA 语法,是可以实现以上功能需求的。

GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...]
| ALL TABLES IN SCHEMA schema_name [, ...] }
TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
1
2
3
4
5
目前(180411) HashData 的版本是基于

PostgreSQL 8.2.15 (Greenplum Database 4.3.99.00 build frozen) (HashData Warehouse 1.4.0.0 build 1085) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) compiled on Jan 11 2018 18:11:55
1
在 PostgreSQL 8.2.15 中 https://www.postgresql.org/docs/8.2/static/sql-grant.html 可以发现是不支持 ALL TABLES IN SCHEMA 语法的。

GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] tablename [, ...]
TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]
1
2
3
4
因此目前我们没办法将 schema 中未来创建的表的访问权限自动赋予给用户的。只能人工赋予权限。

GRANT SELECT ON MYSCHEMA.NEW_TABLE TO MYUSER;
————————————————
版权声明:本文为CSDN博主「GaryZhang000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhang50303/article/details/79891809

分享好友

分享这个小栈给你的朋友们,一起进步吧。

HashData
创建时间:2022-02-16 10:39:02
HashData
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • gaokeke123
    专家
戳我,来吐槽~