Löschen von Nutzern/Usern und ihre Abhängigkeiten

Servus beisammen,

ich habe vor, einige Rollen - in diesem Fall Login-User - zu löschen/droppen. Allerdings habe ich bei manchen Login-Rollen an die 125 Objektabhängigkeiten. Die Schemata sind bereits bereinigt worden, also die Rollen wurden mit “REVOKE USAGE/WRITE ON SCHEMA XY ON NUTZER”.

Bei den restlichen Löschkandidaten hilft das nur marginal: Es sind immer noch zig Objektabhängigkeiten vorhanden. Die Übertragung der Abhängigkeiten auf einen Nutzer “rollemuell” (Rolle-Müll) hat wohl funktioniert, es lässt sich die Rolle aber trotzdem nicht löschen.

Frage: Wie kann ich weitere Objektabhängigkeiten der Login-Rollen schnell ausfindig machen und wie lässt sich ein User trotzdem schnell und sauber löschen?

Danke!

Suchst Du nach REASSIGN OWNED? https://www.postgresql.org/docs/current/static/sql-reassign-owned.html

Hallo,

danke für die schnelle Antwort. Nicht unbedingt suche ich nach REASSIGN OWNED. Eher möchte ich die bestehenden Abhängigkeiten herausfinden und dann eliminieren, um die Rolle zu löschen.

Nachtrag: Ich glaube, DROP OWNED ist das, was ich zu finden versuchte. Bin über REASSIGN OWNED draufgekommen.

probier mal:

reassign owned by rollemuell to replacement_for_rollemuell;

oh, castorp war schneller …

Danke akretschmer!

Sehe ich das richtig: reassign owned by LÖSCHKANDIDAT to MÜLLEIMERROLLE;

na jedenfalls eine Rolle, die bestehen bleiben soll.

Um zu sehen, welche Tabellen der User hat:

select pg_class.relname from pg_class inner join pg_authid on pg_class.relowner=pg_authid.oid and pg_authid.rolname=’…’;