Che ne dici
DROP USER <username>
Questo è in realtà un alias per DROP ROLE
.
Devi eliminare esplicitamente tutti i privilegi associati a quell'utente, anche per spostarne la proprietà su altri ruoli (o eliminare l'oggetto).
Ciò si ottiene al meglio da
REASSIGN OWNED BY <olduser> TO <newuser>
e
DROP OWNED BY <olduser>
Quest'ultimo rimuoverà tutti i privilegi concessi all'utente.
Vedi i documenti postgres per DROP ROLE e la descrizione più dettagliata di questo.
Aggiunta:
Apparentemente, provare a eliminare un utente utilizzando i comandi menzionati qui funzionerà solo se li stai eseguendo mentre sei connesso allo stesso database da cui sono stati creati i GRANTS originali, come discusso qui:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local