DROP ROLE

删除数据库角色。

概要

DROP ROLE [IF EXISTS] name [, ...]

描述

DROP ROLE删除指定的角色。 要删除超级用户角色,您必须自己是超级用户。 要删除非超级用户角色,您必须具有CREATEROLE特权。

如果仍在任何数据库中引用角色,则无法删除该角色;如果是这样,将引发错误。 在删除角色之前,必须删除其拥有的所有对象(或重新分配其所有权),并撤消已授予该角色在其他对象上的所有特权。 REASSIGN OWNED和DROP OWNED命令可用于此目的。

但是,不必删除涉及该角色的角色成员资格; DROP ROLE自动撤消其他角色中的目标角色以及目标角色中的其他角色的所有成员身份。 其他角色不会丢失,也不会受到其他影响。

参数

IF EXISTS

  • 如果该角色不存在,请不要报错。在这种情况下会发出通知。

name

  • 要删除的角色名称。

示例

删除名为sally和bob的角色:

DROP ROLE sally, bob;

兼容性

SQL标准定义了DROP ROLE,但一次只允许删除一个角色, 并且它指定的特权要求与MatrixDB数据库使用的特权要求不同。

另见

ALTER ROLE , CREATE ROLE