createdb

Nom

createdb — Crée une nouvelle base Postgres
createdb [ dbname ]
createdb [ -h host ] [ -p port ]
      [ -D datadir ] [ -u ] [ dbname ]
  

Entrées

-h host

Spécifie le nom d'hôte de la machine sur laquelle le postmaster est lancé. Le défaut est d'utiliser un socket du domaine local Unix plutôt qu'une connection IP.

-p port

Spécifie le port TCP/IP Internet 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.

-u

Utilise l'authentification par mot de passe. Prompts pour username et password.

-D datadir

Spécifie le site où est installée la base. C'est l'endroit où se trouvent les tables système, pas l'endroit d'une base spécifique, qui peut être différent.

dbname

Spécifie le nom de la base a créer. Le nom doit être unique parmi toutes les bases de Postgres. dbname par défaut est le nom de la variable d'environnement USER.

Sorties

createdb créera des fichiers dans PGDATA/dbname/ pour la nouvelle base.

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

createdb ne peut pas se lier au processus postmaster sur le port ou l'hôte 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 bien l'identité requise pour l'authentification.

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' createdb: database creation failed on dbname.

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

ERROR: user 'username' is not allowed to create/destroy databases createdb: database creation failed on dbname.

Vous n'avez pas les permissions pour créer de nouvelles bases. Contactez votre administrateur du site Postgres.

ERROR: createdb: database 'dbname' already exists. createdb: database creation failed on dbname.

La base existe déja.

createdb: database creation failed on dbname.

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

Note

createdb lance en interne CREATE DATABASE depuis psql pendant qu'il est connecté à la base template1.

Description

createdb crée une nouvelle base Postgres. La personne qui exécute cette commande devient l'administrateur de la base, ou DBA, et est la seule personne hormis le super-utilisateur Postgres qui peut la détruire.

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

Utilisation

Pour créer la base demo en utilisant le postmaster sur l'hôte local, port 5432:
$ createdb demo
   

Pour créer une base demo en utilisant le postmaster sur l'hôte eden, port 5000:
$ createdb -p 5000 -h eden demo