Présentation
PostgreSQL est un système de gestion de base de données avancé et open source prenant en charge le relationnel (SQL) et non relationnel (JSON).
Dans PostgreSQL, l'accent est mis principalement sur l'extensibilité et la conformité SQL tout en maintenant ACID propriétés (atomicité, cohérence, isolement, durabilité) dans les transactions.
Dans ce didacticiel, vous apprendrez à créer une base de données dans PostgreSQL en utilisant trois méthodes différentes.
Prérequis
- PostgreSQL installé et configuré
- Privilèges d'administrateur
Créer une base de données dans PostgreSQL via pgAdmin
Pour créer une base de données à l'aide de pgAdmin, suivez ces étapes :
Étape 1 :Ouvrez pgAdmin et entrez votre mot de passe pour vous connecter au serveur de base de données.
Étape 2 :Dans la section du navigateur, développez les Serveurs puis PostgreSQL éléments. Cliquez avec le bouton droit sur Bases de données Objet. Cliquez sur Créer et Base de données…
Étape 3 :Une nouvelle fenêtre apparaît dans laquelle vous devez spécifier le nom de la base de données, ajouter un commentaire si nécessaire et cliquer sur Enregistrer .
La base de données apparaît dans les Bases de données arbre d'objets.
La section droite de la fenêtre pgAdmin contient des onglets qui affichent les statistiques de la base de données, les commandes SQL utilisées pour créer la base de données, les dépendances, etc.
Créer une base de données dans PostgreSQL via CREATE DATABASE
Une autre méthode pour créer une base de données PostrgreSQL consiste à utiliser le CREATE DATABASE commande.
Suivez ces étapes pour créer une base de données :
Étape 1 :Ouvrez le SQL Shell (psql) application.
Étape 2 :Connectez-vous au serveur DB en appuyant sur ENTER quatre fois. Tapez votre mot de passe principal si demandé. Si vous n'avez pas configuré de mot de passe, appuyez sur ENTER à nouveau pour se connecter.
Étape 3 :Utilisez la syntaxe suivante pour créer une nouvelle base de données :
CREATE DATABASE [database_name]
À la place de [database_name]
, entrez un nom pour votre base de données. Assurez-vous d'entrer un nom unique car l'utilisation d'un nom de base de données existant entraîne une erreur.
Par exemple :
La création d'une base de données sans spécifier de paramètres utilise les paramètres de la base de données modèle par défaut. Voir les paramètres disponibles dans la section suivante.
Étape 4 :Utilisez la commande suivante pour lister toutes les bases de données dans PostgreSQL :
\l
La sortie affiche une liste des bases de données disponibles et leurs caractéristiques.
CRÉER DES PARAMÈTRES DE BASE DE DONNÉES
Les paramètres disponibles pour créer une base de données sont :
[OWNER = role_name]
Le OWNER
Le paramètre attribue le rôle de propriétaire de la base de données. Omettre le OWNER
signifie que le propriétaire de la base de données est le rôle utilisé pour exécuter le CREATE DATABASE
déclaration.
[TEMPLATE = template]
Le TEMPLATE
Le paramètre vous permet de spécifier la base de données modèle à partir de laquelle créer la nouvelle base de données. Omettre le TEMPLATE
jeux de paramètres template1 comme base de données de modèles par défaut.
[ENCODING = encoding]
Le ENCODING
paramètre détermine l'encodage du jeu de caractères dans la nouvelle base de données.
[LC_COLLATE = collate]
Le LC_COLLATE
Le paramètre spécifie l'ordre de classement de la nouvelle base de données. Ce paramètre contrôle l'ordre de tri des chaînes dans ORDER BY
clause. L'effet est visible lors de l'utilisation d'un paramètre régional qui contient des caractères spéciaux .
Omettre le LC_COLLATE
Le paramètre prend les paramètres de la base de données de modèles.
[LC_CTYPE = ctype]
Le LC_CTYPE
Le paramètre spécifie la classification des caractères utilisée dans la nouvelle base de données. La classification des caractères comprend les minuscules, les majuscules et les chiffres. Omettre le LC_CTYPE
Le paramètre prend les paramètres par défaut de la base de données de modèles.
[TABLESPACE = tablespace_name]
Utilisez le TABLESPACE
paramètre pour spécifier le nom de l'espace de table pour la nouvelle base de données. Omettre le TABLESPACE
prend le nom de l'espace de table de la base de données modèle.
[ALLOW_CONNECTIONS = true | false]
Le ALLOW_CONNECTIONS
le paramètre peut être TRUE
ou FALSE
. Spécifier la valeur comme FALSE
vous empêche de vous connecter à la base de données.
[CONNECTION LIMIT = max_concurrent_connections]
La CONNECTION LIMIT
Le paramètre vous permet de définir le nombre maximal de connexions simultanées à une base de données PostgreSQL. La valeur par défaut est -1
, ce qui signifie des connexions illimitées.
[IS_TEMPLATE = true | false ]
Définissez le IS_TEMPLATE
paramètre à TRUE
ou FALSE
. Définition de IS_TEMPLATE
à TRUE
permet à tout utilisateur avec le CREATEDB
privilège de cloner la base de données. Sinon, seuls les super-utilisateurs ou le propriétaire de la base de données peuvent cloner la base de données.
Pour créer une base de données avec des paramètres, ajoutez le mot-clé WITH
après le CREATE DATABASE
déclaration, puis répertoriez les paramètres souhaités.
Par exemple :
Cet exemple montre comment configurer une nouvelle base de données pour utiliser le codage de caractères UTF-8 et prendre en charge un maximum de 200 connexions simultanées.
Créer une base de données dans PostgreSQL via la commande createdb
Le createdb
La commande est la troisième méthode pour créer une base de données dans PostgreSQL. La seule différence entre createdb
et CREATE DATABASE
commande est que les utilisateurs exécutent createdb
directement depuis la ligne de commande et ajouter un commentaire dans la base de données, tout à la fois.
Pour créer une base de données à l'aide de createdb
commande, utilisez la syntaxe suivante :
createdb [argument] [database_name [comment]]
Les paramètres sont abordés dans la section suivante.
paramètres createdb
Le createdb
les paramètres de syntaxe sont :
Paramètre | Description |
---|---|
[argument] | Arguments de ligne de commande que createdb accepte. Abordé dans la section suivante. |
[database_name] | Définissez le nom de la base de données à la place de database_name paramètre. |
[comment] | Commentaire facultatif à associer à la nouvelle base de données. |
Arguments de ligne de commande createdb
Le createdb
disponible les arguments sont :
Argument | Description |
---|---|
-D | Spécifie le nom de l'espace de table pour la nouvelle base de données. |
-e | Affiche les commandes que createdb envoie au serveur. |
-E | Spécifie le codage de caractères à utiliser dans la base de données. |
-l | Spécifie les paramètres régionaux à utiliser dans la base de données. |
-T | Spécifie la base de données à utiliser comme modèle pour la nouvelle base de données. |
--help | Afficher la page d'aide sur createdb arguments de ligne de commande. |
-h | Affiche le nom d'hôte de la machine exécutant le serveur. |
-p | Définit le port TCP ou l'extension de fichier de socket de domaine Unix local que le serveur utilise pour écouter les connexions. |
-U | Spécifie le nom d'utilisateur à utiliser pour se connecter. |
-w | Instruit createdb ne jamais émettre d'invite de mot de passe. |
-W | Instruit createdb pour émettre une invite de mot de passe avant de se connecter à une base de données. |
Par exemple :
Ici, nous avons créé une base de données appelée mydatabase en utilisant l'utilisateur administrateur par défaut postgres . Nous avons utilisé le phoenixnap base de données comme modèle et a demandé au programme de ne pas demander de mot de passe.
Erreurs courantes de la commandecreatedb
Il existe des erreurs courantes que les utilisateurs peuvent rencontrer lors de l'utilisation de createdb commande.
Voir le createdb
liste d'erreurs ci-dessous :
Erreur | Description |
---|---|
createdb commande introuvable. | Se produit lorsque PostgreSQL n'a pas été installé correctement. Exécutez createdb à partir du chemin d'installation de PostgreSQL ou ajoutez le psql.exe chemin d'accès à la section des variables système dans les paramètres avancés du PC. |
Aucun fichier ou répertoire de ce type Le serveur s'exécute-t-il localement et accepte-t-il connexions sur socket de domaine Unix...? | Se produit lorsque le serveur PostgreSQL n'a pas été correctement démarré ou n'est pas en cours d'exécution. |
Fatale :le rôle "nom d'utilisateur" n'existe pas. | Se produit lorsque les utilisateurs exécutent initdb avec un rôle sans privilèges de superutilisateur. Pour corriger l'erreur, créez un nouvel utilisateur Postgres avec le --superuser option ou connectez-vous au rôle d'administrateur par défaut, postgres . |
Échec de la création de la base de données :ERREUR :autorisation refusée pour créer la base de données. | Apparaît lorsque vous essayez de créer une base de données avec un compte qui ne dispose pas des autorisations nécessaires. Pour corriger l'erreur, accordez des autorisations de superutilisateur au rôle en question. |