DROP USER

更新时间:2025-04-27 08:45:55

删除数据库用户账号。

语法

DROP USER name [ CASCADE ]

说明

DROP USER可删除指定的用户。要删除超级用户,您自己必须是超级用户;要删除超级用户以外的用户,您必须具有CREATEROLE特权。

如果集群中的任何数据库仍在引用一个用户,则不能将其删除;如果删除,则会引发错误。在删除用户之前,必须删除其拥有的所有对象(或重新分配它们的所有权)并取消之前向用户授予的所有特权。

不过,并非必须删除与用户相关的角色成员资格;DROP USER会自动取消目标用户在其他角色中的所有成员资格,以及其他角色在目标用户中的成员资格。不会删除其他角色,也不会产生其他影响。

另外,如果用户仅有的对象属于用户拥有的、与用户同名的Schema,则可以指定CASCADE选项。在这种情况下,必须由超级用户发出DROP USER name CASCADE命令,且所指定用户、Schema以及Schema中的所有对象都将被删除。

参数

参数

说明

参数

说明

name

要删除的用户的名称。

CASCADE

如果已指定,还会删除用户拥有的、与用户同名的Schema(以及属于Schema成员的用户拥有的所有对象),前提是不存在依赖于用户或Schema的其他依赖项。

示例

删除不拥有对象、也未被授予有关其他对象的任何特权的用户账号:

DROP USER john;

删除用户账号john,它未被授予有关任何对象的任何特权,而且在名为johnSchema(由john用户所有)以外不拥有任何对象:

DROP USER john CASCADE;
  • 本页导读 (1)
  • 语法
  • 说明
  • 参数
  • 示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等