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 OWNEDderefter 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