SQL COMMAND · 角色与权限
DROP OWNED
移除一个数据库角色所拥有的数据库对象
DROP角色与权限引入 10(基线)现存至 20 devel1 次语法变更
- 动词
DROP- 对象
OWNED- 分组
- 角色与权限
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 1
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
语法概要
DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
描述
DROP OWNED删除当前数据库中由指定角色之一拥有的所有对象。 同时,授予给这些角色的、针对当前数据库中的对象或共享对象 (数据库、表空间、配置参数)的任何权限也会被撤销。
参数
name一个角色的名称;该角色拥有的对象将被删除,并且授予给该角色的权限将被撤销。
CASCADE自动删除依赖于受影响对象的对象,并进一步删除所有依赖于这些对象的对象 (参见Section 5.15)。
RESTRICT如果有其他数据库对象依赖于某个受影响对象,则拒绝删除该角色拥有的对象。 这是默认值。
注解
DROP OWNED经常被用来为移除一个或多个角色做准备。 因为DROP OWNED只影响当前数据库中的对象, 所以通常需要在包含待移除角色所拥有对象的每个数据库中执行此命令。
使用CASCADE选项可能会使该命令递归到由其他用户拥有的对象。
REASSIGN OWNED命令提供了另一种选择, 它会重新分配由一个或多个角色拥有的所有数据库对象的拥有关系。 不过,REASSIGN OWNED不处理针对其他对象的权限。
由这些角色拥有的数据库和表空间不会被移除。
更多讨论请见Section 21.4。
兼容性
DROP OWNED命令是PostgreSQL扩展。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 20← 19正文更新
正文更新PostgreSQL 19← 18正文更新
正文更新PostgreSQL 14← 13语法变化
+ DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]− DROP OWNED BY { name | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]正文更新PostgreSQL 12← 11正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
GRANT | GRANT | — | 204 次 | |
| 定义访问权限 | 现存 | |||
REVOKE | REVOKE | — | 204 次 | |
| 撤销访问权限 | 现存 | |||
ALTER DEFAULT PRIVILEGES | ALTER | DEFAULT PRIVILEGES | 143 次 | |
| 定义默认访问权限 | 现存 | |||
CREATE GROUP | CREATE | GROUP | 192 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER GROUP | ALTER | GROUP | 141 次 | |
| 更改角色名称或成员资格 | 现存 | |||
DROP GROUP | DROP | GROUP | — | |
| 移除一个数据库角色 | 现存 | |||
SECURITY LABEL | SECURITY | LABEL | 122 次 | |
| 定义或更改应用于对象的安全标签 | 现存 | |||
DROP OWNED | DROP | OWNED | 141 次 | |
| 移除一个数据库角色所拥有的数据库对象 | 现存 | |||
REASSIGN OWNED | REASSIGN | OWNED | 141 次 | |
| 更改一个数据库角色所拥有的数据库对象的所有权 | 现存 | |||
CREATE POLICY | CREATE | POLICY | 141 次 | |
| 为一个表定义一条新的行级安全性策略 | 现存 | |||
ALTER POLICY | ALTER | POLICY | 141 次 | |
| 更改一条行级安全性策略的定义 | 现存 | |||
DROP POLICY | DROP | POLICY | — | |
| 从一个表中移除一条行级安全性策略 | 现存 | |||
CREATE ROLE | CREATE | ROLE | 142 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER ROLE | ALTER | ROLE | 142 次 | |
| 更改数据库角色 | 现存 | |||
DROP ROLE | DROP | ROLE | — | |
| 移除一个数据库角色 | 现存 | |||
SET ROLE | SET | ROLE | — | |
| 设置当前会话的当前用户标识符 | 现存 | |||
SET SESSION AUTHORIZATION | SET | SESSION AUTHORIZATION | — | |
| 设置当前会话的会话用户标识符和当前用户标识符 | 现存 | |||
CREATE USER | CREATE | USER | 192 次 | |
| 定义一个新的数据库角色 | 现存 | |||
ALTER USER | ALTER | USER | 142 次 | |
| 更改数据库角色 | 现存 | |||
DROP USER | DROP | USER | — | |
| 移除一个数据库角色 | 现存 | |||