选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / SQL 命令 / 角色与权限

SQL COMMAND · 角色与权限

DROP OWNED

移除一个数据库角色所拥有的数据库对象

DROP角色与权限引入 10(基线)现存至 20 devel1 次语法变更

动词
DROP
对象
OWNED
引入版本
10(基线)
状态
现存
语法变更次数
1
手册小节数
5

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

DROP OWNED BY name CURRENT_ROLE CURRENT_USER SESSION_USER , CASCADE RESTRICT

语法概要

DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]

PostgreSQL 18 手册 · 查看完整参考页

描述

DROP OWNED删除当前数据库中由指定角色之一拥有的所有对象。 同时,授予给这些角色的、针对当前数据库中的对象或共享对象 (数据库、表空间、配置参数)的任何权限也会被撤销。

参数

name

一个角色的名称;该角色拥有的对象将被删除,并且授予给该角色的权限将被撤销。

CASCADE

自动删除依赖于受影响对象的对象,并进一步删除所有依赖于这些对象的对象 (参见Section 5.15)。

RESTRICT

如果有其他数据库对象依赖于某个受影响对象,则拒绝删除该角色拥有的对象。 这是默认值。

注解

DROP OWNED经常被用来为移除一个或多个角色做准备。 因为DROP OWNED只影响当前数据库中的对象, 所以通常需要在包含待移除角色所拥有对象的每个数据库中执行此命令。

使用CASCADE选项可能会使该命令递归到由其他用户拥有的对象。

REASSIGN OWNED命令提供了另一种选择, 它会重新分配由一个或多个角色拥有的所有数据库对象的拥有关系。 不过,REASSIGN OWNED不处理针对其他对象的权限。

由这些角色拥有的数据库和表空间不会被移除。

更多讨论请见Section 21.4

兼容性

DROP OWNED命令是PostgreSQL扩展。

另见

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 20← 19正文更新

    正文更新
  2. PostgreSQL 19← 18正文更新

    正文更新
  3. 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 ]正文更新
  4. PostgreSQL 12← 11正文更新

    正文更新

同组命令

命令动词对象版本变动最近变更
ROLES & PRIVILEGES角色与权限20 条
GRANTGRANT 204 次
定义访问权限现存
REVOKEREVOKE 204 次
撤销访问权限现存
ALTER DEFAULT PRIVILEGESALTERDEFAULT PRIVILEGES 143 次
定义默认访问权限现存
CREATE GROUPCREATEGROUP 192 次
定义一个新的数据库角色现存
ALTER GROUPALTERGROUP 141 次
更改角色名称或成员资格现存
DROP GROUPDROPGROUP
移除一个数据库角色现存
SECURITY LABELSECURITYLABEL 122 次
定义或更改应用于对象的安全标签现存
DROP OWNEDDROPOWNED 141 次
移除一个数据库角色所拥有的数据库对象现存
REASSIGN OWNEDREASSIGNOWNED 141 次
更改一个数据库角色所拥有的数据库对象的所有权现存
CREATE POLICYCREATEPOLICY 141 次
为一个表定义一条新的行级安全性策略现存
ALTER POLICYALTERPOLICY 141 次
更改一条行级安全性策略的定义现存
DROP POLICYDROPPOLICY
从一个表中移除一条行级安全性策略现存
CREATE ROLECREATEROLE 142 次
定义一个新的数据库角色现存
ALTER ROLEALTERROLE 142 次
更改数据库角色现存
DROP ROLEDROPROLE
移除一个数据库角色现存
SET ROLESETROLE
设置当前会话的当前用户标识符现存
SET SESSION AUTHORIZATIONSETSESSION AUTHORIZATION
设置当前会话的会话用户标识符和当前用户标识符现存
CREATE USERCREATEUSER 192 次
定义一个新的数据库角色现存
ALTER USERALTERUSER 142 次
更改数据库角色现存
DROP USERDROPUSER
移除一个数据库角色现存