支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:devel
不支持的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

DROP OWNED

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

概要

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

描述

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

参数

name

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

CASCADE

自动删除依赖于受影响的对象以及依次依赖于这些对象的所有对象(请参见第 5.15 节)。

RESTRICT

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

注意

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

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

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

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

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

兼容性

DROP OWNED 命令是 PostgreSQL 扩展。

另请参阅

REASSIGN OWNEDDROP ROLE

提交更正

如果您发现文档中有任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。