Skip to content

DROP OWNED

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

语法

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

描述

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

参数

name

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

CASCADE

自动删除依赖于受影响对象的对象,并依次删除依赖于这些对象的所有对象(参见第 5.14 节)。

RESTRICT

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

注释

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

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

REASSIGN OWNED命令是一种替代方法,它重新分配一个或多个角色拥有的所有数据库对象的归属。但是,REASSIGN OWNED不处理其他对象的权限。

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

有关更多讨论,请参见第 22.4 节

兼容性

DROP OWNED命令是PostgreSQL扩展。

另请参见

REASSIGN OWNEDDROP ROLE