PostgreSQL权限管理的一个小细节

打印 上一主题 下一主题

主题 1646|帖子 1646|积分 4938

看到知乎上一个关于MySQL和PostgreSQL的话题的一条评论,无语了,都2025年3月15日了。大多数时间,从互联网上想得到一条客观的观点真的是太难了,其实有差别观点,或贬或褒,只要有理有据都能担当,百花齐放,百家争鸣,辩论是辩论,喷是喷,这就是一个典范的喷子。
看到这个评论,有点无语,当我们面对新事物的时间,履历可以复用,但是不可复印,履历还有可能是把双刃剑,可帮到你,也可以误导你。
当笔者在2018年左右第一次接触PostgreSQL的时间,也遇到了一个一模一样的问题,当时就是用固有的“履历”去设置这个权限,效果“新建的表没有获得事先设置好的权限”,当时查阅了一下资料解决了。没想到有人不但没有解决,还喷了起来。

PostgreSQL中想解决上述问题,如下
  1. --第一步创建用户
  2. create user my_user with password 'my_password';
  3. --第二步创建表
  4. create table myschema.table1
  5. (
  6.         id int
  7. )
  8. --第三部授权用户对schema下表的访问权限,包括了现有的表table1
  9. GRANT USAGE ON SCHEMA myschema TO my_user;
  10. grant select on all tables in schema myschema to my_user;
  11. --第四步再次创建第二张表table2
  12. create table myschema.table2
  13. (
  14.         id int
  15. )
  16. --第五步切换到第一步的用户,发现他有myschema.table1的select权限,没有myschema.table2的select权限,这就是开喷的理由?
  17. select * from myschema.table2;
  18. --如果想要这个用户,对当前这个schema的下现有的表,以及将来的表都有权限,那么需要 default privileges 方式授权
  19. alter default privileges in schema myschema grant select on tables to my_user;
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表