2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不受支持的版本: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

提交更正

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