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 OWNEDverandert het eigendom van alle objecten die momenteel eigendom zijn van de rol.DROP OWNEDtrekt 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