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