PostgreSQL笔记-角色创建 (Role)-登录权限-继承权限-set role-set session authorization
PostgreSQL 中使用角色 (role)机制来处理用户身份认证。
拥有登录数据库权限的角色称为可登录角色 (login role)。
角色继承:一个角色可以继承其他角色的权限从而成为其成员角色 (member role);拥有成员角色的角色称为组角色 (group role)。(一个组角色可以是另一个组角色的成员角色,并且这种角色间的继承关系可以有无限多层,但除非你非常有把握能搞定这种多层嵌套关系,否则别这么干,因为你最后一定会把自己搞糊涂。)
登录权限:拥有登录权限的组角色称为可登录的组角色 (group login role)。然而,基于安全性的考虑,数据库管理员一般不会为组角色授予登录权限,因为设计组角色的本意是将其作为一个“权限集合”使用,而不是将其作为一个真正需要登录权限的用户角色来使用。
超级用户:一个角色可被授予超级用户 (SUPERUSER)权限,拥有此权限的角色可以彻底地控制 PostgreSQL 服务,因此授予这种权限时一定要慎重。
创建具备登录权限角色
CREATE ROLE Bob LOGIN PASSWORD '1234' VALID UNTIL 'infinity';
表示创建一个名为Bob,登录口令为1234的角色,valid until ‘infinite’字段表示该角色有效期为永久,可不加该字段默认永久有效。
如需让Bob为超级用户,上面sql代码增加 SUPERUSER字段即可。
创建组角色
- 创建Manager组角色。
CREATE ROLE Manager INHERIT;
请注意关键字 INHERIT 的用法。它表示组角色Ma
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
