DROP ROLE
更新时间:2026-06-24
删除数据库角色。
语法
SQL
1 DROP ROLE [IF EXISTS] name [, ...]
2 ```
3
4
5
6## 描述
7
8`DROP ROLE`删除指定的角色。 要删除数据库管理员角色,您必须自己是数据库管理员。要删除非数据库管理员角色,您必须具有`CREATEROLE`权限。
9
10 如果仍在任何数据库中引用角色,则无法删除该角色;如果是这样,将引发错误。在删除角色之前,必须删除其拥有的所有对象(或重新分配其所有权),并撤消已授予该角色在其他对象上的所有权限。`REASSIGN OWNED`和`DROP OWNED`命令可用于此目的。
11
12 但是,不必删除涉及该角色的角色成员资格; `DROP ROLE`自动撤消其他角色中的目标角色以及目标角色中的其他角色的所有成员身份。其他角色不会丢失,也不会受到其他影响。
13
14
15
16## 参数
17
18该SQL命令参数说明见下
19
20 `IF EXISTS `
21 : 如果该角色不存在,请不要报错。在这种情况下会发出通知。
22
23 `name`
24 : 要删除的角色名称。
25
26
27
28## 示例
29
30删除名为`sally`和`bob`的角色:
31
32 ``` sql
33 DROP ROLE sally, bob;
34 ```
35
36
37
38兼容性说明
39: SQL标准定义了`DROP ROLE`,但一次只允许删除一个角色, 并且它指定的权限要求与PalopgMPP数据库使用的权限要求不同。
40
41
42
43相关SQL命令
44: ` REASSIGN OWNED ` , ` DROP OWNED ` , ` CREATE ROLE ` , ` ALTER ROLE ` , ` SET ROLE `
评价此篇文章
