PostgreSQL - CRÉER une base de données

Ce chapitre explique comment créer une nouvelle base de données dans votre PostgreSQL. PostgreSQL propose deux façons de créer une nouvelle base de données -

  • Utilisation de CREATE DATABASE, une commande SQL.
  • Utilisation de createdb un exécutable de ligne de commande.

Utilisation de CREATE DATABASE

Cette commande créera une base de données à partir de l'invite du shell PostgreSQL, mais vous devriez avoir le privilège approprié pour créer une base de données. Par défaut, la nouvelle base de données sera créée en clonant le modèle de base de données système standard1 .

Syntaxe

La syntaxe de base de l'instruction CREATE DATABASE est la suivante -

CREATE DATABASE dbname;

dbname est le nom d'une base de données à créer.

Exemple

Ce qui suit est un exemple simple, qui créera testdb dans votre schéma PostgreSQL

postgres=# CREATE DATABASE testdb;
postgres-#

Utilisation de la commande createdb

L'exécutable de ligne de commande PostgreSQL createdb est un wrapper autour de la commande SQL CREATE DATABASE . La seule différence entre cette commande et la commande SQL CREATE DATABASE est que la première peut être exécutée directement à partir de la ligne de commande et qu'elle permet d'ajouter un commentaire dans la base de données, le tout en une seule commande.

Syntaxe

La syntaxe de createdb est la suivante:

createdb [option...] [dbname [description]]

Paramètres

Le tableau ci-dessous répertorie les paramètres avec leurs descriptions.

S. Non. Paramètre et description
1

dbname

Le nom d'une base de données à créer.

2

description

Spécifie un commentaire à associer à la base de données nouvellement créée.

3

options

arguments de ligne de commande, que createdb accepte.

Options

Le tableau suivant répertorie les arguments de ligne de commande que crééb accepte -

S. Non. Option et description
1

-D tablespace

Spécifie l'espace de table par défaut pour la base de données.

2

-e

Faites écho aux commandes que createdb génère et envoie au serveur.

3

-E encoding

Spécifie le schéma de codage de caractères à utiliser dans cette base de données.

4

-l locale

Spécifie les paramètres régionaux à utiliser dans cette base de données.

5

-T template

Spécifie la base de données modèle à partir de laquelle créer cette base de données.

6

--help

Afficher l'aide sur les arguments de ligne de commande createdb et quitter.

sept

-h host

Spécifie le nom d'hôte de la machine sur laquelle le serveur s'exécute.

8

-p port

Spécifie le port TCP ou l'extension de fichier socket de domaine Unix local sur lequel le serveur écoute les connexions.

9

-U username

Nom d'utilisateur sous lequel se connecter.

dix

-w

N'émettez jamais une invite de mot de passe.

11

-W

Forcer createdb à demander un mot de passe avant de se connecter à une base de données.

Ouvrez l'invite de commande et accédez au répertoire où PostgreSQL est installé. Accédez au répertoire bin et exécutez la commande suivante pour créer une base de données.

createdb -h localhost -p 5432 -U postgres testdb
password ******

La commande ci-dessus vous demandera le mot de passe de l'utilisateur admin PostgreSQL, qui est postgres, par défaut. Par conséquent, fournissez un mot de passe et procédez à la création de votre nouvelle base de données

Une fois qu'une base de données est créée à l'aide de l'une des méthodes mentionnées ci-dessus, vous pouvez la vérifier dans la liste des bases de données en utilisant \l, c'est-à-dire, commande el anti-slash comme suit -

postgres-# \l
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges   
-----------+----------+----------+---------+-------+-----------------------
 postgres  | postgres | UTF8     | C       | C     | 
 template0 | postgres | UTF8     | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | UTF8     | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 testdb    | postgres | UTF8     | C       | C     | 
(4 rows)

postgres-#