1、在PostgreSQL安装过程中的数据初始化阶段,系统会默认创建一个名为postgres的角色(同时会创建一个名为postgres的同名database)。
2、可以通过ident身份验证机制来将操作系统的的root用户映射到数据的Postgresql角色,这样可以实现root用户无密码直接登录
3、创建具备登录权限的角色
1
|
postgres=#
create
role leo login
password
'king'
createdb valid until
'infinity'
;
|
valid行是可选的,其功能是为此角色的权限设定有效期,过期后所有权限都将失效,默认时限是infinity,即永不过期。
createdb修饰符表明为此角色赋予了创建数据库的权限
4、创建具备超级用户权限的角色
1
|
postgres=#
create
role regina login
password
'queen'
superuser valid until
'2019-1-1 00:00'
;
|
5、创建组角色
1
|
postgres=#
create
role royalty INHERIT;
|
INHERIT表示组角色royalty的任何一个成员角色都将自动继承其除“超级用户权限”外的所有权限。
将组角色的权限授予其成员角色
1
2
|
postgres=#
grant
royalty
to
leo;
postgres=#
grant
royalty
to
regina;
|
本文转自 corasql 51CTO博客,原文链接:http://blog.51cto.com/corasql/1914386,如需转载请自行联系原作者