GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer et utiliser PostgreSQL 13 sur Rocky Linux

PostgreSQL est un système de gestion de base de données gratuit et open source axé sur l'extensibilité et la conformité SQL. PostgreSQL est un RDBMS (Relational Database Management System) avancé et de classe entreprise qui prend en charge les requêtes SQL (relationnelles) et JSON (non relationnelles).

Il s'agit d'un système de gestion de base de données très stable soutenu par plus de 20 ans de développement par la communauté open source et jouit d'une solide réputation parmi les développeurs et les administrateurs système pour sa fiabilité, sa flexibilité, la robustesse de ses fonctionnalités et ses performances.

PostgreSQL est utilisé comme base de données principale pour les applications Web, les applications mobiles et les applications analytiques. Certains utilisateurs notables de PostgreSQL dans le monde sont Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, etc.

Dans ce guide, vous apprendrez à installer la base de données PostgreSQL sur Rocky Linux, à sécuriser le déploiement de la base de données PostgreSQL et à utiliser de base les requêtes PostgreSQL pour gérer les utilisateurs et les bases de données.

Prérequis

  • Un système Linux Rocky.
  • Un utilisateur avec des privilèges root ou sudo. Cet utilisateur sera utilisé pour installer de nouveaux packages et apporter des modifications à l'échelle du système.

Ajout d'un référentiel PostgreSQL

Pour ce guide, vous allez installer la dernière version stable de PostgreSQL v13.4. Cette version est disponible sur le référentiel PostgreSQL officiel, vous devez donc ajouter le référentiel PostgreSQL à votre système Rocky Linux.

1. Ajoutez le référentiel PostgreSQL officiel pour le système Rocky Linux en exécutant la commande suivante.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. Ensuite, exécutez la commande suivante ci-dessous pour vérifier que le référentiel PostgreSQL est disponible sur votre système.

sudo dnf -qy repolist

Si le référentiel PostgreSQL est disponible sur votre système, vous verrez plusieurs versions des référentiels PostgreSQL comme la capture d'écran ci-dessous.

Installer PostgreSQL 13 sur Rocky Linux

Pour pouvoir installer PostgreSQL à partir du référentiel PostgreSQL officiel (et non à partir du référentiel Rocky Linux), vous devez désactiver le module de référentiel PostgreSQL intégré.

1. Exécutez la commande suivante ci-dessous pour désactiver le référentiel de modules PostgreSQL intégré.

module sudo dnf -qy désactiver postgresql

La commande exécutera la commande DNF en mode silencieux et acceptera toutes les clés gpg (option -qy ) pour les dépôts PostgreSQL.

2. Après cela, installez la dernière version de PostgreSQL 13.4 à partir du référentiel PostgreSQL à l'aide de la commande dnf ci-dessous.

sudo dnf install postgresql13-server

Tapez 'y ' et appuyez sur 'Entrée ' pour installer PostgreSQL 13.x.

Attendez ensuite l'installation de PostgreSQL.

Initialisation de la base de données PostgreSQL

Ensuite, une fois l'installation de PostgreSQL terminée, vous devez initialiser la configuration de PostgreSQL, puis démarrer et activer le service PostgreSQL.

1. Exécutez la commande suivante pour initialiser la configuration de la base de données PostgreSQL.

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

2. Après cela, démarrez et activez le service PostgreSQL à l'aide de la commande ci-dessous.

sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

Maintenant, le service PostgreSQL est actif et en cours d'exécution, et il s'exécutera automatiquement à chaque démarrage.

3. Exécutez maintenant la commande ci-dessous pour vérifier le service PostgreSQL.

état sudo systemctl postgresql-13

Si votre service PostgreSQL est en cours d'exécution, vous verrez la sortie verte telle que "active(running)" comme ci-dessous. Sinon, vous verrez la sortie rouge telle que "échec " suivi des journaux des messages d'erreur.

Sécuriser le déploiement de PostgreSQL

Lors de l'installation, PostgreSQL créera un nouvel utilisateur système et un nouveau nom d'utilisateur de base de données en tant que "postgres ". Et pour cette étape, vous allez configurer un nouveau mot de passe pour le "postgres " utilisateur, à la fois pour l'utilisateur système et utilisateur de la base de données .

1. Modifier le mot de passe de l'utilisateur système par défaut "postgres " en utilisant la commande suivante.

passwd postgres

Tapez maintenant le nouveau mot de passe pour l'utilisateur système "postgres ".

2. Ensuite, pour changer le mot de passe pour le "postgres " utilisateur de la base de données, vous devez vous connecter au shell PostgreSQL.

Tout d'abord, connectez-vous en tant qu'utilisateur système "postgres " en utilisant la commande suivante.

su - postgres

Connectez-vous maintenant au shell PostgreSQL à l'aide de la commande psql ci-dessous.

psql

Exécutez la requête suivante pour créer un nouveau mot de passe pour le "postgres" par défaut " utilisateur de la base de données.

ALTER USER postgres WITH PASSWORD 'strongpostgrespassword' ;

Tapez maintenant exit et appuyez sur "Ctrl+d " pour quitter et se déconnecter de 'postgres ' shell utilisateur.

Modifier la méthode d'authentification

Par défaut, les utilisateurs locaux de PostgreSQL se connecteront au shell PostgreSQL en utilisant la méthode 'peer'. La méthode d'authentification par les pairs ne fonctionnera que pour les connexions locales. Dans l'environnement de développement, vous pouvez utiliser ce type d'authentification, mais pour la production, envisagez d'utiliser la méthode d'authentification par mot de passe.

Pour cette étape, vous apprendrez à changer la méthode d'authentification par défaut des pairs en authentification par mot de passe à l'aide de 'scram-sha-256 '.

1. Tout d'abord, connectez-vous au shell PostgreSQL à l'aide de la commande suivante.

sudo -u postgres psql

Exécutez maintenant la requête suivante pour vérifier l'emplacement de la configuration PostgreSQL 'pg_hba.conf '.

AFFICHER hba_file ;
AFFICHER password_encryption ;

Vous verrez la sortie comme ci-dessous.

Vous remarquerez que la configuration PostgreSQL "pg_hba.conf" se trouve dans '/var/lib/pgsql/13/data ', et le cryptage par défaut du mot de passe pour PostgreSQL sur le système d'exploitation basé sur RHEL est 'scram-sha-256 '.

Tapez maintenant '\q' pour quitter et quitter le shell PostgreSQL.

2. Ensuite, changez le répertoire de travail en '/var/lib/pgsql/13/data ' et modifiez la configuration 'pg_hba.conf ' à l'aide de l'éditeur nano.

cd /var/lib/pgsql/13/data/
nano pg_hba.conf

Au bas de la ligne, changez la méthode d'authentification locale en 'scram-sha-256 ' comme ci-dessous.

# TYPE  BASE DE DONNÉES        UTILISATEUR            ADRESSE                 MÉTHODE

# "local" est pour les connexions socket de domaine Unix uniquement
local                tous                                                                                                                                                                                                      br />hôte    tous            tous             127.0.0.1/32            scram-sha-256
# Connexions locales IPv6 :
hôte    tous             tous              ::1/128                         

Appuyez maintenant sur 'Ctrl+x ', tapez 'y ', et appuyez sur "Entrée " pour enregistrer et quitter.

En utilisant cette configuration, vous serez invité à entrer le mot de passe pour vous connecter au shell PostgreSQL.

3. Ensuite, appliquez la nouvelle configuration en redémarrant le service PostgreSQL à l'aide de la commande suivante.

sudo systemctl redémarrer postgresql-13

Désormais, chaque fois que vous souhaitez accéder au shell PostgreSQL, vous devez saisir le mot de passe pour l'authentification.

4. Pour vous assurer de la configuration de l'authentification par mot de passe, connectez-vous au shell PostgreSQL à l'aide de la commande suivante.

su - postgres
psql

Maintenant, il vous sera demandé un mot de passe pour l'utilisateur par défaut 'postgres '.

Tapez le mot de passe pour 'postgres ' utilisateur de la base de données et appuyez sur 'Entrée '. Si votre mot de passe est correct, vous verrez le shell PostgreSQL comme suit. Sinon, vous verrez le message 'FATAL ' erreur car le mot de passe est incorrect.

De plus, vous pouvez utiliser la commande en une ligne pour vous connecter au shell PostgreSQL comme ci-dessous.

# Connectez-vous en tant qu'utilisateur "postgres" par défaut
sudo -u postgres psql

# Connectez-vous en tant qu'un autre utilisateur
sudo -u postgres psql -U username

Création d'un nouvel utilisateur et d'une nouvelle base de données pour votre application

À ce stade, vous apprendrez à créer un nouvel utilisateur et une nouvelle base de données sur PostgreSQL.

1. Connectez-vous au shell PostgreSQL en exécutant la commande ci-dessous.

sudo -u postgres psql

Tapez maintenant le mot de passe de l'utilisateur PostgreSQL 'postgres '.

2. Exécutez la requête PostgreSQL ci-dessous pour créer un nouvel utilisateur « johndoe » avec le mot de passe « johndoestrongpassword » et accordez à l'utilisateur les privilèges pour créer une nouvelle base de données et un nouveau rôle.

CREER L'UTILISATEUR johndoe AVEC 
CREATEDB
CREATEROLE
MOT DE PASSE 'johndoestrongpassword';

Après cela, vérifiez le nouvel utilisateur à l'aide de la requête suivante.

\du

Vous verrez maintenant le nouvel utilisateur 'johndoe' avec la liste des rôles 'Créer un rôle ' et 'Créer une base de données ' comme ci-dessous.

3. Ensuite, pour créer une nouvelle base de données utilisateur sur PostgreSQL, exécutez la requête suivante.

CRÉER UNE BASE DE DONNÉES johndoe PROPRIÉTAIRE johndoe ;

Vérifiez maintenant la nouvelle base de données à l'aide de la requête suivante.

\l

Et vous verrez la nouvelle base de données 'johndoe' avec le propriétaire 'johndoe' comme capture d'écran ci-dessous.

Créer un tableau et insérer des données

Après avoir créé une nouvelle base de données et un nouvel utilisateur, vous apprendrez à créer une table, à saisir des données et à afficher les données de la base de données.

1. Connectez-vous maintenant au shell PostgreSQL en tant qu'utilisateur « johndoe » à l'aide de la commande suivante.

su - postgres
psql -U johndoe

Ou vous pouvez utiliser la commande d'une ligne comme ci-dessous.

sudo -u postgres psql -U johndoe

Tapez maintenant le mot de passe de l'utilisateur PostgreSQL 'johndoe ' et appuyez sur 'Entrée ' pour vous connecter.

Comme vous pouvez le voir sur la capture d'écran, vous êtes maintenant connecté au shell PostgreSQL à la base de données 'johndoe=> '.

2. Maintenant, exécutez la requête suivante pour créer une nouvelle table 'utilisateurs' avec quelques colonnes 'id, nom, âge, adresse et salaire'.

Utilisateurs CREATE TABLE (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
salaire         RÉEL
);

Pour afficher les tables disponibles sur la base de données actuelle, utilisez le '\d ' requête comme 'décrire ' comme ci-dessous.

\d

Pour afficher les colonnes sur la table, vous pouvez utiliser la même requête suivie du nom de la table comme ci-dessous.

\d utilisateurs

Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.

3. Ensuite, ajoutez de nouvelles données au tableau en utilisant le 'insert ' requête comme ci-dessous.

INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address, salaire) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada' , 40000.00);

4. Après cela, vous pouvez afficher toutes les données disponibles en utilisant le 'sélectionner ' requête comme ci-dessous.

SELECT * FROM utilisateurs ;

L'option '*' videra toutes les colonnes à l'intérieur de la table.

Pour spécifier la colonne, vous pouvez utiliser le 'sélectionner ' requête comme ci-dessous.

SELECT name,age,salary FROM utilisateurs ;

Vous verrez une sortie similaire à celle ci-dessous.

Conclusion

Toutes nos félicitations! Vous savez maintenant comment installer PostgreSQL sur Rocky Linux. De plus, vous avez appris à déployer PostgreSQL de manière sécurisée (minimale) et l'utilisation de base des requêtes PostgreSQL pour gérer les utilisateurs, les bases de données et les tables.


Rocky Linux
  1. Comment installer Wikijs sur Rocky Linux

  2. Comment installer et utiliser MongoDB sur Rocky Linux 8

  3. Comment installer et utiliser pgAdmin 4 sur Rocky Linux 8

  4. Comment installer et utiliser Podman pour exécuter des conteneurs sur Rocky Linux 8

  5. Comment installer et utiliser Podman dans Rocky Linux/Alma Linux/Centos 8

Comment installer PostgreSQL sur Rocky Linux 8

Comment installer et utiliser Docker dans votre système Linux

Comment installer et utiliser YouTube-DL sur le système Linux

Comment installer et utiliser Google Chrome sur le système Linux

Comment installer et utiliser le compilateur GCC sur le système Linux

Comment installer et utiliser AsciiDoc dans le système Linux