Lorsque j'essaie d'accéder à postgres via une application web, ou d'ouvrir le shell postgres avec psql -d template1
, j'obtiens une erreur.Pourquoi ne puis-je pas accéder à postgres lors de son exécution en tant que service?
psql: Impossible de se connecter au serveur: Aucun fichier ou répertoire est le serveur fonctionnant localement et d'accepter les connexions sur le domaine Unix socket « /tmp/.s.PGSQL.5432 »?
(* J'ai lu un certain nombre de threads SO au sujet de cette erreur, mais les solutions recommandées ne fixent pas pour moi)
postgres Démarrer en tant que service:
brew services restart postgresql
Arrêt
postgresql
... (peut prendre un certain temps) ==> Arrêté avec succèspostgresql
(label: homebrew.mxcl.postgresql) ==> Étoile avec succès tedpostgresql
(label: homebrew.mxcl.postgresql)
exécuter manuellement postgres dans un terminal:
Je peux tout au travail en cours d'exécution ci-dessous dans une fenêtre de terminal, mais je préférerais courir en arrière-plan.
postgres -D /usr/local/var/postgres9.6.3
Clusters:
J'ai 3 clusters db dans /usr/local/var
, mais je voudrais utiliser postgres9.6.3/
postgres
postgres9.5/
postgres9.6.3/
Quels:
which psql
retours /usr/local/bin/psql
Chemin:
echo $PATH
retours /usr/local/bin
et /usr/local/var
(ajouté)
Autres solutions recommandées:
Beaucoup de gens où en mesure de résoudre ce problème en supprimant un /postgres/postmaster.pid
, mais le fichier n'existe pas pour moi.
MISE À JOUR
Exécution ps -ef | grep postgres
, sorties seulement,
501 2135 1530 0 12:08pm ttys002 0:00.00 grep postgres
Après avoir redémarré postgres avec brew servies
, postgres.log
à /usr/local/var/log
contient,
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.5, which is not compatible with this version 9.6.3.
Après avoir redémarré le service par 'brasser services', fait la sortie de' ps -ef | grep postgres' montre quelque chose? Sinon, le serveur n'est pas en cours d'exécution - ce qui semble probable, compte tenu de l'erreur. Vérifiez les journaux (devrait être dans /usr/local/var/log/postgres.log) et voir s'il y a quelque chose d'intéressant là-dedans. – dmfay
Ajouté une mise à jour à la question –