CodeGym /Cours /SQL SELF /Erreurs typiques lors de l'installation et la configurati...

Erreurs typiques lors de l'installation et la configuration de PostgreSQL

SQL SELF
Niveau 4, Leçon 1
Disponible

1. Les composants principaux de PostgreSQL

L'installeur doit te mettre en place trois trucs principaux : le serveur et deux clients. Je t'explique vite fait ce que c'est.

Serveur postgres

C'est le cœur de PostgreSQL. Le serveur s'occupe de :

  • Traiter les requêtes des clients.
  • Gérer les données : lecture, écriture, mise à jour.
  • Assurer la sécurité et l'intégrité des données.

Quand tu lances le serveur PostgreSQL, il est prêt à recevoir des requêtes des clients.

Clients

Les clients, c'est des programmes qui se connectent au serveur et lui envoient des requêtes SQL. Dans PostgreSQL, il y a quelques clients populaires :

  • Le programme psql : une interface en ligne de commande pour bosser avec PostgreSQL. Parfait pour les devs "old school" et les fans du terminal.
  • Le programme pgAdmin : une interface graphique pour gérer le serveur. C'est un peu le couteau suisse pour bosser avec les bases de données — joli et pratique.
  • D'autres clients : en vrai, il existe des dizaines de libs et d'outils pour bosser avec PostgreSQL depuis d'autres langages, genre psycopg3 pour Python ou pg pour Ruby.

Comment tout ça marche ensemble ? L'utilisateur lance une requête via un client (psql/pgAdmin) → le client envoie la requête au serveur postgres → le serveur traite la requête, utilise les données du système de fichiers et sa mémoire → le résultat revient au client.

2. Se connecter à la base via le terminal

Comme tu t'en souviens sûrement, psql c'est le programme pour bosser avec PostgreSQL en ligne de commande. C'est nickel si tu veux checker un truc vite fait, lancer une requête ou explorer la base.

Exemple : utiliser psql


# On se connecte au serveur
psql -U postgres

Si tout roule, tu verras un écran du genre :


psql (17.5)
Tape "help" pour l'aide.

postgres=#

Bravo, tu es dans la ligne de commande de psql !

Une fois connecté, tu peux taper des commandes :


-- Créer une base de données
CREATE DATABASE test_db;

-- Voir la liste des bases
\l

-- Se connecter à une base précise
\c test_db

-- Quitter la session
\q

C'est un outil génial pour ceux qui aiment bosser "en direct".

3. Problèmes courants à l'installation

Et si jamais ça ne marche pas ? Si tu ne vois pas la liste des bases, ou même pas moyen de te connecter ? L'installeur a fini, et puis plus rien 😡 Des erreurs, des insultes dans le terminal, postgres ne démarre pas, psql fait genre il ne te connaît pas. Ça te parle ? Félicitations — t'es au stade classique du « j'ai tout bien fait, mais rien ne marche ». 😅

On va passer en revue les pièges classiques dans lesquels tombe un débutant sur deux. Et on fait ça à tête froide, avec un bon thé chaud et la ferme intention de dégommer toutes les erreurs dans les logs. Alors prends ton mal en patience — aujourd'hui, on met de l'ordre et on soigne PostgreSQL du syndrome « ça marche que chez le mentor ». 🛠️🐘

Problème 1. Conflit de ports

Clairement, c'est un des cas les plus fréquents. Par défaut, PostgreSQL utilise le port 5432 pour se connecter au serveur. Si ce port est déjà pris par une autre appli, l'installation se passe bien, mais impossible de lancer le serveur.

Comment reconnaître le souci ?

Au lancement de PostgreSQL, le serveur refuse de bosser, ou affiche un message du genre :


could not bind IPv4 socket: Address already in use

Solution :

Vérifie quelle appli utilise le port 5432. Sous Linux, tu peux faire :


sudo netstat -tuln | grep 5432

Sous Windows, dans le terminal :


netstat -ano | find "5432"

Si le port est vraiment pris, tu peux changer le port de PostgreSQL. Ouvre le fichier postgresql.conf (il est dans le dossier data de PostgreSQL) et trouve la ligne :


#port = 5432

Change le port pour un dispo, genre :


port = 5433

N'oublie pas de relancer le serveur après la modif.

Problème 2. Droits insuffisants

Sous Windows, tu peux tomber sur un cas où l'installeur PostgreSQL n'arrive pas à finir l'installation, parce que l'utilisateur courant n'a pas assez de droits.

Comment reconnaître le souci ?

L'installeur bloque ou affiche un message sur le manque de droits.

Solution :

Lance l'installation en tant qu'admin. Clique droit sur l'installeur et choisis "Exécuter en tant qu'administrateur".

Problème 3. Problèmes avec les variables d'environnement

Parfois, après avoir installé PostgreSQL, la commande psql n'est pas reconnue dans le terminal.

Comment reconnaître le souci ?

Quand tu essaies de lancer psql, tu vois un message du genre :


'psql' is not recognized as an internal or external command

Solution :

Cette erreur vient du fait que le chemin vers le dossier des binaires PostgreSQL (genre C:\Program Files\PostgreSQL\17\bin) n'est pas ajouté dans les variables d'environnement.

Pour corriger ça sous Windows :

  1. Ouvre "Propriétés système" → "Avancé" → "Variables d'environnement".
  2. Repère la variable Path dans "Variables système" et édite-la.
  3. Ajoute le chemin vers le dossier bin de PostgreSQL. Par exemple :
    
    C:\Program Files\PostgreSQL\17\bin
            
  4. Après ça, relance le terminal.

4. Erreurs de connexion au serveur

Parfois tout roule : tu lances PostgreSQL, tu ouvres psql et la connexion à la base se fait sans souci. Mais parfois, bim, une erreur. Quelque chose bloque. Le mot de passe a l'air bon, le serveur tourne... Mais psql te fait la gueule.

Panique pas — ça arrive à tout le monde. On va voir ci-dessous les problèmes de connexion les plus fréquents et comment les régler vite fait.

Problème 1. Mauvais mot de passe pour l'utilisateur postgres

Quand tu installes PostgreSQL, tu choisis un mot de passe pour le superutilisateur SGBD postgres. Si tu l'as oublié ou mal tapé, tu ne pourras pas te connecter au serveur.

Comment reconnaître le souci ?

Quand tu tapes la commande de connexion :


psql -U postgres

Tu obtiens une erreur du genre :


password authentication failed for user "postgres"

Solution :

Si tu as oublié le mot de passe de postgres, tu peux le réinitialiser :

  1. Ouvre le fichier pg_hba.conf, qui est dans le dossier data de PostgreSQL C:\Program Files\PostgreSQL\17\data
  2. Remplace la ligne :
    
    host    all             all             127.0.0.1/32            md5
            
    Par :
    
    host    all             all             127.0.0.1/32            trust
            

    Ça désactive temporairement la vérif du mot de passe.

  3. Redémarre le serveur PostgreSQL.
  4. Connecte-toi à la base sans mot de passe :
    
    psql -U postgres
            
  5. Change le mot de passe avec la commande :
    
    ALTER ROLE postgres PASSWORD 'new_password';
            
  6. Remets pg_hba.conf comme avant et redémarre le serveur.

Problème 2. Mauvais host ou port

Si le client psql n'arrive pas à se connecter au serveur, vérifie que tu as bien mis le bon host et port dans la config.

Comment reconnaître le souci ?

L'erreur de connexion peut ressembler à :


could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

Solution :

Vérifie que le serveur PostgreSQL tourne :


systemctl status postgresql

(Linux) ou ouvre "Services" sur Windows (Ctrl+Shift+Esc).

Si le serveur tourne, checke la config dans pg_hba.conf. Vérifie que les lignes de connexion pour localhost (127.0.0.1) et ton IP sont bien réglées. Par exemple :


host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.100/32        md5

5. Conseils généraux pour résoudre les problèmes

  • Utilise les logs de PostgreSQL
    Les logs, c'est ton meilleur pote. Ils sont dans le dossier data de PostgreSQL (genre /var/log/postgresql/ sous Linux). Si ça foire, commence par lire les logs.
  • Checke la doc
    PostgreSQL a une des meilleures docs qui existent. Si tu tombes sur une erreur, y'a de grandes chances que la solution soit dans la doc officielle : https://www.postgresql.org/docs/.
  • Utilise la communauté
    Si t'es bloqué, va sur Stack Overflow, ChatGPT ou les forums PostgreSQL. T'as de bonnes chances de trouver une solution toute faite.

P.S.

Important ! Si rien ne marche du tout — écris-nous au support : on t'aidera à régler ton souci, et on complétera cet article après.

2
Mission
SQL SELF, niveau 4, leçon 1
Bloqué
Vérification de la connexion au serveur PostgreSQL avec une requête SQL
Vérification de la connexion au serveur PostgreSQL avec une requête SQL
2
Mission
SQL SELF, niveau 4, leçon 1
Bloqué
Trouver le port actuel du serveur PostgreSQL
Trouver le port actuel du serveur PostgreSQL
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION