DROP ROLE

DROP ROLE-删除数据库角色

Synopsis

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

Description

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

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

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

Parameters

  • IF EXISTS

    • 如果角色不存在,请不要引发错误。在这种情况下发出通知。
  • name

    • 要删除的角色的名称。

Notes

PostgreSQL 包含一个与该命令具有相同功能的程序dropuser(实际上,它调用此命令),但是可以从命令 Shell 运行。

Examples

放弃角色:

DROP ROLE jonathan;

Compatibility

SQL 标准定义了DROP ROLE,但是一次只能删除一个角色,并且它指定的特权要求与 PostgreSQL 使用的特权不同。

See Also

CREATE ROLE, ALTER ROLE, SET ROLE