GRANT privilege [, ...] ON object [, ...]
TO { PUBLIC | username | GROUP groupname }
Mit dem Schlüsselwort PUBLIC werden die Privilegien an alle Benutzer
in der Datenbank erteilt. Bei Verwendung des Schlüsselworts ALL
werden alle vier Privilegien für die spezifizierten Objekte gleichzeitig
vergeben. Die vergebenden Privilegien auf jedes Datenbankobjekt werden in
einer PostgreSQL Systemtabelle (pg_class) gespeichert. Durch einen SQL Befehl
SELECT kann der Status der Zugriffsberechtigungen für das gewählte
Objekt angefragt werden. Von dem psql Client kann man auch als
Alternative den Backslash Befehl z benutzen, um die
Berechtigungsinformation für die Datenbankobjekte zu erfahren. Im folgenden
wird eine Verwendung von Backslah Befehl gezeigt.
mnm=# \z aufgabe Access permissions for database "mnm" Relation | Access permissions ------------+-------------------------------------- aufgabe | {"=","wangz=rw","group mnmteam=arwR"} (1 row)
In diesem Beispiel werden alle Zugriffsrechte auf die Tabelle aufgabe als Ergebnis angezeigt. Die linke Seite von dem Zeichen ,,=" in jedem Term repräsentiert einen Benutzer oder eine Gruppe, auf der rechten Seite stehen die entsprechenden Rechte, mit denen der Benutzer oder die Gruppe auf diese Tabelle zugreifen kann. Der erste Term wird immer für das Schlüsselwort PUBLIC (d.h. für alle Benutzer in der Datenbank) reserviert. Werden keine Zugriffsrechte an alle Benutzer gemeinsam erteilt, bleibt die rechte Seite auch leer.