Löschen von Nutzern/Usern und ihre Abhängigkeiten
-
- Neuer Benutzer
- Beiträge: 11
- Registriert: Do 20. Okt 2016, 13:25
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!
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!
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
Suchst Du nach REASSIGN OWNED? https://www.postgresql.org/docs/current ... owned.html
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
-
- Neuer Benutzer
- Beiträge: 11
- Registriert: Do 20. Okt 2016, 13:25
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
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.
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.
-
- Erfahrener Benutzer
- Beiträge: 7677
- Registriert: So 29. Okt 2006, 13:35
- Wohnort: Kaufbach, Sachsen, Germany, Germany
- Kontaktdaten:
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
probier mal:
reassign owned by rollemuell to replacement_for_rollemuell;
reassign owned by rollemuell to replacement_for_rollemuell;
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
-
- Erfahrener Benutzer
- Beiträge: 7677
- Registriert: So 29. Okt 2006, 13:35
- Wohnort: Kaufbach, Sachsen, Germany, Germany
- Kontaktdaten:
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
oh, castorp war schneller ...
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
-
- Neuer Benutzer
- Beiträge: 11
- Registriert: Do 20. Okt 2016, 13:25
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
Danke akretschmer!
Sehe ich das richtig: reassign owned by LÖSCHKANDIDAT to MÜLLEIMERROLLE;
Sehe ich das richtig: reassign owned by LÖSCHKANDIDAT to MÜLLEIMERROLLE;
-
- Erfahrener Benutzer
- Beiträge: 7677
- Registriert: So 29. Okt 2006, 13:35
- Wohnort: Kaufbach, Sachsen, Germany, Germany
- Kontaktdaten:
Re: Löschen von Nutzern/Usern und ihre Abhängigkeiten
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='...';
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='...';
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services