CREATE DATABASE

Nom

CREATE DATABASE — Crée une nouvelle base de données.
CREATE DATABASE name [ WITH LOCATION = 'dbpath' ]
  

Entrées

name

nom de la base à créer

dbpath

une localisation différente peut être spécifiée comme, ou une variable d'environement connue du serveur (ex. 'PGDATA2'), ou comme nom de chemin absolu (ex. '/usr/local/pgsql/data'). Dans chaque cas la localisation doit être pre-configurée par initlocation.

Sorties

CREATEDB

message retourné commande est exécutée correctement.

WARN: createdb: database "name" already exists.

apparaît lorsque la base spécifiée existe déja.

ERROR: Unable to create database directory directory

problème lors de la création du répertoire; cette opération nécessitera les permissions pour l'utilisateur postgres sur la localisation spécifiée.

Description

CREATE DATABASE crée une nouvelle base Postgres. Le créateur en devient l'administrateur.

Notes

CREATE DATABASE est une extension du langage Postgres.

Utilisez DROP DATABASE pour supprimer une base.

Utilisation

Pour créer une nouvelle base :
olly=> create database lusiadas;
   

pour créer une nouvelle base sur un site distant ~/private_db:
$ mkdir private_db
$ initlocation ~/private_db
Creating Postgres database system directory /home/olly/private_db/base
   
   $ psql olly
   Welcome to the POSTGRESQL interactive sql monitor:
    Please read the file COPYRIGHT for copyright terms of POSTGRESQL
    
    type \? for help on slash commands
    type \q to quit
    type \g or terminate with semicolon to execute query
    You are currently connected to the database: template1
    
    olly=> create database elsewhere with location = '/home/olly/private_db';
   CREATEDB
   

Bugs

Il existe des problèmes de sécurité et d'intégrité des données en utilisant des bases distantes spécifiées par un chemin absolu, et par défaut seulement une variable d'environement connue par le serveur peut être spécifiée pour une location distante. Voir le guide de l'administrateur pour plus d'information.

Compatibilité

SQL92

Il n'existe pas d'état CREATE DATABASE dans SQL92.

La commande équivalente en SQL standard est CREATE SCHEMA.