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;