DROP USER
(eller DROP ROLE
, samme ting) kan ikke fortsætte, mens rollen stadig ejer noget eller har tildelte privilegier på andre objekter.
Slip af med alle privilegier med DROP OWNED
(hvilket ikke er så tydeligt ud fra ordlyden) . Manualen:
Så den pålidelige rækkefølge af kommandoer til at droppe en rolle er:
REASSIGN OWNED BY ryan TO postgres; -- or some other trusted role
DROP OWNED BY ryan;
Kør begge kommandoer i hver database i den samme klynge hvor rollen ejer noget eller har nogen privilegier!
Og til sidst:
DROP USER ryan;
REASSIGN OWNED
ændrer ejerskab for alle objekter, der i øjeblikket ejes af rollen.DROP OWNED
derefter tilbagekalder kun privilegier (ejerskaber af vejen).
Alternativt kan du springe REASSIGN OWNED
over . Derefter DROP OWNED
vil (også) droppe alle objekter, der ejes af brugeren. (Er du sikker?!)
Relateret:
- Slip en rolle med privilegier (med en funktion til at generere kommandoer for alle relevante DB'er)
- Find objekter, der er knyttet til en PostgreSQL-rolle