CREATE USER

Name

CREATE USER -- definiert ein neues Datenbankbenutzerkonto

Synopsis

CREATE USER benutzername [ [ WITH ] option [ ... ] ]

wobei option Folgendes sein kann:
    
      SYSID uid 
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'passwort'
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER
    | IN GROUP gruppenname [, ...]
    | VALID UNTIL 'abstime' 

Beschreibung

CREATE USER erzeugt einen neuen Benutzer in einem PostgreSQL-Datenbankcluster. Weitere Informationen über Benutzerverwaltung und Authentifizierung erhalten Sie in Kapitel 17 und Kapitel 19. Um diesen Befehl verwenden zu können müssen Sie ein Datenbank-Superuser sein.

Parameter

benutzername

Der Name des Benutzers.

uid

Mit der SYSID-Klausel kann man die PostgreSQL-Benutzer-ID des neuen Benutzers bestimmen. Das ist normalerweise nicht notwendig, kann aber nützlich sein, wenn Sie den Eigentümer eines Objekts ohne Eigentümer wiedererzeugen müssen.

Wenn keine ID angegeben ist, dann wird die höchste bisher vergebene ID plus eins, beginnend bei 100, verwendet.

passwort

Das Passwort des Benutzers. Wenn Sie keine Passwortauthentifizierung verwenden wollen, dann können Sie diese Option weglassen, aber dann wird der Benutzer nicht verbinden können, wenn Sie doch zur Passwortauthentifizierung wechseln. Das Passwort kann später mit ALTER USER gesetzt oder geändert werden.

ENCRYPTED
UNENCRYPTED

Diese Optionen bestimmen, ob das Passwort im Systemkatalog verschlüsselt gespeichert wird. (Wenn keines der beiden angegeben wurde, dann wird das Standardverhalten vom Konfigurationsparameter password_encryption bestimmt.) Wenn das angegebene Passwort bereits im verschlüsselten MD5-Format ist, dann wird es so wie es ist verschlüsselt gespeichert, egal ob ENCRYPTED oder UNENCRYPTED angegeben wurde (da das System das angegebene verschlüsselte Passwort nicht entschlüsseln kann). Dadurch können verschlüsselte Passwörter aus einer Sicherungsdatei wiederhergestellt werden.

Beachten Sie, dass ältere Clients den MD5-Authentifizierungsmechanismus, der bei verschlüsselt gespeicherten Passwörtern verwendet werden muss, möglicherweise nicht unterstützen.

CREATEDB
NOCREATEDB

Diese Klauseln bestimmen, ob der Benutzer Datenbanken erzeugen darf. Wenn CREATEDB angegeben ist, dann wird dem Benutzer gestattet, seine eigenen Datenbanken zu erzeugen. Mit NOCREATEDB wird dem Benutzer nicht gestattet, neue Datenbanken zu erzeugen. Wenn die Klausel weggelassen wird, dann ist die Voreinstellung NOCREATEDB.

CREATEUSER
NOCREATEUSER

Diese Klauseln bestimmen, ob der Benutzer selbst neue Benutzer erzeugen darf. Diese Option macht den Benutzer auch zum Superuser, der alle Zugriffsbeschränkungen umgehen kann. Wenn die Klausel weggelassen wird, dann ist die Voreinstellung NOCREATEUSER.

gruppenname

Ein Name einer Gruppe, in die der neue Benutzer als Mitglied eingefügt werden soll. Es können mehrere Gruppennamen angegeben werden.

abstime

Die Klausel VALID UNTIL gibt die Zeit an, nach der das Passwort des Benutzer nicht mehr gültig ist. Wenn die Klausel weggelassen wird, dann ist das Passwort des Benutzers unbegrenzt gültig.

Meldungen

CREATE USER

Meldung, wenn das Benutzerkonto erfolgreich erzeugt wurde.

Hinweise

PostgreSQL enthält ein Programm createuser, das die selbe Funktionalität wie CREATE USER hat (und es intern auch aufruft), aber von der Shell aus aufgerufen werden kann.

Beispiele

Erzeuge einen Benutzer ohne Passwort:

CREATE USER jonathan;

Erzeuge einen Benutzer mit einem Passwort:

CREATE USER davide WITH PASSWORD 'jw8s0F4';

Erzeuge einen Benutzer mit einem Passwort, dass bis zum Ende von 2004 gültig ist. Nachdem 2005 eine Sekunde alt ist, ist das Passwort nicht mehr gültig.

CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';

Erzeuge einen Benutzer, der Datenbanken erzeugen kann:

CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;

Kompatibilität

Der Befehl CREATE USER ist eine PostgreSQL-Erweiterung. Der SQL-Standard überlässt die Definition der Benutzer der Implementierung.

Siehe Auch

ALTER GROUP, ALTER USER, DROP USER, createuser