Installation de PostgreSQL : Un guide complet étape par étape
Installez PostgreSQL sur Linux, macOS ou Windows, puis créez un utilisateur, vérifiez l'accès et configurez des connexions réseau sécurisées.
Installation de PostgreSQL : Un guide complet étape par étape
L'installation de PostgreSQL est généralement simple, mais les détails diffèrent selon Linux, macOS et Windows. L'objectif n'est pas seulement de faire fonctionner le service ; vous avez également besoin d'un utilisateur de base de données utilisable, d'un moyen propre de vous connecter et de paramètres par défaut sécurisés pour l'accès réseau.
Utilisez ce guide pour installer PostgreSQL pour le développement ou une petite configuration de serveur, puis adaptez les chemins et les numéros de version aux paquets actuels de votre système d'exploitation.
Prérequis
Avant de commencer le processus d'installation, assurez-vous que votre système répond à ces exigences de base :
- Privilèges d'administration : Vous aurez besoin de privilèges
sudosur Linux/macOS ou de droits d'administrateur sur Windows pour installer des logiciels et configurer les services système. - Connexion Internet : Requise pour télécharger les paquets d'installation.
- Espace disque suffisant : Bien que l'installation initiale soit relativement petite, votre base de données va croître. Assurez-vous d'avoir un espace disque adéquat pour vos données.
Installation sur Linux
Les distributions Linux proposent généralement PostgreSQL via leurs dépôts de paquets par défaut, ce qui rend l'installation simple.
Debian/Ubuntu
Pour les systèmes basés sur Debian comme Ubuntu, vous pouvez installer PostgreSQL en utilisant apt.
Mettre à jour les listes de paquets : Commencez toujours par mettre à jour les listes de votre gestionnaire de paquets pour vous assurer d'obtenir les derniers paquets disponibles.
sudo apt updateInstaller PostgreSQL : Installez le paquet
postgresql, qui inclut souvent le serveur, les utilitaires clients et la documentation. Vous pouvez spécifier une version (par exemple,postgresql-16) ou installer la version par défaut en utilisant simplementpostgresql.sudo apt install postgresql postgresql-contribLe paquet
postgresql-contribfournit des utilitaires et fonctionnalités supplémentaires.Remarque : Sur Debian/Ubuntu, le service PostgreSQL démarre généralement automatiquement après l'installation, et un utilisateur
postgrespar défaut (à la fois utilisateur système et utilisateur de base de données) est créé.Vérifier l'installation : Vérifiez l'état du service.
sudo systemctl status postgresqlVous devriez voir une sortie indiquant qu'il est
active (exited)ouactive (running).exitedest normal pour l'unité de service principale si elle gère plusieurs clusters qui s'exécutent en tant que processus séparés.
RHEL/CentOS/Fedora
Pour les systèmes basés sur Red Hat, utilisez dnf (ou yum pour les anciennes versions de CentOS/RHEL).
Installer le dépôt PostgreSQL : PostgreSQL fournit son propre dépôt pour les versions plus récentes que celles disponibles dans les dépôts OS par défaut. Il est recommandé d'utiliser celui-ci pour les dernières versions stables.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Pour EL-9, utilisez : sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Remplacez EL-8-x86_64 par votre version et architecture OS spécifiques si nécessaire.Désactiver le module PostgreSQL par défaut (si applicable) : Certaines versions de RHEL/CentOS ont un module PostgreSQL par défaut. Désactivez-le pour éviter les conflits avec le dépôt PGDG.
sudo dnf -qy module disable postgresqlInstaller PostgreSQL : Installez les paquets serveur et contrib. Remplacez
16par votre version souhaitée.sudo dnf install -y postgresql16-server postgresql16-contribInitialiser le cluster de bases de données : Contrairement à Debian/Ubuntu, sur les systèmes basés sur RHEL, vous devez souvent initialiser manuellement le cluster de bases de données.
sudo /usr/pgsql-16/bin/postgresql-16-setup initdbAjustez le chemin
/usr/pgsql-16/binetpostgresql-16-setupen fonction de votre version installée.Démarrer et activer le service PostgreSQL : Démarrez le service et configurez-le pour qu'il se lance au démarrage.
sudo systemctl enable postgresql-16 sudo systemctl start postgresql-16Vérifier l'installation : Vérifiez l'état du service.
sudo systemctl status postgresql-16
Installation sur macOS
Sur macOS, Homebrew est la méthode recommandée et la plus simple pour installer PostgreSQL.
Installer Homebrew (si ce n'est pas déjà fait) :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Suivez les instructions à l'écran, y compris l'ajout de Homebrew à votre
PATH.Installer PostgreSQL : Utilisez Homebrew pour installer PostgreSQL. Vous pouvez spécifier une version (par exemple,
postgresql@16) ou installer la dernière version stable par défaut.brew install postgresqlDémarrer le service PostgreSQL : Homebrew installe PostgreSQL en tant que service d'arrière-plan.
brew services start postgresqlPour l'arrêter :
brew services stop postgresqlPour le redémarrer :brew services restart postgresqlVérifier l'installation : Vérifiez si
psqlest disponible et connecté.psql -VPour vous connecter à la base de données par défaut :
psql postgresAstuce : Pour une expérience visuelle basée sur une application, envisagez Postgres.app, qui offre un moyen simple d'exécuter et de gérer PostgreSQL sans ligne de commande.
Installation sur Windows
Pour Windows, l'installateur graphique EnterpriseDB (EDB) est la méthode la plus courante pour une configuration PostgreSQL locale.
Télécharger l'installateur : Visitez la page de téléchargement officielle de PostgreSQL (www.postgresql.org/download/windows/) et téléchargez le dernier installateur EDB pour votre version de Windows.
Exécuter l'installateur : Exécutez le fichier
.exetéléchargé. L'assistant d'installation vous guidera tout au long du processus.- Répertoire d'installation : Choisissez où PostgreSQL sera installé (par exemple,
C:\Program Files\PostgreSQL\16). - Répertoire de données : Sélectionnez un emplacement pour vos fichiers de base de données (par exemple,
C:\Program Files\PostgreSQL\16\data). C'est crucial et devrait idéalement se trouver sur un disque rapide et fiable. - Mot de passe pour le superutilisateur
postgres: Définissez un mot de passe fort pour le superutilisateur de base de donnéespostgrespar défaut. Souvenez-vous de ce mot de passe car vous en aurez besoin pour vous connecter initialement. - Port : Le port PostgreSQL par défaut est
5432. Il est généralement sûr de laisser cette valeur par défaut sauf si vous avez des conflits. - Locale : Choisissez la locale par défaut pour votre cluster de bases de données.
- Répertoire d'installation : Choisissez où PostgreSQL sera installé (par exemple,
Stack Builder : Après l'installation, l'installateur EDB peut lancer Stack Builder. Cet outil aide à installer des pilotes, outils et extensions supplémentaires (comme
pgAdmin 4). Il est fortement recommandé d'installerpgAdmin 4pour une interface graphique de gestion de vos bases de données.Vérifier l'installation : Après l'installation, vous pouvez ouvrir
pgAdmin 4(généralement trouvé dans le menu Démarrer sous "PostgreSQL 16" ou similaire) et essayer de vous connecter à votre serveur local en utilisant le superutilisateurpostgreset le mot de passe que vous avez défini.
Configuration initiale et étapes post-installation
Une fois PostgreSQL installé, ces étapes sont essentielles pour une configuration fonctionnelle et sécurisée.
1. Définir la variable d'environnement PATH (Optionnel, principalement pour Windows/macOS si psql n'est pas trouvé)
Pour exécuter facilement psql et d'autres binaires PostgreSQL depuis n'importe quel terminal, ajoutez le répertoire bin de PostgreSQL au PATH de votre système.
- Linux : Souvent géré par le gestionnaire de paquets, mais sinon, ajoutez
/usr/pgsql-X.Y/bin(RHEL) ou/usr/lib/postgresql/X.Y/bin(Debian/Ubuntu) à votrePATH. - macOS (Homebrew) :
brewgère cela automatiquement. - Windows : Lors de l'installation EDB, il y a une option pour ajouter au
PATH. Si elle n'est pas sélectionnée, vous pouvez ajouterC:\Program Files\PostgreSQL\16\bin(ajustez la version) manuellement viaPropriétés système > Variables d'environnement.
2. Accéder au terminal psql
psql est l'interface en ligne de commande pour PostgreSQL, cruciale pour l'administration et les requêtes.
Linux/macOS : Basculez vers l'utilisateur système
postgres(créé lors de l'installation).sudo -i -u postgres psqlVous êtes maintenant connecté à la base de données
postgresen tant qu'utilisateurpostgres. Tapez\qpour quitter.Windows : Ouvrez
SQL Shell (psql)depuis le menu Démarrer (PostgreSQL 16 > SQL Shell (psql)). Il vous demandera les détails du serveur et le mot de passe de l'utilisateurpostgres.
3. Créer un nouvel utilisateur de base de données et une nouvelle base de données
Il est de bonne pratique de ne pas utiliser le superutilisateur postgres pour une utilisation quotidienne des applications. Créez un nouvel utilisateur et une nouvelle base de données dédiés.
Connectez-vous en tant que superutilisateur
postgres(comme indiqué ci-dessus).Créez un nouvel utilisateur (rôle) :
CREATE USER monutilisateur WITH PASSWORD 'mot_de_passe_fort';Astuce : Remplacez
monutilisateuretmot_de_passe_fortpar des identifiants sécurisés.Créez une nouvelle base de données et attribuez la propriété :
CREATE DATABASE mabasededonnees OWNER monutilisateur;Accordez des privilèges (si nécessaire, ou le propriétaire de
CREATE DATABASEgère cela pour les opérations de base) :GRANT ALL PRIVILEGES ON DATABASE mabasededonnees TO monutilisateur;Quittez
psql:\q
4. Configurer pg_hba.conf pour l'accès réseau
Le fichier pg_hba.conf contrôle l'authentification des clients. Par défaut, PostgreSQL peut n'autoriser les connexions que depuis localhost (127.0.0.1).
Emplacement : Ce fichier se trouve généralement dans le répertoire de données PostgreSQL (par exemple,
/var/lib/postgresql/16/main/pg_hba.confsur Debian/Ubuntu,/var/lib/pgsql/16/data/pg_hba.confsur RHEL, ouC:\Program Files\PostgreSQL\16\data\pg_hba.confsur Windows).Modifiez le fichier (en tant que root/administrateur) :
sudo nano /etc/postgresql/16/main/pg_hba.conf(Ajustez le chemin pour votre OS et votre version).
Pour permettre à
monutilisateurde se connecter depuis un sous-réseau de confiance en utilisant l'authentification par mot de passe, ajoutez une ligne comme celle-ci :# TYPE DATABASE UTILISATEUR ADRESSE METHODE host mabasededonnees monutilisateur 192.168.1.0/24 scram-sha-256scram-sha-256est la méthode de mot de passe préférée pour les déploiements PostgreSQL modernes. Évitez0.0.0.0/0sauf si le serveur est également protégé par des règles de pare-feu strictes et que vous avez vraiment besoin d'un accès large.Recharger PostgreSQL : Après avoir modifié
pg_hba.conf, vous devez recharger le service PostgreSQL pour que les modifications prennent effet.sudo systemctl reload postgresql # Linux # Pour Homebrew sur macOS : # brew services restart postgresql # Pour Windows, redémarrez le service PostgreSQL via Services.msc
5. Configurer postgresql.conf (Écoute réseau)
Par défaut, PostgreSQL écoute souvent uniquement sur localhost. Pour accepter les connexions depuis d'autres machines, vous devez modifier postgresql.conf.
Emplacement : Ce fichier se trouve généralement dans le même répertoire que
pg_hba.conf.Modifiez le fichier :
sudo nano /etc/postgresql/16/main/postgresql.confTrouvez le paramètre
listen_addresseset modifiez-le uniquement si des clients distants doivent se connecter :#listen_addresses = 'localhost' # sur quelle(s) adresse(s) IP écouter ; listen_addresses = 'localhost,192.168.1.10'Utilisez l'adresse IP privée réelle du serveur au lieu de
192.168.1.10.listen_addresses = '*'fonctionne également, mais il doit être associé à des règlespg_hba.confet de pare-feu restrictives.Redémarrer PostgreSQL : Les modifications de
postgresql.confnécessitent un redémarrage complet du service.sudo systemctl restart postgresql # Linux # brew services restart postgresql # macOS # Pour Windows, redémarrez le service PostgreSQL via Services.msc
Vérifier votre installation
Après toutes les configurations, effectuez une vérification finale :
Vérifiez l'état du service PostgreSQL (
systemctl status postgresqloubrew services listou Services Windows).Connectez-vous en tant que votre nouvel utilisateur à votre nouvelle base de données :
psql -h localhost -U monutilisateur -d mabasededonneesLe mot de passe de
monutilisateurvous sera demandé. En cas de succès, vous verrez l'invitemabasededonnees=>. Tapez\qpour quitter.Si vous vous connectez depuis une machine différente, remplacez
localhostpar l'adresse IP du serveur.
Conseils et bonnes pratiques
- Mots de passe forts : Utilisez toujours des mots de passe forts et uniques pour tous les utilisateurs de la base de données, en particulier le superutilisateur
postgres. - Répertoire de données dédié : Pour la production, envisagez de placer le répertoire de données sur un volume dédié ou une matrice RAID pour les performances et la fiabilité.
- Sauvegardes régulières : Mettez en œuvre une stratégie de sauvegarde robuste dès le premier jour. Les utilitaires
pg_dumpetpg_basebackupde PostgreSQL sont d'excellents outils pour cela. - Restez à jour : Maintenez votre installation PostgreSQL à jour pour bénéficier des corrections de bugs, des correctifs de sécurité et des nouvelles fonctionnalités. Utilisez le gestionnaire de paquets de votre système ou suivez le processus de mise à jour de l'installateur EDB.
- Configuration du pare-feu : Si vous autorisez les connexions distantes, assurez-vous que le pare-feu de votre système (par exemple,
ufw,firewalld, Pare-feu Windows) est configuré pour autoriser le trafic entrant sur le port5432(ou votre port choisi).
Conclusion
Une fois PostgreSQL installé, vérifiez le service, connectez-vous avec psql, créez un rôle d'application et limitez l'accès à distance. Pour la production, votre prochaine étape devrait être les sauvegardes et la surveillance avant que la base de données ne commence à contenir des données importantes.