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 的一个扩展。
如果您在文档中发现任何不正确、与您在使用特定功能时的体验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。