Role / Rechte Datenbank -> Zurücksetzen?

Hi, ich glaub ich hab wirrwarr bei den Rechtevergaben der Datenbanken / Gruppen / User.

Gibt es eine “Reset-Möglichkeit” Alle Gruppen / User & Dependents zu löschen und nur den superuser bestehen zu lassen?


Zb. Wenn ich einen User löschen will (nicht postgres), dann kommt:

ERROR: role "reader" cannot be dropped because some objects depend on it
SQL state: 2BP01
Detail: 16 objects in database template1

Ich glaub da hab ich mal falsche Rechte gesetzt. Wie kann ich für diese Datenbank das ding wieder rückgängig machen?

Tja.

DROP eines Users != Rücksetzen von Rechten. Letzteres geht mit REVOKE. Ansonsten mußt halt die Objekte, die dem User gehören, erst mal löschen. Welche das sind, sollte sich via Katalogtabellen ermitteln lassen.

Andreas

Okay fangen wir so an. Ich hab dependents des users auf:

TABLE DB template1, Table: public.error_msgs
TYPE DB template1, Table: error.msgs
...

Nur die Tabellen gibt es bei mir nicht ? :confused: Wie kann cih diese Dependents entfernen?

PS: wofür gibt es eig. die Datenbank template1?

Okay funktioniert alles wieder. Dadurch, dass ich Rechte in einer Datenbank auf eine Tabelle vergeben habe, die nicht existiert, wurde diese anscheinend erstellt. Nachdem ich alle entfernt hatte, konnte ich alles einwandfrei löschen.

Frage bezüglich “template1” ist noch offen :]

Die Doku zu PG hat eine Suchfunktion, oben. Wenn man dort ‘template’ eintippert, ist der erste Link:
PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: Template Databases

An das war einfach dreas