预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。
DROP OWNED
DROP OWNED — 移除一个数据库角色所拥有的数据库对象
大纲
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
描述
DROP OWNED 删除当前数据库中由指定角色之一拥有的所有对象。同时,授予给这些角色的、针对当前数据库中的对象或共享对象(数据库、表空间、配置参数)的任何权限也会被撤销。
参数
注解
DROP OWNED 经常被用来为移除一个或多个角色做准备。因为 DROP OWNED 只影响当前数据库中的对象,所以通常需要在包含待移除角色所拥有对象的每个数据库中执行此命令。
使用 CASCADE 选项可能会使该命令递归到由其他用户拥有的对象。
REASSIGN OWNED 命令提供了另一种选择,它会重新分配由一个或多个角色拥有的所有数据库对象的拥有关系。不过,REASSIGN OWNED 不处理针对其他对象的权限。
由这些角色拥有的数据库和表空间不会被移除。
更多讨论请见第 21.4 节。
兼容性
DROP OWNED 命令是 PostgreSQL 扩展。