1、在Postgresql安装过程中的数据初始化阶段,系统会默认创建一个名为postgres的角色(同时会创建一个名为postgres的同名database)。
2、可以通过ident身份验证机制来将操作系统的的root用户映射到数据的Postgresql角色,这样可以实现root用户无密码直接登录
3、创建具备登录权限的角色
postgres=#createroleleologinpassword'king'createdbvaliduntil'infinity';
valid行是可选的,其功能是为此角色的权限设定有效期,过期后所有权限都将失效,默认时限是infinity,即永不过期。
createdb修饰符表明为此角色赋予了创建数据库的权限
4、创建具备超级用户权限的角色
postgres=#createrolereginaloginpassword'queen'superuservaliduntil'2019-1-100:00';
5、创建组角色
postgres=#createroleroyaltyINHERIT;
INHERIT表示组角色royalty的任何一个成员角色都将自动继承其除“超级用户权限”外的所有权限。
将组角色的权限授予其成员角色
postgres=#grantroyaltytoleo; postgres=#grantroyaltytoregina;