J'essaie d'exécuter psql
sur ma machine Vagrant, mais j'obtiens cette erreur:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting connections on
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Remarque: Vagrant 1.9.2Box: ubuntu/trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64
EDIT Les commandes que j'ai utilisées pour installer et exécuter postgres:
Sudo apt-get update
Sudo apt-get install postgresql
Sudo su postgres
psql -d postgres -U postgres
J'ai eu le même problème, lié à la configuration de mon fichier pg_hba.conf (situé dans /etc/postgresql/9.6/main
). Veuillez noter que 9.6 est la version postgresql que j'utilise.
L'erreur elle-même est liée à une mauvaise configuration de postgresql, ce qui provoque le blocage du serveur avant son démarrage.
Je suggérerais de suivre ces instructions:
Sudo service postgresql start
pg_lsclusters
à partir de votre terminalVérifiez quel est le cluster que vous utilisez, le résultat devrait ressembler à ceci:
Version - Répertoire de données du propriétaire du statut du port du cluster
9.6 ------- main - 5432 online postgres /var/lib/postgresql/9.6/main
Ne tenez pas compte des signes '---', car ils ne sont utilisés que pour l'alignement . Les informations importantes sont la version et le cluster. Vous pouvez également vérifier si le serveur est en cours d'exécution ou non sur la colonne d'état.
pg_ctlcluster <version> <cluster> start
, donc dans mon cas, avec la version 9.6 et le cluster 'main', ce serait pg_ctlcluster 9.6 main start
/var/log/postgresql/postgresql-<version>-main.log
. Dans mon cas, la commande complète serait donc Sudo nano /var/log/postgresql/postgresql-9.6-main.log
.2017-07-13 16:53:04 BRT [32176-1] LOG: méthode d'authentification non valide "tous"
2017-07-13 16:53:04 BRT [32176-2] CONTEXT: ligne 90 du fichier de configuration "/etc/postgresql/9.5/main/pg_hba.conf"
2017-07-13 16:53:04 BRT [32176-3] FATAL: impossible de charger pg_hba.conf
Sudo service postgresql restart
et tout devrait bien se passer.J'ai beaucoup cherché pour trouver cela, le crédit revient à ceci post .
Bonne chance!
pg_ctl -D /usr/local/var/postgres start
FATAL: could not open directory "pg_tblspc": No such file or directory
.mkdir /usr/local/var/postgres/pg_tblspc
FATAL: lock file "postmaster.pid" already exists
rm /usr/local/var/postgres/postmaster.pid
pg_ctl -D /usr/local/var/postgres start
Le /etc/postgresql/9.6/main/postgresql.conf
indique-t-il que le port est attribué? Sur mon installation Linux Xubuntu par défaut, le mien a montré le port = 5433 pour une raison quelconque, mais je me suis souvenu de la ligne dans ce même fichier qui disait listen_addresses = 'localhost'
et décommentait la ligne listen_addresses = '*'
. Alors peut-être commencer et vérifier là-bas. J'espère que cela pourra aider.
Je ne fais que poster ceci pour tous ceux qui se sentent perdus et sans espoir, comme je l’ai fait quand j’ai trouvé cette question. Il semble que parfois, en modifiant certains fichiers de configuration liés à psotgresql, il est possible de modifier accidentellement les autorisations du fichier:
Notez que pg_hba.conf appartient à root et que les utilisateurs ne peuvent même pas le lire. Cela empêche Postgres d’ouvrir ce fichier et donc de ne pas pouvoir démarrer le serveur, ce qui jettera l’erreur constatée dans la question initiale.
En exécutant
Sudo chmod +r pg_hba.conf
J'ai été capable de rendre ce fichier à nouveau accessible à l'utilisateur postgres, puis après avoir exécuté
Sudo service postgresql start
A pu remettre le serveur en marche.
utiliser ci-dessous la commande
rm -rf/usr/local/var/postgres && initdb/usr/local/var/postgres -E utf8
Cela fonctionne pour moi:
pg_ctl -D /usr/local/var/[email protected] stop;
brew services stop [email protected];
brew services start [email protected];
Ouvrez votre gestionnaire de base de données et exécutez ce script.
update pg_database set datallowconn = 'true' where datname = 'your_database_name';
La même chose m’est arrivée lorsque j’avais changé quelque chose dans le fichier /etc/hosts
. Après le remettre à 127.0.0.1 localhost
cela a fonctionné pour moi.
J'ai eu la même erreur lorsque je crée la base de données SQL dans une machine virtuelle. J'avais changé la valeur par défaut de /etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MB
à 75% de ma RAM totale. Eh bien, j'ai oublié d'allouer réellement cette RAM dans la machine virtuelle. Lorsque j'ai donné la commande de créer une nouvelle base de données, j'ai reçu la même erreur.
Eteint, a donné au bébé son biberon (RAM) et hop, ça a marché.
J'ai pu résoudre le problème en exécutant:
Sudo systemctl start [email protected]
il suffit de réinstaller votre pgsql avec la version directe Sudo apt-get install postgresql-9.5 (vous devez supprimer le paquet avant d’installer le nouveau).
Dans zsh:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
C'est la seule chose qui a fonctionné pour moi après d'innombrables heures de problèmes.