PostgreSQL est un système de gestion de base de données relationnelle objet (ORDBMS) gratuit et open source disponible pour diverses plates-formes, notamment Linux, Microsoft Windows et Mac OS X.
PostgreSQL est développé par le PGDG (PostgreSQL Global Development Group) et publié sous la licence PostgreSQL, un logiciel libre et open-source.
Dans cet article, nous verrons comment installer PostgreSQL sur CentOS 8 / Rocky Linux 8 / RHEL 8.
Installer PostgreSQL sur CentOS 8 / Rocky Linux 8 / RHEL 8
Vous pouvez obtenir des packages PostgreSQL pour CentOS 8/Rocky Linux 8/RHEL 8 de deux manières.
- Référentiel PostgreSQL officiel (v14, 13, 12, 11, 10)
- Dépôt AppStream (v13,12,10, 9.6)
Installer PostgreSQL à partir du référentiel PostgreSQL officiel
La communauté PostgreSQL propose des packages PostgreSQL pour CentOS 8 / Rocky Linux 8 / RHEL 8. Les packages fournis par PostgreSQL sont toujours frais et pris en charge par la communauté PostgreSQL.
Ajouter un référentiel PostgreSQL
Tout d'abord, installez la configuration du référentiel PostgreSQL sur votre système, comme indiqué ci-dessous.
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Installer PostgreSQL
Ensuite, installez le serveur PostgreSQL en utilisant le dnf
commande en mentionnant sa version postgresql<VERSION>-server
. Pour cette démo, j'installe PostgreSQL 14.
dnf -qy module disable postgresql dnf install -y postgresql14-server
Après avoir installé PostgreSQL, initialisez la base de données avant de l'utiliser pour la première fois.
/usr/pgsql-14/bin/postgresql-14-setup initdb
Sortie :
Initializing database ... OK
Les données PostgreSQL se trouvent généralement dans le répertoire /var/lib/pgsql/14/data/.
Gérer le service PostgreSQL
Pour démarrer le service PostgreSQL, exécutez :
systemctl start postgresql-14
Pour activer PostgreSQL au démarrage du système, exécutez :
systemctl enable postgresql-14
Pour vérifier l'état du service PostgreSQL, exécutez :
systemctl status postgresql-14
Configurer le serveur PostgreSQL
Par défaut, PostgreSQL écoute sur l'hôte local. Par conséquent, seules les applications exécutées sur le serveur peuvent se connecter au serveur de base de données par défaut et empêcher les applications externes de se connecter à la base de données.
Modifiez le fichier de configuration pour activer l'accès au service de base de données pour les machines externes.
vi /var/lib/pgsql/14/data/postgresql.conf
Définissez les listen_addresses sur *.
listen_addresses = '*'
Redémarrez le service PostgreSQL.
systemctl restart postgresql-14
Confirmez l'écoute de PostgreSQL sur le port 5432 sur toutes les interfaces réseau à l'aide de la commande netstat.
netstat -antup | grep 5432
Sortie :
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 4156/postmaster tcp6 0 0 :::5432 :::* LISTEN 4156/postmaster
Installer PostgreSQL à partir du référentiel AppStream
PostgreSQL est désormais disponible pour RHEL 8 à partir du flux d'application de Red Hat (rhel-8-for-x86_64-appstream-rpms) et CentOS 8 à partir du référentiel AppStream. PostgreSQL 13, 12, 10 et 9.6 sont disponibles à partir du référentiel AppStream.dnf module list postgresql
Sortie :
Name Stream Profiles Summary postgresql 9.6 client, server [d] PostgreSQL server and client module postgresql 10 [d] client, server [d] PostgreSQL server and client module postgresql 12 client, server [d] PostgreSQL server and client module postgresql 13 client, server [d] PostgreSQL server and client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Installer PostgreSQL
Installez PostgreSQL en utilisant le dnf
commande. Vous pouvez installer une autre version avec postgresql:stream
dans la commande dnf.
# PostgreSQL 10 dnf install -y @postgresql # PostgreSQL 13 dnf install -y @postgresql:13
Après avoir installé PostgreSQL, initialisez la base de données avant de l'utiliser pour la première fois.
/usr/bin/postgresql-setup --initdb
Sortie :
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Les données PostgreSQL se trouvent généralement dans le répertoire /var/lib/pgsql/data.
Gérer le service PostgreSQL
Pour démarrer le service PostgreSQL, exécutez :
systemctl start postgresql
Pour activer PostgreSQL au démarrage du système, exécutez :
systemctl enable postgresql
Pour vérifier l'état du service PostgreSQL, exécutez :
systemctl status postgresql
Configurer le serveur PostgreSQL
Par défaut, PostgreSQL écoute sur l'hôte local. Par conséquent, seules les applications exécutées sur le serveur peuvent se connecter au serveur de base de données par défaut et empêcher les applications externes de se connecter à la base de données.
Modifiez le fichier de configuration pour activer l'accès au service de base de données pour les machines externes.
vi /var/lib/pgsql/data/postgresql.conf
Définissez les listen_addresses sur *.
listen_addresses = '*'
Redémarrez le service PostgreSQL.
systemctl restart postgresql
Confirmez l'écoute de PostgreSQL sur le port 5432 sur toutes les interfaces réseau à l'aide de la commande netstat.
netstat -antup | grep 5432
Sortie :
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 4156/postmaster tcp6 0 0 :::5432 :::* LISTEN 4156/postmaster
Accéder au serveur PostgreSQL
Pour accéder ou travailler avec la base de données, connectez-vous en tant qu'utilisateur postgres (utilisateur Linux) et exécutez psql
commande.
su -l postgres
Accédez à la base de données à l'aide de la commande psql.
$ psql
Sortie :
psql (13.5) Type "help" for help. postgres=#
Définir le mot de passe pour l'utilisateur postgres (administrateur de la base de données).
postgres=# \password
Conclusion
C'est tout. J'espère que vous avez appris à installer PostgreSQL sur CentOS 8 / Rocky Linux 8 / RHEL 8.