createuser

Nom

createuser -- définit un nouveau compte utilisateur PostgreSQL

Synopsis

createuser [option...] [nom_utilisateur]

Description

createuser crée un nouvel utilisateur PostgreSQL. Seuls les superutilisateurs (utilisateurs disposant de usesuper dans la table pg_shadow) peut créer de nouveaux utilisateurs PostgreSQL, donc createuser doit être appelé par quelqu'un qui peut se connecter en tant que superutilisateur PostgreSQL.

Être un superutilisateur implique aussi la capacité de passer certaines vérifications de droits d'accès dans la base de données, donc cette fonction ne devrait pas être donnée à la légère.

createuser est un emballage autour de la commande SQL CREATE USER. Il n'y a pas de différence réelle entre la création d'utilisateurs via cet outil ou via d'autres méthodes pour accéder au serveur.

Options

createuser accepte les arguments suivant en ligne de commande 

nomutilisateur

Spécifie le nom de l'utilisateur PostgreSQL à créer. Ce nom doit être unique parmi tous les utilisateurs de cette installation de PostgreSQL.

-a
--adduser

Le nouvel utilisateur est autorisé à créer de nouveaux utilisateurs. (Note : en fait, ceci transforme le nouvel utilisateur en superutilisateur. Cette option est mal nommée.)

-A
--no-adduser

Le nouvel utilisateur n'a pas le droit de créer d'autres utilisateurs (c'est-à-dire que le nouvel utilisateur est un utilisateur normal, pas un superutilisateur). Ceci est la valeur par défaut.

-d
--createdb

Le nouvel utilisateur est autorisé à créer des bases de données.

-D
--no-createdb

Le nouvel utilisateur n'a pas le droit de créer des bases de données. Ceci est la valeur par défaut.

-e
--echo

Affiche les commandes que createuser génère et envoie au serveur.

-E
--encrypted

Crypte le mot de passe de l'utilisateur stocké dans la base de données. Si non spécifié, le comportement par défaut des mots de passe est utilisé.

-i nombre
--sysid nombre

Vous permet de prendre un identifiant utilisateur autre que celui par défaut pour le nouvel utilisateur. Ce n'est pas nécessaire mais certaines personnes apprécient.

-N
--unencrypted

Ne crypte pas le mot de passe stocké dans la base de donnée. Si non spécifié, le comportement par défaut des mots de passe est utilisé.

-P
--pwprompt

Si indiqué, createuser affichera une invite pour la saisie du mot de passe du nouvel utilisateur. Ceci n'est pas nécessaire si vous pense ne pas utiliser l'authentification par mot de passe.

-q
--quiet

N'affiche aucune réponse.

Il vous sera demandé un nom et toute autre information manquante si elles ne sont pas spécifiées sur la ligne de commande.

createuser accepte aussi les arguments suivant en ligne de commande pour les paramètres de connexion :

-h hôte
--host hôte

Spécifie le nom de l'hôte de la machine sur lequel le serveur est en cours d'exécution. Si la valeur commence avec un slash, elle est utilisée comme répertoire du socket de domaine Unix.

-p port
--port port

Spécifie le port TCP ou l'extension du fichier socket de domaine Unix sur lequel le serveur attend des connexions.

-U nomutilisateur
--username nomutilisateur

Nom utilisateur pour se connecter (pas celui à créer).

-W
--password

Force la demande de mot de passe (pour se connecter au serveur, pas le mot de passe du nouvel utilisateur).

Environnement

PGHOST
PGPORT
PGUSER

Paramètres de connexion par défaut

Diagnostiques

En cas de problèmes, voir CREATE USER et psql pour des discussions sur les problèmes potentiels et les messages d'erreur. Le serveur de la base de données doit être en cours d'exécution sur l'hôte cible. De plus, tout paramétrage de connexion par défaut et toute variable d'environnement utilisé par le client de la bibliothèque libpq s'appliquera.

Exemples

Pour créer un utilisateur joe sur le serveur de bases de données par défaut :

$ createuser joe
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

Pour créer le même utilisateur joe en utilisant le serveur eden, port 5000, en évitant les demandes et en jetant un œil à la commande sous-jacente :

$ createuser -h eden -p 5000 -D -A -e joe
CREATE USER joe NOCREATEDB NOCREATEUSER;
CREATE USER

Pour créer le superutilisateur joe et lui affecter immédiatement un mot de passe :

$ createuser -P -d -a -e joe
Enter password for new user: xyzzy
Enter it again: xyzzy
CREATE USER joe PASSWORD 'xyzzy' CREATEDB CREATEUSER;
CREATE USER

Dans l'exemple ci-dessus, le mot de passe n'est pas affiché lors de sa saisie mais nous le montrons pour plus de clareté. Néanmoins, le mot de passe apparaîtra dans la commande affichée — donc, il ne faut pas utiliser l'option -e lors de l'affectation d'un mot de passe si quelqu'un peut voir votre écran.

Voir aussi

dropuser, CREATE USER