# Erreur PostgreSQL « Could not connect to the server » : comment la résoudre ?

L’erreur PostgreSQL « could not connect to the server » peut arriver pour différentes raisons. Il suffit en général de redémarrer ce [système de gestion de base de données](https://www.ionos.fr/digitalguide/hebergement/aspects-techniques/systeme-de-gestion-de-base-de-donnees-sgbd/ "Système de gestion de base de données (SGBD)") open source ou d’ajuster les paramètres TCP/IP.

## Configuration requise

- Un serveur Cloud qui exécute Linux (CentOS 7 ou [Ubuntu](https://www.ionos.fr/digitalguide/serveur/know-how/ubuntu-le-systeme-linux-pour-tous/) 16.04)
- [PostgreSQL](https://www.ionos.fr/digitalguide/serveur/know-how/postgresql/) installé et en cours d’exécution.

## « Could not connect to server: No such file or directory »

L’erreur PostgreSQL « Could not connect to the server : No such file or directory » signifie en général que PostgreSQL n’est pas en cours d’exécution. Néanmoins, cette erreur est en réalité souvent liée à des **problèmes de permissions**.

Pour commencer, utilisez la commande *systemctl status postgresql* pour vérifier le statut de PostgreSQL :

```none
user@localhost:~# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: **active** (exited) since Thu 2017-03-23 21:34:03 UTC; 14s ago
 Main PID: 24289 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/postgresql.service
Mar 23 21:34:03 localhost.localdomain systemd[1]: Starting PostgreSQL RDBMS...
Mar 23 21:34:03 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.
Mar 23 21:34:08 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.
```

Si le statut apparaît comme actif, redémarrez PostgreSQL à l’aide de la commande *systemctl restart postgresql*. Si le statut apparaît comme inactif, lancez PostgreSQL à l’aide de la commande *systemctl start posgresql*.

Si un redémarrage ne suffit pas à résoudre le problème, jetez un œil aux permissions de votre répertoire avec le chemin */var/lib/postgresql/9.6/main*. Le numéro de version 9.6 peut être différent selon votre installation. En principe, les **permissions** liées aux dossiers sont définies sous « **0700** » et les permissions liées aux fichiers sont définies sous « **0600** ». Cela signifie que les dossiers doivent disposer des permissions lire, écrire et exécuter, et les fichiers des permissions lire et écrire. Utilisez la **commande ls** dans le chemin ci-dessus pour afficher les permissions actuelles.

Si vous vous apercevez que les permissions sont différentes, exécutez les commandes suivantes dans la ligne de commande :

```none
sudo chown -R postgres:postgres /var/lib/postgresql/9.6/
sudo chmod -R u=rwX,go= /var/lib/postgresql/9.6/
```

Redémarrez PostgreSQL comme exposé plus haut.

## « Could not connect to server: Connection refused »

Une autre variante de l’erreur PostgreSQL est : « Could not connect to server: Connection refused ».

Pour commencer, utilisez la commande *systemctl-status postgresql* pour vérifier que PostgreSQL est en cours d’exécution. Pour être sûr que PostgreSQL s’exécute, vous pouvez également le redémarrer à l’aide de *systemctl restart postgresql*.

Si ceci ne résout pas le problème, la cause la plus probable de cette erreur est le fait que PostgreSQL n’est pas configuré pour permettre les **connexions** [TCP/IP](https://www.ionos.fr/digitalguide/serveur/know-how/presentation-de-tcp/ "Présentation de TCP").

Pour corriger ceci, éditez votre fichier ***posgresql.conf***. Ces derniers sont accessibles en suivant l’un des chemins d’accès fichiers suivants, selon votre distribution Linux :

- **Ubuntu 16.04 :** sudo nano /etc/postgresql/9.5/main/posgresql.conf
- **CentOS 7 :** sudo nano /usr/pgsql-10/share/postgresql.conf

Vérifiez la **configuration de listen\_address**. Pour autoriser les connexions TCP/IP, elle devrait être définie sur « 0.0.0.0 » (pour autoriser les connexions depuis toutes les adresses IP) ou sur l’adresse IP spécifique du serveur qu’elle autorisera à se connecter.

Si cette configuration est laissée vide ou définie sur localhost, PostgreSQL n’autorisera pas les connexions TCP/IP. Ceci correspond également à la **configuration par défaut** de PostgreSQL.

PostgreSQL n’est pas en mesure de se connecter au serveur lorsque la connexion est bloquée par un pare-feu. Veuillez noter que tous les serveurs Cloud sont concernés par les règles de pare-feu par défaut, lesquelles sont contrôlées depuis le Cloud Panel.


This is a markdown version of: [https://www.ionos.fr/digitalguide/serveur/know-how/lerreur-could-not-connect-to-the-server-sur-postgresql/](https://www.ionos.fr/digitalguide/serveur/know-how/lerreur-could-not-connect-to-the-server-sur-postgresql/) for AI/LLM consumption.