DROP OWNED

DROP OWNED —删除数据库角色拥有的数据库对象

Synopsis

DROP OWNED BY { name | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]

Description

DROP OWNED删除当前数据库中由指定角色之一拥有的所有对象。在当前数据库中的对象或共享对象(数据库,表空间)上授予给定角色的任何特权也将被撤销。

Parameters

  • name

    • 一个角色的名称,该角色的对象将被删除,其特权将被撤销。
  • CASCADE

    • 自动删除依赖于受影响对象的对象,并依次删除依赖于那些对象的所有对象(请参见Section 5.13)。
  • RESTRICT

    • 如果任何其他数据库对象依赖于受影响的对象之一,则拒绝删除角色拥有的对象。这是默认值。

Notes

DROP OWNED通常用于准备删除一个或多个角色。因为DROP OWNED仅影响当前数据库中的对象,所以通常需要在每个数据库中执行此命令,该数据库包含要删除的角色所拥有的对象。

使用CASCADE选项可能会使命令递归到其他用户拥有的对象。

REASSIGN OWNED命令是另一种选择,它重新分配一个或多个角色拥有的所有数据库对象的所有权。但是,REASSIGN OWNED不处理其他对象的特权。

角色拥有的数据库和表空间将不会被删除。

有关更多讨论,请参见Section 21.4

Compatibility

DROP OWNED命令是 PostgreSQL 扩展。

See Also

REASSIGN OWNED, DROP ROLE