CREATE USER

Nom

CREATE USER -- définit un nouveau compte utilisateur dans la base de données

Synopsis

CREATE USER nom [ [ WITH ]
option [ ... ] ]

where option can be:
    
      SYSID uid 
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER
    | IN GROUP nomgroupe [, ...]
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'mot_de_passe'
    | VALID UNTIL 'temps_absolu' 

Description

CREATE USER ajoute un nouvel utilisateur dans le groupe de bases de données PostgreSQL. Référez-vous à Chapitre 17 et Chapitre 19 pour des informations sur la gestion des utilisateurs et l'authentification. Vous devez être le superutilisateur de la base de données pour utiliser cette commande.

Paramètres

nom

Le nom du nouvel utilisateur.

uid

La clause SYSID peut être utilisée pour choisir l'identifiant du nouvel utilisateur PostgreSQL. Ceci n'est normalement pas nécessaire mais pourrait être utile si vous avez besoin de recréer le propriétaire d'un objet orphelin.

Si ceci n'est pas spécifié, la valeur la plus haute des identifiants déjà créés plus un (avec un minimum de 100) sera utilisée par défaut.

CREATEDB
NOCREATEDB

Ces clauses définissent la capacité de l'utilisateur pour créer des bases de données. Si CREATEDB est spécifié, l'utilisateur en cours de définition sera autorisé à créer ses propres bases de données. Utiliser NOCREATEDB interdira la capacité de créer des bases de données à cet utilisateur. Si cette clause est omise, NOCREATEDB est utilisé par défaut.

CREATEUSER
NOCREATEUSER

Ces clauses déterminent si un utilisateur aura la permission de créer des nouveaux utilisateurs lui-même. Cette option fait aussi de l'utilisateur un superutilisateur qui peut dépasser toutes les restrictions d'accès. Oublier cette clause initialisera la valeur de cet attribut à NOCREATEUSER.

nomgroupe

Un nom de groupe dans lequel insérer l'utilisateur. Plusieurs noms de groupe peuvent être cités.

mot_de_passe

Initialise le mot de passe de l'utilisateur. Si vous ne pensez pas utiliser l'authentification par mot de passe, vous pouvez oublier cette option, mais l'utilisateur ne sera pas capable ensuite de se connecter si vous décidez de basculer à une authentification par mot de passe. Le mot de passe peut être initialisé ou changé plus tard en utilisant ALTER USER.

ENCRYPTED
UNENCRYPTED

Ces mots clés contrôlent si le mot de passe doit être stocké crypté dans les catalogues système. (Si aucun des deux n'est spécifié, le comportement par défaut est déterminé par le paramètre de configuration PASSWORD_ENCRYPTION.) Si la chaîne de mot de passe fournie est déjà dans le format crypté MD5, alors il est stocké directement, que ENCRYPTED ou UNENCRYPTED soit founi ou non (car le système ne peut pas décrypter la chaîne de mot de passe cryptée). Ceci permet le rechargement des mots de passe cryptés lors de la sauvegarde/restauration.

Notez que les anciens clients pourraient ne pas disposer des mécanismes d'authentification MD5 nécessaires pour travailler avec des mots de passe stockés en cryptés.

temps_absolu

La clause VALID UNTIL initialise le temps absolu après lequel le mot de passe de l'utilisateur n'est plus valide. Si cette clause est omise, le mot de passe sera valide en permanence.

Notes

Utilisez ALTER USER pour changer les attributs d'un utilisateur, et DROP USER pour le supprimer. Utilisez ALTER GROUP pour ajouter l'utilisateur aux groupes ou supprimer cet utilisateur de ces groupes.

PostgreSQL inclut un programme createuser qui a les mêmes fonctionnalités que CREATE USER (en fait, il appelle cette commande) mais qui peut être lancé à partir du shell.

La clause VALID UNTIL définit une date d'expiration pour un mot de passe seulement, pas pour le compte utilisateur en lui-même. En particulier, la date d'expiration n'est pas obligatoire lors d'une connexion avec une méthode d'authentification non basée sur un mot de passe.

Exemples

Créez un utilisateur sans mot de passe :

CREATE USER jonathan;

Créez un utilisateur avec un mot de passe :

CREATE USER davide WITH PASSWORD 'jw8s0F4';

Créez un utilisateur avec un mot de passe qui est valide jusqu'à la fin 2004. Après une seconde dans 2005, le mot de passe n'est plus valide.

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

Créez un compte où l'utilisateur peut créer des bases de données :

CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;

Compatibilité

L'instruction CREATE USER est une extension PostgreSQL. Le standard SQL laisse la définition des utilisateurs à l'implémentation.

Voir aussi

ALTER USER, DROP USER, createuser