createdb — Créer une nouvelle base de données PostgreSQL
createdb [option_connexion...] [option...] [nom_base] [description]
createdb crée une nouvelle base de données.
   Normalement, l'utilisateur de la base de données qui exécute cette commande
   devient le propriétaire de la nouvelle base de données. Néanmoins, un
   propriétaire différent peut être spécifié via l'option -O,
   sous réserve que l'utilisateur qui lance la commande ait les droits
   appropriés.
  
   createdb est un enrobage de la commande
   SQL CREATE
   DATABASE. Il n'y a pas
   de réelle différence entre la création de bases de données par cet outil ou
   à l'aide d'autres méthodes d'accès au serveur.
  
createdb accepte les arguments suivants en ligne de commande :
nom_baseLe nom de la base de données à créer. Le nom doit être unique parmi toutes les bases de données PostgreSQL de ce groupe. La valeur par défaut est le nom de l'utilisateur courant.
descriptionLe commentaire à associer à la base de données créée.
-D tablespace--tablespace=tablespaceLe tablespace par défaut de la base de données (la syntaxe prise en compte est la même que celle d'un identifiant qui accepte les guillemets doubles).
-e--echoLes commandes engendrées par createdb et envoyées au serveur sont affichées.
-E locale--encoding=localeL'encodage des caractères à utiliser dans la base de données. Les jeux de caractères supportés par le serveur PostgreSQL sont décrits dans Section 23.3.1.
-l locale--locale=locale
       Indique la locale à utiliser dans cette base de données. C'est
       équivalent à préciser à la fois --lc-collate,
       --lc-ctype et --icu-locale avec la
       même valeur. Certaines locales sont seulment valides pour ICU et doivent
       être configurées avec --icu-locale.
      
--lc-collate=localeIndique le paramètre LC_COLLATE utilisé pour cette base de données.
--lc-ctype=localeIndique le paramètre LC_CTYPE utilisé pour cette base de données.
--builtin-locale=localeIndique le nom de la locale quand le fournisseur natif est utilisé. Le support de la locale est décrit dans Section 23.1.
--icu-locale=localeIndique l'identifiant de la locale ICU à utiliser pour cette base de données si le fournisseur de locale ICU est sélectionnée.
--icu-rules=rulesIndique des règles de collation supplémentaires pour personnaliser le comportement de la collation par défaut de cette base de données. Ceci est uniquement supporté par ICU.
--locale-provider={builtin|libc|icu}Indique le fournisseur de locale pour la collation par défaut de la base de données.
-O propriétaire--owner=propriétaireLe propriétaire de la base de données. (la syntaxe prise en compte est la même que celle d'un identifiant qui accepte les guillemets doubles).
-S strategy--strategy=strategyIndique la stratégie de création de la base. Voir CREATE DATABASE STRATEGY pour plus de détails.
-T modèle--template=modèleLa base de données modèle. (la syntaxe prise en compte est la même que celle d'un identifiant qui accepte les guillemets doubles)
-V--versionAffiche la version de createdb puis quitte.
-?--helpAffiche l'aide sur les arguments en ligne de commande de createdb, puis quitte.
   Les options -D, -l, -E,
   -O et -T correspondent aux options de la
   commande SQL sous-jacente CREATE
   DATABASE, à consulter pour plus d'informations sur ces options.
  
createdb accepte aussi les arguments suivants en ligne de commande, pour les paramètres de connexion :
-h hôte--host=hôteLe nom de l'hôte sur lequel le serveur est en cours d'exécution. Si la valeur commence avec un slash (NDT : barre oblique, /), elle est utilisée comme répertoire du socket de domaine Unix.
-p port--port=portLe port TCP ou l'extension du fichier socket de domaine Unix local sur lequel le serveur attend les connexions.
-U nomutilisateur--username=nomutilisateurLe nom de l'utilisateur utilisé pour la connexion.
-w--no-password
       Ne demande jamais un mot de passe. Si le serveur en réclame un pour
       l'authentification et qu'un mot de passe n'est pas disponible d'une
       autre façon (par exemple avec le fichier .pgpass),
       la tentative de connexion échouera. Cette option peut être utile pour
       les scripts où aucun utilisateur n'est présent pour saisir un mot de
       passe.
      
-W--passwordForce createdb à demander un mot de passe avant la connexion à une base de données.
       Cette option n'est jamais obligatoire car
       createdb demandera automatiquement un mot de
       passe si le serveur exige une authentification par mot de passe.
       Néanmoins, createdb perdra une tentative de
       connexion pour trouver que le serveur veut un mot de passe. Dans
       certains cas, il est préférable d'ajouter l'option -W
       pour éviter la tentative de connexion.
      
--maintenance-db=nom_base_maintenance
       Spécifie le nom de la base de donnée à laquelle se connecter pour créer
       la nouvelle base de donnée. Si elle n'est pas spécifiée, la base de
       données postgres est utilisée ; si elle
       n'existe pas (ou si il s'agit du nom de la nouvelle base à créer), la
       base template1 sera utilisée.
       Ce nom de base peut être remplacé par une chaîne de connexion. Dans ce cas, les
       paramètres de la chaîne de connexion surchargeront toutes les options
       en ligne de commande conflictuelles.
      
PGDATABASES'il est configuré, précise le nom de la base de données à créer. Peut-être surchargé sur la ligne de commande.
PGHOSTPGPORTPGUSER
      Paramètres de connexion par défaut. PGUSER détermine
      aussi le nom de la base de données à créer si ce dernier n'est pas
      spécifié sur la ligne de commande ou par PGDATABASE.
     
PG_COLOR
      Indique s'il faut utiliser la couleur dans les messages de diagnostic.
      Les valeurs possibles sont always,
      auto, never.
     
Cet outil, comme la plupart des autres outils PostgreSQL, utilise aussi les variables d'environnement supportées par la bibliothèque libpq (voir Section 32.15).
En cas de difficulté, on peut se référer à CREATE DATABASE et psql qui présentent les problèmes éventuels et les messages d'erreurs. Le serveur de bases de données doit être en cours d'exécution sur l'hôte cible. De plus, tous les paramètres de connexion et variables d'environnement par défaut utilisés par la bibliothèque d'interface libpq s'appliquent.
   Créer la base de données demo sur le serveur de bases de
   données par défaut :
   
$createdb demo
   Créer la base de données demo sur le serveur hébergé sur
   l'hôte eden, port 5000, en utilisant la base de données
   modèle template0,  voici la commande en ligne de
   commande ainsi que la commande SQL sous-jacente :
   
$createdb -p 5000 -h eden -T template0 -e demoCREATE DATABASE demo TEMPLATE template0;