Frage

Ich habe Probleme Privilegien an einem anderen Benutzer in PostgreSQL 8.3 gewähren. Während der Befehl GRANT mir keinen Fehler gibt, zeigen die Privilegien nicht auf. Muss ich sie zu „spülen“?

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=#
War es hilfreich?

Lösung

\z Zeigt die Tabelle, Ansicht und Reihenfolge Berechtigungen für die Objekte in der Datenbank enthalten sind. Es zeigt keine Berechtigungen für die Datenbank selbst. Wenn Sie eine Tabelle oder ein anderes Objekt in ‚testdb‘ erstellen, wird es dann in \z der Ausgabe angezeigt.

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

Siehe Abschnitt 9.22. das PostgreSQL 8.3 Handbuch für Informationen darüber, wie programmatisch zu bestimmen, welche Berechtigungen existieren für einen Benutzer auf einer bestimmte Datenbank.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top