DROP OWNED — 删除由数据库角色拥有的数据库对象
DROP OWNED BY { name
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
DROP OWNED
删除当前数据库中由指定角色之一拥有的所有对象。还会撤销授予给当前数据库中的对象或共享对象(数据库、表空间、配置参数)上给定角色的任何权限。
name
将删除其对象并撤销其权限的角色的名称。
CASCADE
自动删除依赖于受影响对象的对象,并依次删除依赖于这些对象的所有对象(参见第 5.14 节)。
RESTRICT
如果任何其他数据库对象依赖于某个受影响对象,则拒绝删除由角色拥有的对象。这是默认值。
DROP OWNED
通常用于准备删除一个或多个角色。由于 DROP OWNED
仅影响当前数据库中的对象,因此通常需要在包含要删除的角色所拥有对象的每个数据库中执行此命令。
使用 CASCADE
选项可能会使命令递归到其他用户拥有的对象。
REASSIGN OWNED
命令是一种替代方法,它重新分配一个或多个角色拥有的所有数据库对象的归属。但是,REASSIGN OWNED
不处理其他对象的权限。
不会删除由角色拥有的数据库和表空间。
有关更多讨论,请参见第 22.4 节。
DROP OWNED
命令是 PostgreSQL 扩展。