Comment installer PostgreSQL sur CentOS 9 + créer des rôles et des bases de données

Comment installer PostgreSQL sur CentOS 9 + créer des rôles et des bases de données

PostgreSQL est un système de gestion de bases de données relationnelles (SGBDR) open-source connu pour sa capacité à gérer de grandes quantités de données, ce qui en fait un choix populaire pour les applications à grande échelle. 

Il est également compatible avec différents types de données, langages de programmation, piles web et systèmes d’exploitation, y compris des distributions Linux populaires comme CentOS.

Dans ce tutoriel, nous allons expliquer comment installer PostgreSQL sur CentOS 9. Vous apprendrez également les déclarations et les commandes postgres de base pour gérer les rôles et les bases de données.   

Conditions préalables à l’installation de PostgreSQL

Avant d’installer PostgreSQL, assurez-vous que votre serveur répond à la configuration matérielle recommandée :

  • Processeur de 1 GHz.
  • Au moins 2 Go de RAM.
  • Au moins 512 Mo d’espace de stockage. 

Votre système doit également fonctionner sous CentOS 9, car les étapes de l’installation peuvent être différentes dans le cas contraire. 

Si vous ne disposez pas d’un serveur, nous vous recommandons d’acheter un hébergement VPS de Hostinger. Le plan KVM 1, à partir de €5.49/mois, offre 1 cœur vCPU, 4 Go de RAM et 50 Go de stockage, ce qui convient parfaitement à l’hébergement de PostgreSQL. 

De plus, vous pouvez facilement installer divers systèmes d’exploitation Linux sur le VPS Hostinger sans aucune commande – il vous suffit de sélectionner un modèle de système d’exploitation. Nous mettons activement à jour ces modèles afin d’ajouter la prise en charge des distributions les plus récentes, y compris CentOS 9

Les plans VPS Hostinger simplifient également vos tâches de gestion de base de données PostgreSQL. Notre sauvegarde hebdomadaire automatique gratuite et notre scanner de logiciels malveillants intégré vous aideront à maintenir l’intégrité de vos données sans avoir à y consacrer du temps. 

Si vous avez besoin d’aide pour gérer votre serveur, demandez à Kodee, notre assistant IA. Il vous suffit de quelques questions pour obtenir des conseils sur tout ce que vous voulez faire, y compris les commandes. 

Comment installer et créer une base de données PostgreSQL

Voici les étapes pour installer PostgreSQL sur CentOS. Avant de continuer, connectez-vous à votre serveur en utilisant un client SSH comme PuTTY, Terminal, ou le Terminal du navigateur de Hostinger.

1. Télécharger et installer PostgreSQL

Vous pouvez installer le package PostgreSQL de deux manières – via le dépôt officiel ou local. Dans ce tutoriel, nous utiliserons le dépôt officiel car il est mis à jour plus rapidement que le dépôt local. Voici les étapes à suivre :

  1. Ajoutez le dépôt PostgreSQL à votre système en utilisant la commande suivante :
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  1. Désactivez le module PostgreSQL intégré à votre système pour éviter d’installer la mauvaise version :
sudo dnf -qy module disable postgresql
  1. Installez le serveur PostgreSQL en exécutant cette commande. Si vous souhaitez installer une autre version, remplacez 17 par le numéro correspondant :
sudo dnf install -y postgresql17-server
  1. Initialiser la base de données pour mettre en place les fichiers et la configuration nécessaires à PostgreSQL :
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
  1. Lancez et activez PostgreSQL au démarrage en exécutant les commandes suivantes :
sudo systemctl enable postgresql-17

sudo systemctl start postgresql-17

Et c’est tout ! Avant d’accéder à la base de données, assurez-vous que PostgreSQL fonctionne en vérifiant son état à l’aide de cette commande :

sudo systemctl status postgresql-17

2. Se connecter au shell PostgreSQL

Pour gérer votre base de données, vous devez vous connecter à l’interpréteur de commandes PostgreSQL ou psql. Vous pouvez le faire en passant à l’utilisateur root postgres, qui est préconfiguré lors de l’installation :

sudo su postgres

L’invite de votre shell devrait changer. Entrez maintenant dans l’interpréteur de commandes PostgreSQL à l’aide de cette commande :

psql

Une fois que votre ligne de commande devient Postgres=#, vous pouvez gérer votre base de données. Pour quitter l’invite PostgreSQL et revenir à l’interpréteur de commandes principal de votre système, entrez ce qui suit :

\q

3. Créer un nouveau rôle

Un rôle dans PostgreSQL est identique à un utilisateur ou un groupe – une entité que vous pouvez utiliser pour gérer vos bases de données et les permissions d’accès dans PostgreSQL. Pour configurer un rôle, utilisez l’instruction suivante :

CREATE ROLE my_role;

Comme nous n’avons pas défini de mot de passe, la déclaration ci-dessus créera un nouveau rôle sans privilège de connexion. Ce rôle est similaire aux groupes, qui sont utiles pour gérer les privilèges. 

Si vous souhaitez attribuer à un rôle une autorisation de connexion similaire à celle d’un utilisateur, utilisez la commande suivante :

CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password';

Lors de la création d’un rôle, vous pouvez ajouter les autorisations par la suite à l’aide de la commande GRANT. Vous pouvez également utiliser la configuration interactive pour attribuer les privilèges en répondant à des questions. 

Pour ce faire, quittez votre shell PostgreSQL et revenez à l’utilisateur postgres. Exécutez ensuite la commande suivante :

createuser --interactive

Il vous suffit de répondre aux questions pour définir un rôle en fonction de vos besoins. Pour vérifier tous les rôles dans votre base de données, exécutez la commande suivante dans l’interpréteur de commandes psql :

\du

Si vous souhaitez accéder à l’interpréteur de commandes postgres en utilisant ce rôle, vous devez également créer un nouvel utilisateur Linux correspondant dans votre système. Voici la commande :

sudo adduser new-user

La connexion à psql en tant que nouveau rôle nécessite également une base de données. Si l’utilisateur n’en a pas, vous pouvez utiliser la base de données postgres par défaut. La commande peut ressembler à ceci :

sudo -u new-user psql -d postgres 

Important ! Pour accéder à la ligne de commande psql en tant qu’autre utilisateur, exécutez la commande login dans le shell principal de votre système.

4. Créer une nouvelle base de données

Pour créer une nouvelle base de données PostgreSQL, connectez-vous au shell psql en tant qu’utilisateur disposant des autorisations nécessaires. 

Créez maintenant une nouvelle base de données en exécutant la commande suivante. 

CREATE DATABASE db_name;

Listez toutes les bases de données pour vérifier que vous avez bien créé une nouvelle base. Voici la commande :

\l

Maintenant, connectez-vous à la nouvelle base de données en exécutant la commande suivante. Remplacez db_name par le nom réel :

\c db_name

Une fois connecté, vous pouvez vérifier les informations sur la base de données actuelle en entrant ceci :

\conninfo

5. Ajouter et supprimer une table de base de données

Les SGBDR, comme PostgreSQL, organisent les données dans des tables composées de lignes et de colonnes. Pour une gestion plus efficace, vous pouvez regrouper les tables apparentées dans une catégorie appelée schema

Par exemple, vous pouvez organiser les tables relatives aux données des employés et aux factures de paie dans un schéma de ressources humaines (RH). Pour créer un schéma, utilisez l’instruction suivante :

CREATE SCHEMA schema_name;

Pour créer une table dans le schéma, il suffit d’ajouter le nom du schéma au début de votre déclaration, comme suit :

CREATE TABLE schema_name.table_name (

    column1 data_type constraints,

    column2 data_type constraints,

    ...

);

Lors de la création d’un tableau, dressez la liste des colonnes en les séparant par une virgule. Chaque colonne doit contenir un type de données pour spécifier les valeurs à insérer et une contrainte pour définir les critères de données.

Par exemple, vous pouvez définir le type de données sur des entiers, des caractères ou des valeurs booléennes. Parallèlement, vous pouvez définir une contrainte pour n’autoriser que les valeurs non vides ou les données uniques que les autres colonnes ne possèdent pas. 

Voici un exemple de déclaration qui crée une table de données sur les salariés dans le schéma RH, contenant quatre colonnes sur les identifiants, les noms et prénoms, ainsi que la date d’embauche :

CREATE TABLE hr.employees (

    employee_id SERIAL PRIMARY KEY,

    first_name VARCHAR(100) NOT NULL, 

    last_name VARCHAR(100) NOT NULL,

    hire_date DATE NOT NULL  

);

Pour vérifier la table, entrez ce qui suit dans votre shell de ligne de commande psql :

\d table-name

Si vous souhaitez vérifier des tables appartenant à un autre schéma, utilisez plutôt cette commande :

\dt schema-name.table

6. Insérer, mettre à jour et supprimer des données dans un tableau

Après avoir configuré une table et des colonnes, vous pouvez commencer à les remplir avec des données. Pour ce faire, indiquez le tableau et les colonnes dans lesquels vous souhaitez insérer les données, puis listez les valeurs comme suit :

INSERT INTO hr.employees (first_name, last_name, hire_date)

VALUES

    ('John', 'Doe', '2024-01-15'),

    ('Jane', 'Smith', '2023-11-10');

Dans l’exemple, nous insérons des valeurs dans les colonnes prénom, nom et date d’embauche de la table employees. La première ligne contiendra les données relatives à John Doe, tandis que la seconde contiendra les détails relatifs à Jane Smith

Pour vérifier la valeur d’une ligne spécifique, vous pouvez utiliser une condition particulière comme filtre. Par exemple, la procédure suivante permet de rechercher un employé à l’aide de son numéro d’identification :

SELECT * FROM employees

WHERE employee_id = 1;

Vous pouvez également utiliser des conditions pour mettre à jour la valeur d’une ligne spécifique. Par exemple, cette instruction remplacera Jane Smith par Jane Doe :

UPDATE employees

SET last_name = 'Doe'

WHERE employee_id = 2;

En outre, les conditions sont utiles pour supprimer des données. Par exemple, nous allons supprimer les données relatives à un employé dont l’ID est 1 :

DELETE FROM employees

WHERE employee_id = 1;

La suppression d’une ligne entraîne la suppression complète de l’entrée dans votre table. Cette opération n’affectera pas les données voisines, à moins qu’elles ne soient soumises à des contraintes spécifiques, telles que la relation de clé étrangère.

Conclusion

Dans cet article, nous avons expliqué comment installer PostgreSQL sur CentOS 9. Avant de procéder à l’installation, assurez-vous que vous disposez d’un serveur qui répond aux exigences minimales du système, comme le plan KVM 1 VPS de Hostinger. 

Une fois le système en place, installez PostgreSQL en suivant les étapes suivantes :

  1. Téléchargez le dernier package PostgreSQL et activez son service à l’aide de systemctl
  2. Connectez-vous au Shell PostgreSQL en vous connectant au compte postgres et en saisissant psql.
  3. Créez un nouveau rôle dans votre base de données et votre système Linux avec une autorisation de connexion.
  4. Créez une nouvelle base de données à l’aide d’un rôle disposant d’autorisations suffisantes, comme postgres.
  5. Ajoutez une table pour organiser les données dans votre base de données en saisissant l’instruction CREATE
  6. Alimenter et gérer les données dans les tables de votre base de données à l’aide d’instructions telles que INSERT et UPDATE.

Nous espérons que cet article vous a aidé à configurer une base de données PostgreSQL dans votre système CentOS 9. Si vous avez des questions ou des problèmes, laissez-nous un commentaire ci-dessous.

FAQ sur l’installation et la création d’une base de données PostgreSQL

Comment vérifier si PostgreSQL est correctement installé ?

Il existe plusieurs façons de vérifier si PostgreSQL est installé. La première consiste à démarrer la base de données à l’aide de la commande systemctl :
sudo systemctl start postgresql-17
Veillez à remplacer 17 par la version que vous avez installée. Si votre ligne de commande renvoie une erreur à propos d’un service manquant, cela signifie que PostgreSQL n’est pas configuré correctement. 
Une autre méthode consiste à se connecter à la ligne de commande PostgreSQL en utilisant la procédure suivante :
sudo -u postgres psql
Si vous voyez l’erreur Command not found, cela signifie que le SGBDR n’est pas correctement installé.

Comment accéder à l’interface de ligne de commande de PostgreSQL ?

Pour accéder à l’interface de ligne de commande PostgreSQL, également connue sous le nom de shell psql, passez au compte postgres par défaut à l’aide de cette commande :
sudo su postgres
Maintenant, entrez simplement psql, et votre shell devrait se transformer en PostgreSQL, indiquant que vous avez accédé à l’interface de ligne de commande. Pour quitter l’interpréteur de commandes, entrez ce qui suit :
\q
Vous pouvez également utiliser une seule commande dans votre shell principal pour entrer dans psql comme suit :
sudo -u postgres psql

Pourquoi rencontre-t-on des problèmes lors de l’installation de PostgreSQL ?

Plusieurs facteurs peuvent causer des problèmes lors de l’installation de PostgreSQL. Si vous rencontrez des erreurs lors du téléchargement du package, vérifiez que votre commande est correcte et qu’elle utilise la bonne URL de téléchargement en fonction de votre système d’exploitation.
En cas de problème lors de la connexion au shell psql, vérifiez si le service postgresql est en cours d’exécution à l’aide de cette commande :
sudo systemctl status postgresql-17
Si l’état de PostgreSQL n’est pas en cours d’exécution, démarrez-le manuellement à l’aide de cette commande :
sudo systemctl start postgresql-17 

Pourquoi ne puis-je pas me connecter à un autre rôle PostgreSQL ?

Si vous ne pouvez pas vous connecter à un nouveau rôle PostgreSQL, assurez-vous que vous avez créé l’utilisateur correspondant dans votre système LInux. Par exemple, si vous configurez le rôle new_user, votre serveur doit également avoir le même compte new_user
En outre, vous devez spécifier la base de données à laquelle se connecter. Si le nouvel utilisateur n’en a pas, utilisez la base de données postgres par défaut en suivant cette commande :
sudo -u NewUser psql -d postgres
En outre, essayez de créer le nouveau rôle en utilisant l’instruction suivante au lieu du mode interactif pour accorder explicitement le privilège de connexion. 
CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password' ;

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.