©
本文档使用 PHP中文网手册 发布
DROP ROLE [ IF EXISTS ] name [, ...]
DROP ROLE删除指定的角色。要删除一个超级用户角色,你自己必须也是一个超级用户; 要删除非超级用户角色,你必须有CREATEROLE权限。
commands can be useful for this purpose. 不能删除仍然被集群中的任意数据库引用的角色,如果想删除它,会抛出一个错误。 在删除一个角色之前,你必须删除它拥有的所有对象(或者重新赋予他们新的所有者), 并且撤销赋予该角色的任何权限。REASSIGN OWNED和DROP OWNED命令可以达到这个目的。
不过,没有必要删除涉及该角色的角色成员关系;DROP ROLE自动撤销目标角色在 任何其它角色里面的成员关系,以及其它角色在目标角色里的成员关系。其它角色不会被删除, 也不会受到其它影影响。
如果指定的角色不存在,那么发出一个notice而不是抛出一个错误。
要删除的角色名字。
PostgreSQL包含了一个dropuser程序,有着和这个命令相同的功能(实际上,它调用这个命令), 但是它可以从命令行上运行。
删除一个角色:
DROP ROLE jonathan;
SQL标准定义了DROP ROLE,但它只允许每次删除一个角色, 并且它声明了和PostgreSQL使用的不同的权限要求。