DROP USER

从授权数据库用户列表中删除一个名称。

语法

DROP USER [ IF EXISTS ] user‑name[,...] [ CASCADE ]

参数

IF EXISTS
当要删除的用户不存在时不报告错误。 在 SQL 脚本中使用此子句,可避免在尝试创建不存在的对象之前删除它们时出错。
user‑name
要删除的用户的名称。
CASCADE
删除通过 user‑name 创建的所有用户定义的对象,包括架构、表和引用该表的所有视图,以及该表的投影。

特权

超级用户

示例

当用户定义的对象不存在时,DROP USER 将成功:

=> CREATE USER user2;
CREATE USER
=> DROP USER IF EXISTS user2;
DROP USER

当用户创建的对象仍然存在时,DROP USER 将失败:

=> DROP USER IF EXISTS user1;
NOTICE:  Table T_tbd1 depends on User user1
ROLLBACK:  DROP failed due to dependencies
DETAIL:  Cannot drop User user1 because other objects depend on it
HINT:  Use DROP ... CASCADE to drop the dependent objects too

无论用户定义的对象是否存在,DROP USER CASCADE 均可成功。该语句会强制删除所有用户定义的对象,如架构、表及其关联投影:

=> DROP USER IF EXISTS user1 CASCADE;
DROP USER

另请参阅