作者共发了4篇帖子。
字体大小:较小 - 100% (默认)  内容转换:不转换
 
点击 回复
1558 3
postgresql允许指定用户访问某个schema的所有表的方法
巨大八爪鱼
武林盟主 二十一级
回复
1楼 发表于:2024-7-15 22:20

允许用户访问以后新建的表:
ALTER DEFAULT PRIVILEGES IN SCHEMA 名称 GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO 用户名;

允许用户访问现在已有的表:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA 名称 TO 用户名;

巨大八爪鱼
武林盟主 二十一级
回复
4楼 发表于:2024-7-16 08:58
允许用户访问schema本身(没有这个权限也不能访问schema里面的表):
GRANT USAGE ON SCHEMA 名称 TO 用户名;

如果某些表有serial自增字段,为了保证数据插入成功,还需给这些自增字段添加usage权限:
ALTER DEFAULT PRIVILEGES IN SCHEMA 名称 GRANT USAGE ON SEQUENCES TO 用户名;
 
巨大八爪鱼:给已有的表添加权限:
GRANT USAGE ON ALL SEQUENCES IN SCHEMA 名称 TO 用户名;
  2024-7-16 17:09 回复
巨大八爪鱼
武林盟主 二十一级
回复
5楼 发表于:2024-7-16 17:08
为了保证pg_dump能成功备份数据库,还应该给所有sequence添加select权限。
GRANT SELECT ON ALL SEQUENCES IN SCHEMA 名称 TO 用户名;
ALTER DEFAULT PRIVILEGES IN SCHEMA 名称 GRANT SELECT ON SEQUENCES TO 用户名;
回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
(快捷键:Ctrl+Enter)
本帖信息
点击数:1558 回复数:3
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2024-7-16 17:09
公告板