Co takhle
DROP USER <username>
Toto je ve skutečnosti alias pro DROP ROLE
.
Musíte explicitně zrušit všechna oprávnění spojená s tímto uživatelem, a také přesunout jeho vlastnictví na jiné role (nebo zrušit objekt).
Toho lze nejlépe dosáhnout pomocí
REASSIGN OWNED BY <olduser> TO <newuser>
a
DROP OWNED BY <olduser>
Ten odebere veškerá oprávnění udělená uživateli.
Podívejte se na postgresovou dokumentaci pro DROP ROLE a její podrobnější popis.
Dodatek:
Pokus o zrušení uživatele pomocí zde zmíněných příkazů bude zřejmě fungovat pouze v případě, že je spouštíte, když jste připojeni ke stejné databázi, ze které byly vytvořeny původní GRANTY, jak je popsáno zde:
https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local