Postgresql 中文操作指南

DROP ROLE

DROP ROLE — 删除数据库角色

Synopsis

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

Description

DROP ROLE 删除指定的角色。若要删除超级用户角色,您自己必须是超级用户;要删除非超级用户角色,您必须拥有 CREATEROLE 权限,并且在该角色上已被授予 ADMIN OPTION

如果在群集的任何数据库中仍有引用角色,则无法删除该角色;如果确实如此,将会引发一个错误。在删除角色之前,您必须删除其拥有的所有对象(或重新分配其所有权),并吊销授予角色在其他对象上的任何权限。 REASSIGN OWNEDDROP OWNED 命令可用于此目的;有关更多讨论,请参见 Section 22.4

但是,不必删除涉及该角色的角色成员资格; DROP ROLE 会自动吊销目标角色在其他角色中的任何成员资格,以及目标角色中其他角色的成员资格。其他角色不会被删除或受到其他影响。

Parameters

  • IF EXISTS

    • 如果角色不存在,则不要引发错误。在这种情况下,将会发出一个通知。

  • name

    • 要删除的角色的名称。

Notes

PostgreSQL 包含一个程序 dropuser ,其功能与此命令相同(实际上,它调用此命令),但可以从命令 shell 中运行。

Examples

如何废弃角色:

DROP ROLE jonathan;

Compatibility

SQL 标准定义了 DROP ROLE ,但它一次只允许废弃一个角色,并且指定了不同于 PostgreSQL 使用的权限要求。

See Also