Postgres.application ne Peut pas démarrer sur le port 5432
Je suis en utilisant http://postgresapp.com. Dans la barre de menus il donne l'erreur " impossible de démarrer sur le port 5432." Même si j'essaie de démarrer le serveur depuis le terminal, j'obtiens:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
J'ai aussi couru pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
et a la sortie server starting
mais toujours obtenir les mêmes erreurs lors de la connexion à psql.
- Ma première hypothèse est que le port 5432 est pris par quelque chose d'autre sur votre mac. Par défaut psql de ne pas utiliser le port, mais au lieu d'utiliser le fichier de socket (
/tmp/.s.PGSQL.5432
) comme vous l'avez mentionné. Vous pouvez le forcer à utiliser le port avecpsql -h localhost
. Essayez de vérifier un certain nombre de choses: 1 est autre chose, en utilisant le port 5432. 2: vérifiez que votre postgres (OS) l'utilisateur a accès à créer des fichiers dans /tmp/. - Je vois quelque chose dans /tmp qui est .s.PSQL.5433 Comment puis-je changer cela pour 5432?
- Je vais avoir le même problème. Je pense que c'est lié à une mise à jour des applications pro d'Apple, parce que c'est le seul changement que j'ai fait, puis j'ai commencé à faire cette erreur. J'ai essayé de désinstaller et re-installer postgresql; la désinstallation et ré-installation du pg gem; et de quelques autres réglages de configuration, mais pas de résultats. Je travaille encore sur elle, mais l'espoir de voir une solution bientôt. Je vais vous laisser savoir si je fais des progrès.
Vous devez vous connecter pour publier un commentaire.
Vous mon avoir une autre instance de postgres en cours d'exécution, qui est la seule application de l'intéressé dans ce port. Vous devez utiliser la commande netstat et ps de le déterminer. Puis arrêtez l'instance et de le désinstaller, vous pouvons avoir installé enterpiseDb par exemple, qu'est ce que j'ai fait.
Si vous exécutez votre serveur sur une machine macOS et installé Postgres par Homebrew, vous pouvez arrêter l'instance actuelle comme ceci:
Puis cliquez sur l'Éléphant dans le native barre de menu en haut de l'écran et il devrait réussi à de démarrage.
Je viens d'avoir ce problème précis. Quand j'ai couru
which psql
il pointait le Postgres outils client installé avec Lion:/usr/bin/psql
L'utilisation d'un indice de Frank Wiles j'ai couru
ps auxw | grep post
pour confirmer que postgres a été en cours d'exécution et qu'il a été exécuté sur le port de droite, qui m'a aussi montré la postgres.le chemin de app:/Applications/Postgres.app/Contents/MacOS/bin/postgres
.J'ai donc édité par .bash_profile pour l ' exportation de répertoire. Sur le premier effort je l'ai ajouté à la fin du chemin. Quand j'ai couru
echo $PATH
j'ai pu voir que usr/bin a été la première chose dans le chemin, etwhich psql
a encore donné la/usr/bin
chemin. À ce moment, un ami m'a guidé dans la bonne direction:export PATH="/Applications/Postgres.app/Contents/MacOS/bin:${PATH}"
Commencer une nouvelle fenêtre du terminal, puis exécutez
which psql
-- il doit pointer vers le postgres.application de localisation et psql doit tirer jusqu'à la postgres shell. Fonctionne très bien maintenant.Vous pouvez arrêter le processus par trouver le PID avec
et ensuite de le tuer avec
Si vous avez installé Postgres par une autre méthode (par exemple, à partir de http://www.postgresql.org) et il commence automatiquement au démarrage, vous pouvez empêcher que Postgres de départ via le suivant:
ASTUCE: utilisez la touche tabulation pour la saisie semi-automatique après la
com.edu.launchd
partie pour déterminer la version en cours de chargement.Redémarrer Postgres.app, et vous devriez être bon d'aller.
(à partir de http://forums.enterprisedb.com/posts/list/1831.page;jsessionid=70621DC48C99EDE663A6A594B05F1A02#6782)
J'ai essayé à peu près toutes les solutions à ce problème qui est là. Pour moi, il arrive toujours quand mon MacBook batterie meurt, même si l'ordinateur est déjà de couchage. J'ai été farfouillé dans
~/Library/Application\ Support/Postgres/var-9.4
et j'ai découvert un autrepostmaster.pid
fichier que je n'avais pas vu avant. Je l'ai supprimé, et maintenant, tout est de nouveau opérationnel! Je suis en cours d'exécution de la Postgres.la version de l'application, pas la version brew.Étapes:
postgres.app
n'est pas en cours d'exécution.rm ~/Library/Application\ Support/Postgres/var-9.$X/postmaster.pid
var-9.$X
répertoire, il suffit d'exécuterrm ~/Library/Application\ Support/Postgres/postmaster.pid
postgres.app
postmaster.pid
fichier. Retrait viarm
ou tout simplement le renommer viamv
ferait. Je préfère renommer enpostmaster.pid.problem-cause
bien. Les gens ont différentes configurations de sorte que la meilleure façon de trouver ce méchant fichier est de vérifier la PosgtreSQL journaux.J'ai eu un problème similaire où je ne pouvais pas se connecter à la Postgres.application même si l'application elle-même dit qu'il est en cours d'exécution sur le port 5432.
Je ne suis pas sûr pourquoi, mais même lorsque je ferme l'application et vérifié qu'aucun processus postgres a été en cours d'exécution avec ps -un. ces fichiers existent:
et
Ma solution a été de supprimer ces fichiers, puis commencer à les postgres.de nouveau l'application.
/tmp
fichiers.su
(super-utilisateur) et de les supprimer, mais pas de joieIl peut aussi arriver que le PID est pris.
Cela a eu lieu pour moi lorsque l'Ordinateur a subi un redémarrage inattendu.
Si oui, vous devez aller à:
Vous pouvez vérifier que le chemin d'accès dans Postgres.les Préférences de l'application de dialogue.
Et ensuite, il suffit de supprimer le fichier pid
Et le serveur démarre immédiatement.
Lorsque vous essayez d'ouvrir la Postgres application était de faire la même erreur en ce qui concerne le post 5432 (sur Mac OSX 10.10.5)
J'ai fait:
Vu qui PID était en cours d'exécution postgres au port, le fait:
$ killall {pid}
et puis$ brew uninstall postgres
Après, redémarré mon Mac, et a couru:
$ lsof -i | grep LISTEN
à nouveau, juste pour s'assurer. Vu aucun postgres l'exécution de n'importe où et a été en mesure d'ouvrir la Postgres application sans avoir avertissement.Puis je l'ai réinstallé postgres avec
$ brew install postgres
UNE AUTRE OPTION:
(J'ai aussi essayé cette fois lors de l'approche ci-dessus ne fonctionne pas et je ne pouvais pas le tuer tout de la PID)
Vu une flopée postgres processus, que j'ai ensuite
sudo kill <PID>
Tout fonctionne bien maintenant.
Cette commande est un one-liner qui tue instantanément toutes les PostgresSQL processus.
Cela a réglé tous mes problèmes sur Mac OSX Mojave 10.14.1.
À deviner, quelque chose d'autre avait pris le port 5432 ainsi, l'application a choisi de courir sur 5433 à la place.
Pourquoi ne pas simplement se connecter à la Pg sur le port 5433, si c'est là où il est en cours d'exécution? Vous avez un
/tmp/.s.PGSQL.5432
fichier de socket, de sorte que vous pouvez vous connecter avecpsql -p 5433
pour socket de domaine UNIX connexions. Il sera aussi à l'écoute sur le même port TCP/IP, de sorte que vous pouvez utiliserpsql -h localhost -p 5433
pour le protocole TCP/IP et à vos applications de se connecter au port 5433 au lieu de 5432.Changer votre
.psqlrc
pour définir le nouveau port par défaut, et vous pouvez oublier ce n'est pas le port par défaut.La mienne n'a pas pu démarrer soudainement, et quand j'ai vérifié la Console.application que j'ai vu:
Il s'avère Postgres ne démarre pas parce que j'ai eu Wireshark (et X11) en cours d'exécution. Il a bien fonctionné après j'ai arrêté de Wireshark.
Bonne chance!
J'ai résolu ce problème en
En quelque sorte, j'ai totalement oublié que ce fichier de socket va être cachées à cause de la dot. Assurez-vous d'utiliser
ls -A /tmp/.s.PGSQL.5432
si vous êtes à la vérification pour voir si le socket est en réalité.J'ai eu le même problème lorsque j'essaie d'utiliser postgresql avec des rails. La mise à jour de mon Gemfile pour utiliser la nouvelle version de gem pg résoudre ce problème pour moi. (gem pg version 0.16.0 œuvres). Dans le Gemfile utilisation:
puis exécutez la procédure suivante pour mettre à jour le gem
Netstat, ps aux, etc ... aucun n'a 5432 en cours d'utilisation. Contrôler Et /Ou De La Bibliothèque. Trouvé PG9.6 ancienne installation toujours là. Avez-rm-rf et bang. La Version 11 fonctionne très bien.
Le même problème m'est juste arrivé. J'ai eu Postgres.app 9.2.4.1 en cours depuis un certain temps. Lorsque j'ai mis à jour Mac OS X 10.8.5, après le reboot obligatoire, il ne fonctionnait plus. J'ai essayé plusieurs choses, y compris la mise à jour de 9.2.4.3 et ni après un autre redémarrage il travaillait.
J'ai dû ouvrir le fichier
/Users/$USER/Library/Application Support/Postgres/var/postgresql.conf
et de:unix_socket_permissions = 0777
unix_socket_directory = '/tmp'
Après un redémarrage, Postgres.application fonctionnait comme un charme.
Vous a probablement un PostgreSQL est installé, supprimé et installé de nouveau. PostgreSQL généralement utilisé le port 5432 mais si pas disponible, de l'augmentation de la prochaine disponibles, dans ce cas 5433. Donc, vous avez probablement choisi ce port sur votre deuxième installer.
Je pense que vous devriez vérifier le fichier:
/etc/services
et ajuster les lignes ci-dessous pour les prévisions de numéro de port:
postgresql 5432/udp # Base de données PostgreSQL
postgresql 5432/tcp # Base de données PostgreSQL
Après cela, vous devez redémarrer votre ordinateur (plus simple).
Un fichier nommé "maître de poste.pid" (dans mon $PGDATA répertoire) ont été la prévention de postgresql pour commencer. C'était un zombie fichier, placé là il y a 10 jours et quand j'ai brutalement arrêter l'ordinateur (en tirant sur la fiche, littéralement), pas de processus de nettoyage eu l'occasion de supprimer ce fichier.
J'ai eu les mêmes problèmes:
Dans mon cas, c'était un corrompu le fichier host sur mon mac. J'ai été absent:
Rapidement un moyen simple de vérifier est d'ouvrir un terminal et tapez:
ou:
Plus d'infos ici
Espérons que cela aide.