DROP USER <username>
这实际上是DROP ROLE的别名。
您必须显式删除与该用户关联的任何特权,也将其所有权移动到其他角色(或删除对象)。
这是最好的实现
REASSIGN OWNED BY <olduser> TO <newuser>
和
DROP OWNED BY <olduser>
后者将删除授予用户的任何特权。
请参阅postgres docs for DROP ROLE和the more detailed description。
加成:
显然,试图通过使用这里提到的命令删除用户只有当您连接到原始的GRANTS从同一个数据库时执行它们,如下所述:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local