2008-09-16 9 views
4

Ich habe Probleme beim Erteilen von Berechtigungen für einen anderen Benutzer in PostgreSQL 8.3. Während der GRANT-Befehl keinen Fehler gibt, werden die Berechtigungen nicht angezeigt. Muss ich sie "spülen"?PostgreSQL 8.3 Privilegien nicht aktualisiert - falsche Verwendung?

sirprize=# CREATE DATABASE testdb; 
CREATE DATABASE 
sirprize=# GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser; 
GRANT 
sirprize=# \c testdb 
You are now connected to database "testdb". 
testdb=# \z 
Access privileges for database "testdb" 
Schema | Name | Type | Access privileges 
--------+------+------+------------------- 
(0 rows) 

testdb=# 

Antwort

9

\ z Zeigt Tabellen-, Ansichts- und Sequenzberechtigungen für die in der Datenbank enthaltenen Objekte an. Es zeigt keine Berechtigungen für die Datenbank selbst. Wenn Sie eine Tabelle oder ein anderes Objekt in "testdb" erstellen, wird es in der Ausgabe von \ z angezeigt.

Sie können sehen, welche Datenbanken auf Ihrem System mit \ l (oder \ l + für ein bisschen mehr Info) existieren.

Informationen zur programmgesteuerten Ermittlung der Berechtigungen für einen Benutzer in einer bestimmten Datenbank finden Sie unter section 9.22. of the PostgreSQL 8.3 manual.

+0

Danke! Jetzt muss ich nur noch herausfinden, warum phpPgAdmin die Datenbank bei der Verbindung als Testuser nicht sohwt und somit selbst die Erstellung einer neuen Tabelle verhindert. Aber das wird hier eine andere Frage sein;) – sirprize