Vad sägs om
DROP USER <username>
Detta är faktiskt ett alias för DROP ROLE
.
Du måste uttryckligen ta bort alla privilegier som är kopplade till den användaren, även för att flytta dess ägande till andra roller (eller släppa objektet).
Detta uppnås bäst genom
REASSIGN OWNED BY <olduser> TO <newuser>
och
DROP OWNED BY <olduser>
Den senare kommer att ta bort alla privilegier som beviljats användaren.
Se postgres-dokumentationen för DROP ROLE och den mer detaljerade beskrivningen av detta.
Tillägg:
Uppenbarligen kommer det bara att fungera om du försöker släppa en användare genom att använda kommandona som nämns här om du kör dem samtidigt som du är ansluten till samma databas som de ursprungliga GRANTS gjordes från, som diskuteras här:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local