DROP OWNED BY { name | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
DROP OWNED删除当前数据库中被指定 角色之一拥有的所有对象。任何已被授予给给定角色在当前数据库中对 象上以及在共享对象(数据库、表空间)上的特权也将会被收回。
其对象将被删除并且其特权将被收回的角色的名称。
自动删除依赖于受影响对象的对象。
如果有任何其他数据库对象依赖于一个受影响的对象, 则拒绝删除一个角色所拥有的对象。这是默认值。
DROP OWNED常常被用来为移除一个 或者多个角色做准备。因为DROP OWNED 只影响当前数据库中的对象,通常需要在包含将被移除角色所拥有的对象 的每一个数据库中都执行这个命令。
使用CASCADE选项可能导致这个命令递归去删除由其他 用户所拥有的对象。
REASSIGN OWNED命令是另一种选择, 它可以把一个或多个角色所拥有的所有数据库对象重新授予给其他角色。 不过,REASSIGN OWNED不处理其他对象的权限。
角色所拥有的数据库、表空间将不会被移除。
参阅第 20.4 节获取更多信息。
DROP OWNED命令是一个 PostgreSQL扩展。