作者共發了4篇帖子。
字體大小:較小 - 100% (默認)  內容轉換:不轉換
 
點擊 回復
1555 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)
本帖信息
點擊數:1555 回複數:3
作者:巨大八爪鱼
最後回覆:巨大八爪鱼
最後回復時間:2024-7-16 17:09
公告板