前端之家收集整理的这篇文章主要介绍了
Postgresql用户角色管理,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PG
数据库的
登录用户和角色是有相互联系的,比起oracle要简单灵活很多。 PG里的
登录用户和角色只有一个区别就是是否能
登录,即login
属性。
@H_
502_0@ 1.创建
登录用户:
CREATE ROLE test LOGIN PASSWORD 'test'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
create role 与 create user 命令是等效的,只是create user 默认是login的,而前者默认是非login的 2.查看系统内
用户 p
sql终端可以用\du或\du+表示 也可查看系统表:select * from pg_roles; 3.应用
登录用户与pg_hba.conf
文件中的设置有关,可以设置其以某种方式
登录某个主机的某个
数据库。 超级
用户不受此限制.
用户可以设置
属性,如ALTER ROLE role_name SET enable_indexscan TO off; 可以让这个
用户去执行
sql时不走索引, 重置:alter role role_name reset xxx; 暂时没发现此用处。 4.角色
属性 login,superuser,createdb,createrole,replication,passwod,inherit。 createrole权限可以允许其创建或
删除其他普通的
用户角色(超级
用户除外) replication权限是做流复制的时候用到的一个
用户属性,一般单独设定。 passwd在
登录时要求指定密码时才会起作用,比如md5或者passwd模式,跟客户端的连接认证方式有关 inherit是
用户组对组员的一个继承标志,成员可以继承
用户组的权限特性 5.
用户组 当很多
用户使用时,需要对每一个人都授权是件比较麻烦的事情,
用户组就是起到将很多
用户拉到一个组里,对这个
用户组授权来
解决每个
用户都需要授权的作用。 创建组
用户,一般不让他
登录: create role group_name;
增加组
用户: grant group_name to role1; grant group_name to role2;
删除组
用户 revoke group_name from role1; revoke group_name from role2; 更复杂地,可以设置
用户组的组。对于死循环的
用户组是不允许的,如a属于b,又包含a
原文链接:https://www.f2er.com/postgresql/196531.html