PostgreSQL 与 MogDB/openGauss 之 角色

概述

MogDB/openGauss是基于PostgreSQL开发的,对象角色这部分数据库对象在兼容PG的基础上,又做了一些功能增强,本章内容做一个关于用户角色在两类数据库之间的对比。
MogDB/openGauss 用户 and PostgreSQL 用户

PostgreSQL14 MogDB3.0.0
用户与角色关系 用户是角色别名 同 PG
用户属性 共13个 共25个
内置角色 共8个 共8个
系统表/视图 pg_roles
pg_user
pg_authid
pg_auth_members
同 PG
角色管理 create/drop/alter user/role … 同 PG
添加/删除角色成员 grant rolegroup to user;
revoke rolegroup from user;
同 PG
角色继承 具有inherit属性成员拥有组角色的所有权限 同 PG
角色切换 SET ROLE role_name 
SET ROLE NONE 
RESET ROLE
SET ROLE role_name PASSWORD ‘password’;
RESET ROLE;
用户安全策略 - 自身参数控制
密码安全策略 passwordcheck 扩展 自身参数控制
三权分立功能 - 系统管理员、安全管理员、审计管理员
初始化用户 超级管理员用户 非三权分立:超管;
三权分立:不具有CREATEROLE和AUDITADMIN权限
私有用户 - 系统管理员无法访问私有用户对象的数据
默认角色组 PUBLIC PUBLIC
同名schema - 随用户创建
public 模式 默认有usage和creat权限 需要手工赋权

用户属性

用户属性只能通过create/alter user/role的方式添加或修改,不支持grant/revoke。

PG

SUPERUSER | NOSUPERUSER --超管 CREATEDB | NOCREATEDB --创建DB CREATEROLE | NOCREATEROLE --创建用户 INHERIT | NOINHERIT --权限继承 LOGIN | NOLOGIN --登录 REPLICATION | NOREPLICATION --复制 BYPASSRLS | NOBYPASSRLS --行级访问 CONNECTION LIMIT --连接数限制 PASSWORD --密码 VALID UNTIL --角色失效时间 IN ROLE --属于哪个角色组 ROLE --包含哪些成员角色 ADMIN --同role,但具有WITH ADMIN OPTION