设置 | 登录 | 注册

作者共发了4篇帖子。

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 用户名;
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 用户名;

内容转换:

回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
©2010-2025 Purasbar Ver3.0 [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。