DROP USER
(of DROP ROLE
, hetzelfde) kan niet doorgaan terwijl de rol nog iets bezit of toegekende privileges heeft voor andere objecten.
Ontdoe je van alle privileges met DROP OWNED
(wat niet al te duidelijk blijkt uit de bewoording) . De handleiding:
Dus de betrouwbare volgorde van commando's om een rol te laten vallen is:
REASSIGN OWNED BY ryan TO postgres; -- or some other trusted role
DROP OWNED BY ryan;
Voer beide opdrachten uit in elke database van hetzelfde cluster waar de rol iets bezit of privileges heeft!
En tot slot:
DROP USER ryan;
REASSIGN OWNED
verandert het eigendom van alle objecten die momenteel eigendom zijn van de rol.DROP OWNED
trekt dan alleen privileges in (eigendom uit de weg).
U kunt ook REASSIGN OWNED
overslaan . Dan DROP OWNED
zal (ook) alle objecten van de gebruiker laten vallen. (Weet je het zeker?!)
Gerelateerd:
- Een rol met privileges neerzetten (met een functie om commando's te genereren voor alle relevante DB's)
- Zoek objecten die zijn gekoppeld aan een PostgreSQL-rol