定义新数据库角色。
语法
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;