DROP OWNED
移除一个数据库角色所拥有的数据库对象
英文手册覆盖始于 PostgreSQL 6.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- anchor
- SQL-DROP-OWNED
- file
- sql-drop-owned.html
- lang
- en
- name
- DROP OWNED
- purpose
- remove database objects owned by a database role
- purpose zh
- 未知
- sections same as
- 未知
- slug
- 18
- synopsis html
- DROP OWNED BY { <em class="replaceable"><code>name</code></em> | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
- synopsis text
- DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
语法
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]语法图
从左向右阅读;分支表示选择,旁路表示可选,循环表示重复。点击带下划线的参数可打开对应规则。
版本定义 PG 18
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]描述
DROP OWNED删除当前数据库中由指定角色之一拥有的所有对象。同时,授予给这些角色的、针对当前数据库中的对象或共享对象(数据库、表空间、配置参数)的任何权限也会被撤销。
参数
name一个角色的名称;该角色拥有的对象将被删除,并且授予给该角色的权限将被撤销。
CASCADE自动删除依赖于受影响对象的对象,并进一步删除所有依赖于这些对象的对象(参见第 5.15 节)。
RESTRICT如果有其他数据库对象依赖于某个受影响对象,则拒绝删除该角色拥有的对象。这是默认值。
注解
DROP OWNED经常被用来为移除一个或多个角色做准备。因为DROP OWNED只影响当前数据库中的对象,所以通常需要在包含待移除角色所拥有对象的每个数据库中执行此命令。
使用CASCADE选项可能会使该命令递归到由其他用户拥有的对象。
REASSIGN OWNED命令提供了另一种选择,它会重新分配由一个或多个角色拥有的所有数据库对象的拥有关系。不过,REASSIGN OWNED不处理针对其他对象的权限。
由这些角色拥有的数据库和表空间不会被移除。
更多讨论请见第 21.4 节。
兼容性
DROP OWNED命令是PostgreSQL扩展。
另见
REASSIGN OWNED, DROP ROLE比较版本
来源引用
定义来源
center · PostgreSQL 18 · a709ab85
正文语言: zh-Hans · 1b5ca64c