PostgreSQL-Fehler 'Konnte keine Verbindung zum Server herstellen: Keine solche Datei oder Verzeichnis'

Wie bei einigen anderen wird dieser Fehler angezeigt, wenn ich rake db: migrate in meinem Projekt ausführe oder sogar die meisten Datenbankaufgaben für mein ausführen möchteRuby on Rails 3.2 anwendungen.

PGError (Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein solches Verzeichnis. Wird der Server lokal ausgeführt und akzeptiert Verbindungen auf dem Unix-Domain-Socket "/tmp/.s.PGSQL.5432"?

ich installiertePostgreSQL mitHomebrew vor langer Zeit und nach einem Installationsversuch vonMongoDB Vor kurzem war meine PostgreSQL-Installation noch nie dieselbe. Ich verwende OS X 10.6 Snow Leopard.

Was ist falsch und wie kann ich besser verstehen, wie PostgreSQL auf meinem Mac eingerichtet ist und werden sollte?

Bisher (glaube ich) sagt mir dies, dass PostgreSQL nicht läuft (?).

ps -aef|grep postgres                                                                                                   (ruby-1.9.2-p320@jct-ana) (develop) ✗
  501 17604 11329   0   0:00.00 ttys001    0:00.00 grep postgres

Aber sagt mir das, dass PostgreSQL läuft?

✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist                                                        (ruby-1.9.2-p136) 
homebrew.mxcl.postgresql: Already loaded

Wie behebe ich das? was sehe ich nicht

PS:~/Library/LaunchAgents Enthält zwei PostgreSQL-PLIST-Dateien. Ich bin mir nicht sicher, ob das relevant ist.

org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist

Ich habe Folgendes versucht und ein Ergebnis wie unten erhalten.

$ psql -p 5432 -h localhost

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?

Ich habe gelesen, dass dies geschieht, weil OS X eine eigene Version von PostgreSQL installiert und Homebrew eine andere Version an einer anderen Stelle installiert und die PostgreSQL-Befehle im Verzeichnis / tmp / suchen. Sie müssen mehr über Stack Overflow suchen, aber im Grunde genommen verknüpfen Sie PostgreSQL so, dass jeder, der in diesem tmp-Pfad sucht, tatsächlich den tatsächlichen Pfad findet, wenn dies sinnvoll ist.

Dies ist der Link, wo ich noch ein paar Dinge zum Ausprobieren gefunden habe, insbesondere den Symlink wie oben beschrieben.Mac OSX Lion Postgres akzeptiert keine Verbindungen unter /tmp/.s.PGSQL.5432. Ich wünschte immer noch, jemand würde eine anständige Erklärung für die Konzepte hinter der Installation von PostgreSQL unter OS X finden und warum das alles so schwierig ist.

Neueste Erkenntnisse zur Fehlerbehebung:

$ which psql // This tells you which PostgreSQL you are using when you run $ psql. 

Dann renne:

$ echo $PATH

Das Wichtigste, das berücksichtigt werden muss, ist Folgendes:

Stellen Sie sicher, dass der Pfadeintrag für die Kopie von PostgreSQL, die Sie ausführen möchten, KOMMT, BEVOR der Pfad zum PostgreSQL des OS X-Systems.

Dies ist eine Grundvoraussetzung, die entscheidet, welches PostgreSQL ausgeführt wird und zu den meisten dieser Probleme führt.

Antworten auf die Frage(20)

Ihre Antwort auf die Frage