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