# 掉落拥有
DROP OWNED — 删除数据库角色拥有的数据库对象
# 概要
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
# 描述
掉落拥有
删除当前数据库中由指定角色之一拥有的所有对象。在当前数据库中的对象或共享对象(数据库、表空间)上授予给定角色的任何特权也将被撤销。
# 参数
姓名
将删除其对象以及将撤销其权限的角色的名称。
级联
自动删除依赖于受影响对象的对象,并依次删除依赖于这些对象的所有对象(请参阅第 5.14 节)。
严格
如果任何其他数据库对象依赖于受影响的对象之一,则拒绝删除角色拥有的对象。这是默认设置。
# 笔记
掉落拥有
通常用于准备删除一个或多个角色。因为掉落拥有
仅影响当前数据库中的对象,通常需要在每个包含要删除的角色拥有的对象的数据库中执行此命令。
使用级联
选项可能会使命令递归到其他用户拥有的对象。
这重新分配拥有
命令是一种替代方法,它重新分配一个或多个角色拥有的所有数据库对象的所有权。然而,重新分配拥有
不处理其他对象的特权。
角色拥有的数据库和表空间不会被删除。
看第 22.4 节进行更多讨论。
# 兼容性
这掉落拥有
命令是 PostgreSQL 扩展。