DROP ROLE

用于删除数据库角色的 SQL 命令

DROP ROLE 是用于删除数据库角色的 DDL 命令。

DROP ROLE 添加于 PostgreSQL 8.1,取代了现有的 DROP USERDROP GROUP 命令(这些命令保留为 DROP ROLE 的别名)。

用法

DROP ROLE 从 PostgreSQL 实例中删除指定的角色。

在执行 DROP ROLE 之前,必须重新分配或删除 PostgreSQL 实例中该角色拥有的任何对象。

但是,无论其他哪些角色是将要删除的角色的成员,DROP ROLE 都会成功执行。

更改历史记录

示例

基本 DROP ROLE 执行

postgres=# DROP ROLE foo;
DROP ROLE

尝试删除不存在的角色

postgres=# DROP ROLE foo;
ERROR:  role "foo" does not exist

安全地尝试删除可能不存在的角色

postgres=# DROP ROLE IF EXISTS foo;
NOTICE:  role "foo" does not exist, skipping
DROP ROLE

尝试删除在当前数据库中仍拥有一个或多个对象的某个角色

postgres=# DROP ROLE foo;
ERROR:  role "foo" cannot be dropped because some objects depend on it
DETAIL:  owner of database bar
owner of table baz

尝试删除在 PostgreSQL 实例中不同数据库中仍拥有一个或多个对象的某个角色

postgres=# DROP ROLE foo;
ERROR:  role "foo" cannot be dropped because some objects depend on it
DETAIL:  1 object in database bar

分类

DDLSQL 命令用户和角色

另请参阅

CREATE ROLEALTER ROLE

反馈

提交任何关于 "DROP ROLE" 的评论、建议或更正 此处