定义新数据库角色。

语法

CREATE ROLE name [IDENTIFIED BY password [REPLACE old_password]]

说明

CREATE ROLE 可向PolarDB PostgreSQL版(兼容Oracle)数据库集群添加新角色。角色是可以拥有数据库对象并具有数据库特权的实体。角色可根据其使用方式,被视为“用户”、“组”或二者。新创建的角色不具备 LOGIN 属性,因而无法启动会话。可使用 ALTER ROLE 命令向角色授予 LOGIN 权限。必须具备 CREATEROLE 特权或成为数据库超级用户,才能使用 CREATE ROLE 命令。

如果指定 IDENTIFIED BY 子句,则 CREATE ROLE 命令还将创建一个 schema,该 schema 由新创建的角色所拥有并具有与之相同的名称。

说明 角色是在数据库集群级别定义的,因此在集群的所有数据库中都有效。

参数

参数说明
name新角色的名称。
IDENTIFIED BY password设置角色的密码。(密码仅用于具有 LOGIN 属性的角色,但也可以为不具备该属性的角色定义密码。)如果未计划使用密码验证,则可省略此选项。

注释

可使用 ALTER ROLE 更改角色的属性,并使用 DROP ROLE 删除角色。通过 CREATE ROLE 指定的属性,之后可以通过 ALTER ROLE 命令进行修改。

可使用 GRANT 和 REVOKE 添加和删除要用作组的角色成员。

角色名称和密码的最大长度限制为 63 个字符。

示例

创建名为 admins 且具有密码的角色(和 schema):

CREATE ROLE admins IDENTIFIED BY Rt498zb;