Co powiesz na
DROP USER <username>
To jest właściwie alias dla DROP ROLE
.
Musisz wyraźnie usunąć wszelkie uprawnienia związane z tym użytkownikiem, a także przenieść jego własność do innych ról (lub usunąć obiekt).
Najlepiej to osiągnąć,
REASSIGN OWNED BY <olduser> TO <newuser>
i
DROP OWNED BY <olduser>
Ta ostatnia usunie wszelkie uprawnienia przyznane użytkownikowi.
Zobacz dokumentację postgres dla DROP ROLE i bardziej szczegółowy opis tego.
Dodanie:
Najwyraźniej próba usunięcia użytkownika za pomocą wymienionych tutaj poleceń zadziała tylko wtedy, gdy wykonujesz je, będąc połączonym z tą samą bazą danych, z której zostały utworzone oryginalne GRANTY, jak omówiono tutaj:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local