支持的版本: 当前 (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 OWNED, DROP ROLE

提交更正

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