1、在PostgreSQL安装过程中的数据初始化阶段,系统会默认创建一个名为postgres的角色(同时会创建一个名为postgres的同名database)。

2、可以通过ident身份验证机制来将操作系统的的root用户映射到数据的Postgresql角色,这样可以实现root用户无密码直接登录

3、创建具备登录权限的角色

postgres=# create role leo login password 'king' createdb valid until 'infinity';

valid行是可选的,其功能是为此角色的权限设定有效期,过期后所有权限都将失效,默认时限是infinity,即永不过期。

createdb修饰符表明为此角色赋予了创建数据库的权限

4、创建具备超级用户权限的角色

postgres=# create role regina login password 'queen' superuser valid until '2019-1-1 00:00';

5、创建组角色

postgres=# create role royalty INHERIT;

INHERIT表示组角色royalty的任何一个成员角色都将自动继承其除“超级用户权限”外的所有权限。

将组角色的权限授予其成员角色

postgres=# grant royalty to leo;
postgres=# grant royalty to regina;