createuser

Nom

createuser — Crée un nouvel utilisateur Postgres
createuser [ username ]
createuser [ -h host ] [ -p port ]
    [ -i userid ] [ -d | -D ] [ -u | -U ]
    [ username ]
  

Entrées

-h host

Spécifie le nom d'hôte de la machine sur laquelle le postmaster tourne. L'usage par défaut est le socket d'un domaine local Unix plutôt qu'une connexion IP.

-p port

Spécifie le port internet TCP/IP ou le socket du domaine local Unix sur lequel le postmaster est en attente de connections. le port par défaut est 5432, ou la valeur de la variable d'environnement PGPORT si elle est placée.

-d

Permet à l'utilisateur de créer des bases.

-D

Interdit à l'utilisateur de créer des bases.

-i userid

Spécifie l'identifiant numérique a associer avec cet utilisateur. Cet identifiant doit être unique parmi tous les utilisateurs de Postgres, il n'est pas nécessaire qu'il soit identique à l'UID du système d'exploitation. Il vous sera demandé un identifiant si rien n'est précisé dans la ligne de commande, et il vous sera suggéré un identifiant identique à l'UID système.

-u

Permet à l'utilisateur de créer d'autres utilisateurs.

-U

Interdit à l'utilisateur de créer d'autres utilisateurs.

username

Spécifie le nom de l'utilisateur Postgres a créer. Ce nom doit être unique parmi tous les utilisateurs Postgres. Il vous sera demandé un nom si aucun n'est spécifié dans la ligne de commande.

Sorties

createuser ajoutera une entrée dans les tables système pg_user ou pg_shadow.

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? createuser: database access failed.

createuser ne peut pas se lier au processus postmaster sur l'hôte ou le port spécifié. Si vous voyez ce message, assurez vous que le postmaster tourne sur l'hôte approprié et que vous avez spécifié le bon port. Si votre site utilise un système d'authentification, assurez vous que vous avez les bons paramètres d'authentification.

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' createuser: database access failed.

Vous n'avez pas une entrée valide dans la relation pg_shadow et n'êtes pas autorisé a accéder à Postgres. Voyez votre administrateur Postgres.

createuser: username cannot create users.

Vous n'avez pas l'autorisation de créer de nouveaux utilisateurs; contactez votre administarteur du site Postgres.

createuser: user "username" already exists

L'utilisateur a ajouter a déja une entrée dans la classe pg_shadow.

database access failed

Une erreur interne s'est produite dans psql ou dans le serveur. Assurez vous que l'administrateur du site a correctement installé Postgres et initialisé le site avec initdb.

Note

createuser lance en interne CREATE USER depuis psql lorsqu'il est connecté à la base template1.

Description

createuser crée un nouvel utilisateur Postgres. Seuls les utilisateurs avec usesuper placé dans la classe pg_shadow peuvent créer de nouveaus utilisateurs Postgres. L'utilisateur postgres peut créer d'autres utilisateurs.

createuser est un script shell qui invoque psql. Désormais, un processus postmaster doit tourner sur le serveur hôte avant que createuser soit exécuté. Les variables d'environnement PGOPTION et PGREALM seront passées à psql et il sera procédé comme décrit dans psql.

Une fois invoqué, createuser posera une série de questions pour obtenir les paramètres non spécifiés dans la ligne de commande. Un nom de login pour le nouvel utilisateur de la base et un identifiant numérique devront être spécifiés.

Note

L'identifiant utilisateur Postgres ne necessite pas d'être le même que l'UID Unix de l'utilisateur. Cependant, typiquement il lui est affecté le même.

Vous devez aussi donner les privilièges au nouvel utilisateur pour des raisons de sécurité. En particulier, il vous sera demandé si le nouvel utilisateur peut faire office de super-utilisateur Postgres, si le nouvel utilisateur peut créer de nouvelles bases, et si ce nouvel utilisateur peut créer d'autres nouveaux utilisateurs.