DROP USER
从授权数据库用户列表中删除一个名称。
注意
DROP USER 无法移除使用 LDAPLink 服务添加到 Vertica 数据库的用户。语法
DROP USER [ IF EXISTS ] user‑name[,...] [ CASCADE ]
参数
IF EXISTS
- 当要删除的用户不存在时不报告错误。 在 SQL 脚本中使用此子句,可避免在尝试创建不存在的对象之前删除它们时出错。
- user‑name
- 要删除的用户的名称。
CASCADE
- 删除通过 user‑name 创建的所有用户定义的对象,包括架构、表和引用该表的所有视图,以及该表的投影。
当心
发出 DROP USER CASCADE 命令后,已删除用户所拥有的表将无法恢复。
特权
超级用户
示例
当用户定义的对象不存在时,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