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?
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?
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.
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.
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.