web-dev-qa-db-fra.com

PostgreSQL n'a pas pu créer de Mavericks de sockets TCP/IP

J'installe par brassage.

Le message d'erreur:

Quand j'appelle 

postgres

Je reçois l'erreur

LOG:  could not bind IPv6 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG:  could not bind IPv4 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and  retry.
LOG:  could not bind IPv6 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
WARNING:  could not create listen socket for "localhost"
FATAL:  could not create any TCP/IP sockets

Fonctionnement

postgres -D /usr/local/var/postgres

Crée la même erreur

createdb

me demande deux fois mon mot de passe, puis dit: 

createdb: could not connect to database template1: FATAL:  password authentication failed for user "thomasmurphy"

Ce que j'ai essayé * Désinstallation et réinstallation de la gem pg, désinstallation et réinstallation de postgres * Mise à jour des outils de ligne de commande * Satisfaire à tous les besoins de [...] *. éditer les permissions de pg_hba.conf * éditer .bash_profile pour être sûr qu'il inclue les répertoires ci-dessus

Postgres fonctionne parfaitement sur mon ordinateur de travail, ainsi que sur Mavericks. Cela me semble donc un peu comme une affaire Edge. Quels autres vecteurs puis-je toucher pour essayer de résoudre ce problème?

13
Thomas Murphy

Les erreurs que vous obtenez sont dues au fait que PostgreSQL est en cours d'exécution. Comment puis-je savoir? Parce qu'il rejette votre mot de passe. C'est assez clair.

Maintenant, votre vrai problème est probablement que vous devez redémarrer PostgreSQL après avoir modifié le fichier pg_hba.conf pour vous donner un accès sécurisé. Ensuite vous pouvez:

 ALTER USER foo WITH PASSWORD 'bar';

Pour ce qui est du démarrage et du redémarrage de PostgreSQL, veuillez consulter cette question: Comment démarrer le serveur PostgreSQL sur Mac OS X?

5
Chris Travers

L'erreur que vous avez est parce que votre hôte est en panne. Vérifiez votre fichier /etc/hosts.

Placez 127.0.0.1 localhost sur la première ligne des hôtes.

11
gpxlcj

Linux: Assurez-vous que votre interface de bouclage est active en exécutant le ifconfig sur la ligne de commande. Si ce n'est pas le cas, vous pouvez utiliser /sbin/ifconfig lo 127.0.0.1 pour le faire apparaître.

2
kazou

Il se peut que votre /etc/hosts ne soit pas endommagé. Cela pourrait être quelque chose d'autre qui casse la recherche DNS de localhost, même si la bonne ligne est dans /etc/hosts.

Vérifiez nslookup localhost et voyez si vous obtenez 127.0.0.1 en conséquence. Vérifiez également avec getent hosts localhost. Vérifiez-les également sous l'utilisateur Postgres.

0
Wildcard