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 open source ou d’ajuster les paramètres TCP/IP.
Configuration requise
- Un serveur Cloud qui exécute Linux (CentOS 7 ou Ubuntu 16.04)
- PostgreSQL installé et en cours d’exécution.
- Virtualisation complète avec accès root
- Trafic illimité et jusqu'à 1 Gbit/s de bande passante
- Stockage SSD NVMe rapide et édition Plesk Web Host
« 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 :
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 :
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.
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.
- Sauvegarde automatique et restauration facile
- Gestion et planification intuitives
- Protection contre les menaces basée sur l'IA