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 meine Ruby on Rails 3.2-Anwendungen ausprobiere .
PGError (Verbindung zum Server konnte nicht hergestellt werden: Keine solche Datei oder kein solches Verzeichnis. Läuft der Server lokal und akzeptiert Verbindungen auf dem Unix-Domain-Socket "/tmp/.s.PGSQL.5432"?
Ich habe PostgreSQL vor langer Zeit mit Homebrew installiert und nach einem versuchten Installationsversuch von MongoDB 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 eingerichtet werden sollte?
Bisher (glaube ich) sagt mir das, 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 seitdem gelesen, dass dies geschieht, weil OS X eine eigene Version von PostgreSQL installiert und Homebrew eine andere Version an einem anderen Ort installiert und die PostgreSQL-Befehle im Verzeichnis / tmp / suchen. Sie müssen mehr nach Stack Overflow suchen, aber im Grunde genommen verknüpfen Sie PostgreSQL, damit alles, was in diesem tmp-Pfad sucht, tatsächlich den tatsächlichen Pfad findet, wenn dies sinnvoll ist.
Dies ist der Link, über den ich ein paar weitere Dinge zum Ausprobieren gefunden habe, insbesondere den oben beschriebenen Symlink. 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 der Konzepte für die Installation von PostgreSQL unter OS X zusammenstellen und erklären, 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
Der Schlüssel zu berücksichtigen ist:
Stellen Sie sicher, dass der Pfadeintrag für die Kopie von PostgreSQL, die Sie ausführen möchten, VOR dem Pfad zu PostgreSQL des OS X-Systems KOMMT.
Dies ist eine Kernanforderung, die entscheidet, welches PostgreSQL ausgeführt wird, und was mir gesagt wurde, führt zu den meisten dieser Probleme.