Postgresql 中文操作指南

DROP OWNED

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

Synopsis

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

Description

DROP OWNED 删除当前数据库中归一个指定的角色所有的所有对象。还将撤销授予当前数据库中的对象或共享对象(数据库、表空间、配置参数)上的给定角色的任何权限。

Parameters

  • name

    • 将删除其对象和撤销其权限的角色名称。

  • CASCADE

    • 自动删除依赖于受影响对象的对象,并反过来删除所有依赖于这些对象的数据库(请参阅 Section 5.14 )。

  • RESTRICT

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

Notes

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

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

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

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

有关更多讨论,请参阅 Section 22.4

Compatibility

DROP OWNED 命令是 PostgreSQL 的扩展。

See Also