Mac OSX Lion Postgres ne pas accepter les connexions sur /tmp/.s.PGSQL.5432
Je suis un commun Mac OSX erreur pour les Homebrew installations de Postgres,
No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
C'est apparemment dû au fait qu'il existe de multiples installe sur le système. Cependant, les étapes habituelles ne sont pas de résoudre les choses.
Je peux démarrer avec succès Postgres et en cours d'exécution:
ps auxw | grep post
retourne ..
euanmillar 847 0.0 0.0 2432768 588 s000 R+ 11:19am 0:00.00 grep postgres
euanmillar 845 0.0 0.0 2439324 448 ?? Ss 11:19am 0:00.00 postgres:
stats collector process
euanmillar 844 0.0 0.0 2443176 1520 ?? Ss 11:19am 0:00.00 postgres:
autovacuum launcher process
euanmillar 843 0.0 0.0 2443044 544 ?? Ss 11:19am 0:00.00 postgres: wal writer process
euanmillar 842 0.0 0.0 2443044 584 ?? Ss 11:19am 0:00.00 postgres: writer process
euanmillar 841 0.0 0.0 2443044 596 ?? Ss 11:19am 0:00.00 postgres: checkpointer process
euanmillar 839 0.0 0.0 2443044 3616 s000 S 11:19am 0:00.02 /us
de sorte qu'il ressemble postgres est en cours d'exécution.
J'ai commenté les lignes suivantes dans postgresql.conf
port = 5432
unix_socket_directory = '/var/pgsql_socket'
unix_socket_permissions = 0777
et dans var/pgsql_socket/j'ai un fichier caché .s.PGSQL.5432
J'ai essayé des solutions à nombre de messages ici. Ce particulier semble similaire:
https://dba.stackexchange.com/questions/21587/postgresql-is-running-locally-but-i-cannot-connect-why
Mais la différence est que j'ai un '/var/pgsql_socket répertoire qui est CHOWN-ed à tout le monde. J'ai utilisé Homebrew pour complètement supprimer et ré-installer Postgres et j'ai toujours le même problème.
ps
de sortie montre que postgres est pas en cours d'exécution. Voir une autre question pour un exemple de sortie lorsqu'il est en cours d'exécution. Votre première étape est de lancer le serveur avec le homebrew instructions.Votre description est source de confusion
/var/postgresql
et /var/pgsql_socket
.Merci pour l'aide et toutes mes excuses si ma description est un peu déroutant.
J'ai couru pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/serveur.journal de début et je reçois le message "démarrage serveur" puis ps auxw | grep post renvoie un grand nombre de processus. Mais quand j'essaie de createdb j'obtiens la même erreur de socket.
Un rappel que createdb doit être exécuté en tant qu'utilisateur postgres. Avez-vous utilisé
sudo -u postgres createdb
? Bien que, qui ne pourrait pas être lié au problème de socket.OriginalL'auteur Euan Millar | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
Vous devez retirer le maître de poste.pid, qui devrait être dans le chemin d'accès suivant:
/usr/local/var/postgres/postmaster.pid
OriginalL'auteur Iman
Pour moi, j'ai supprimé le maître de poste.pid dans
/usr/local/var/postgres
. me fixe droit.OriginalL'auteur courtsimas
Une solution plus simple est de localiser l'endroit où le support est en fait vs où il devrait être. Dans mon cas, j'ai couru:
Puis il suffit de lier devrait emplacement du connecteur à l'actuel emplacement du connecteur.
OriginalL'auteur Matt Dressel
Le système client est utilisé et pas votre version brew. Le lien symbolique approche ne dure que jusqu'au prochain redémarrage. Cette approche résout le problème à la source, je crois
/etc/paths
/usr/local/bin
en haut du fichier. (Avant/usr/bin
)gem uninstall pg
)bundle
OriginalL'auteur marcusb
Qui n'est pas un OS X problème spécifique. Vous aurez besoin pour nettoyer votre postgres de l'installation, puis le réinstaller à nouveau. J'ai été confronté à ce problème sur mon ubuntu 12.04. Pendant le nettoyage de votre installation précédente, vous devrez supprimer tous les paquets de démarrage avec postgres (postgresql postgresql-common, postgresql-client, etc), en d'autres termes, postgres*. Je n'ai pas utilisé de bière, ont port sur OS X Lion. Je suppose que l'équivalent de la commande doit être
sudo brew remove postgres*
. Un sudo brew install postgresql doivent ensuite faire l'affaire.Aussi, si vous vous sentez le serveur est déjà en cours d'exécution, vous pouvez essayer de
sudo -u postgres createuser
. Si cela échoue, vous aurez besoin de réinstaller.Cependant, la sortie de votre
ps aux | grep post
est en fait la commande grep. Pas de du serveur postgres en cours d'exécution.EDIT: il Semble bien que le lien suivant pourrait être utile https://dba.stackexchange.com/questions/21587/postgresql-is-running-locally-but-i-cannot-connect-why
Si oui, alors cette question est peut-être un doublon.
OriginalL'auteur Atmaram Shetye
J'ai eu le même problème sur Mac Serria. Dans Mac Serria vous pouvez trouver d'administrateur.pid à l'intérieur de
/Users/<user_name>/Library/Application Support/Postgres/var-9.6
si vous avez utilisé l'installateur graphique, plutôt que de homebrew.Une fois que vous supprimez ce fichier, puis tout devrait fonctionner correctement.
OriginalL'auteur Reboot