DROP ROLE - Amazon Redshift

DROP ROLE

从数据库中删除角色。只有创建角色的角色拥有者、使用 WITH ADMIN 选项的用户或超级用户才能删除角色。

您不能删除已授予用户的角色或依赖此角色的其他角色。

所需的权限

以下是 DROP ROLE 所需的权限:

  • Superuser

  • 角色拥有者,是创建角色的用户,或者是已被授予具有 WITH ADMIN OPTION 权限的角色的用户。

语法

DROP ROLE role_name [ FORCE | RESTRICT ]

参数

role_name

角色的名称。

[ FORCE | RESTRICT ]

默认设置为 RESTRICT。当您尝试删除继承了其他角色的角色时,Amazon Redshift 会返回错误。使用 FORCE 删除所有角色分配(如果存在)。

示例

下面的示例将删除角色 sample_role

DROP ROLE sample_role FORCE;

下面的示例尝试使用默认 RESTRICT 选项删除授予用户的角色 sample_role1。

CREATE ROLE sample_role1; GRANT sample_role1 TO user1; DROP ROLE sample_role1; ERROR: cannot drop this role since it has been granted on a user

要成功删除已授予用户的 sample_role1,请使用 FORCE 选项。

DROP ROLE sample_role1 FORCE;

下面的示例尝试使用默认 RESTRICT 选项删除另一个角色依赖的角色 sample_role2。

CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT sample_role1 TO sample_role2; DROP ROLE sample_role2; ERROR: cannot drop this role since it depends on another role

要成功删除被另一个角色依赖的 sample_role2,请使用 FORCE 选项。

DROP ROLE sample_role2 FORCE;