Recherche de site Web

Comment installer PostgreSQL à l'aide du code source sous Linux


PostgreSQL, un système de gestion de bases de données relationnelles open source, est largement réputé pour ses fonctionnalités robustes et son extensibilité. Alors que de nombreuses distributions Linux fournissent PostgreSQL via leurs gestionnaires de packages, son installation à partir de la source permet une plus grande personnalisation et un meilleur contrôle.

Dans cet article, nous expliquerons comment installer PostgreSQL 16 à l'aide de l'installation du code source sur les systèmes Linux.

Pour ceux qui recherchent une méthode d'installation plus simple à partir du gestionnaire de packages de distribution, veuillez suivre les guides ci-dessous :

Conditions préalables

Avant de vous lancer dans le processus d'installation de PostgreSQL, assurez-vous que votre système répond aux conditions préalables suivantes :

  • Une distribution Linux (dans ce guide, nous utiliserons Debian à des fins de démonstration).
  • Un système Linux avec un utilisateur non root avec les privilèges sudo.
  • Des outils de développement essentiels tels que GCC et Make sont installés.

1. Installer les prérequis sous Linux

Tout d'abord, installez les outils de développement essentiels tels que GCC et Make à l'aide du gestionnaire de packages de distribution, comme indiqué.

Sur les distributions basées sur RHEL telles que CentOS, Fedora, Rocky Linux et Alma Linux :

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

Sur les distributions basées sur Debian telles que Ubuntu et Linux Mint.

sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config

2. Téléchargez le code source de PostgreSQL

Une fois les conditions préalables nécessaires installées, téléchargez le fichier tar du code source depuis le site Web officiel de Postgres à l'aide de la commande wget suivante directement sur le système. Au moment de la rédaction, la dernière version est PostgreSQL 16.1.

wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Ensuite, utilisez la commande tar pour extraire le fichier tarball téléchargé. Un nouveau répertoire nommé postgresql-16.1 sera créé.

tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l

Exemple de résultat :

-rw-r--r--.  1 tecmint tecmint    365 Nov  7 03:34 aclocal.m4
drwxr-xr-x.  2 tecmint tecmint   4096 Nov  7 03:47 config
-rwxr-xr-x.  1 tecmint tecmint 584560 Nov  7 03:34 configure
-rw-r--r--.  1 tecmint tecmint  87292 Nov  7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint   4096 Nov  7 03:47 contrib
-rw-r--r--.  1 tecmint tecmint   1192 Nov  7 03:34 COPYRIGHT
drwxr-xr-x.  3 tecmint tecmint   4096 Nov  7 03:47 doc
-rw-r--r--.  1 tecmint tecmint   4288 Nov  7 03:34 GNUmakefile.in
-rw-r--r--.  1 tecmint tecmint    277 Nov  7 03:34 HISTORY
-rw-r--r--.  1 tecmint tecmint  64601 Nov  7 03:48 INSTALL
-rw-r--r--.  1 tecmint tecmint   1875 Nov  7 03:34 Makefile
-rw-r--r--.  1 tecmint tecmint 102017 Nov  7 03:47 meson.build
-rw-r--r--.  1 tecmint tecmint   6266 Nov  7 03:34 meson_options.txt
-rw-r--r--.  1 tecmint tecmint   1213 Nov  7 03:34 README
drwxr-xr-x. 16 tecmint tecmint   4096 Nov  7 03:48 src

3. Configurez PostgreSQL à partir de la source

Comme postgres est une base de données open source, elle peut être construite à partir du code source en fonction des besoins/exigences de chacun. nous pouvons personnaliser le processus de création et d'installation en fournissant une ou plusieurs options de ligne de commande pour diverses fonctionnalités supplémentaires.

Utilisez la commande suivante pour obtenir de l'aide sur diverses options et utilisation de la configuration, comme indiqué.

./configure --help

Exécutez maintenant le script de configuration, qui vérifiera les dépendances de votre système et configurera la construction en conséquence.

./configure

4. Installez PostgreSQL à partir des sources

Une fois configuré, utilisez les commandes suivantes pour créer et installer PostgreSQL à partir de la source.

make
sudo make install

5. Création d'un utilisateur Postgres

Créez maintenant un utilisateur et un répertoire postgres à utiliser comme répertoire de données pour initialiser le cluster de bases de données. Le propriétaire de ce répertoire data doit être un utilisateur postgres et les autorisations doivent être 700 et définir également un chemin pour les binaires postgresql pour notre facilité.

sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh 

6. Initialisation de la base de données Postgres

Initialisez maintenant la base de données à l'aide de la commande suivante en tant qu'utilisateur postgres avant d'utiliser des commandes postgres.

su postgres
initdb -D /pgdatabase/data/ -U postgres -W

-D est l'emplacement de ce cluster de base de données ou nous pouvons dire que c'est le répertoire de données dans lequel nous voulons initialiser le cluster de base de données, -U pour le nom du superutilisateur de la base de données et -W pour l'invite de mot de passe pour le superutilisateur de la base de données.

Pour plus d'informations et d'options, nous pouvons nous référer à initdb --help.

7. Démarrez le service PostgreSQL

Après avoir initialisé la base de données, démarrez le cluster de base de données, ou si vous devez modifier le port ou écouter l'adresse du serveur, modifiez le fichier /pgdatabase/data/postgresql.conf dans le répertoire de données de le serveur de base de données.

nano /pgdatabase/data/postgresql.conf

Maintenant, démarrez le service PostgreSQL.

pg_ctl -D /pgdatabase/data/ start

Après avoir démarré la base de données, vérifiez l'état du processus du serveur postgres à l'aide des commandes ps et netstat suivantes.

ps -ef |grep -i postgres
netstat -apn |grep -i 51751

Nous pouvons voir que le cluster de bases de données fonctionne correctement et que les journaux de démarrage peuvent être trouvés à l'emplacement spécifié avec l'option -l lors du démarrage du cluster de bases de données.

pg_ctl -D /pgdatabase/data/ -l logfile start

8. Connectez-vous à PostgreSQL

Connectez-vous maintenant au cluster de base de données et créez une base de données à l'aide des commandes suivantes.

psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

Si vous recherchez un outil graphique appelé pgAdmin pour gérer votre PostgreSQL, suivez ces guides pour installer pgAdmin sur votre distribution Linux.

Conclusion

Vous avez installé avec succès PostgreSQL à partir des sources sur votre système Linux. Ce processus offre flexibilité et contrôle sur votre installation PostgreSQL, vous permettant de l'adapter à vos besoins spécifiques.