Postgres kann aufgrund fehlender Serverkonfigurationsdatei nicht auf Lion gestartet werden

7

Ich versuche pg auf einer relativ sauberen Löweninstallation einzurichten und es ist nicht erfolgreich.

Zuerst habe ich Homebrew erfolgreich installiert und postgresql ohne Fehler installiert.

Dann habe ich versucht, eine Rails-App auszuführen, habe einen Fehler erhalten. Versucht, dieses Skript auszuführen : http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

Um die Standard-System-Postgres-Installation auszublenden, wird jetzt der folgende Fehler angezeigt:

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

Wenn ich versuche, das postgresSkript im bin-Verzeichnis auszuführen , wird folgende Fehlermeldung angezeigt:

larson:~ larson$ /usr/local/Cellar/postgresql/9.1.3/bin/postgres ; exit;
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
logout

Es ist klar, dass Postgres nicht gestartet werden kann, weil es nicht richtig konfiguriert ist. Hat jemand einen Rat, wie man es richtig konfiguriert, damit es beginnt?

Andrew Lauer Barinov
quelle
1
Nun, die Konfigurationsdatei kann nicht gefunden werden. Haben Sie überprüft, ob Konfigurationsdateien vorhanden sind?
Lucas Kauffman
Ich habe im Rampenlicht gesucht pg_hba.confund kann es nicht finden
Andrew Lauer Barinov
Nun, da ist deine Antwort :)
Lucas Kauffman
Ok, verstanden, also gab es auf Snow Leopard ein Verzeichnis namens postgresql in larson/Library/Developer(larson ist mein Benutzername), das Protokolle, Konfigurationsdateien usw. enthielt. Bei einer Löweninstallation ist dieses Verzeichnis nicht vorhanden. Kennen Sie den richtigen Ort, um danach zu suchen, oder eine Methode, um postgres anzuweisen, das Verzeichnis an der richtigen Stelle abzulegen?
Andrew Lauer Barinov
versuchen Sie / usr / local / pgsql
Lucas Kauffman

Antworten:

5

Das blinde Ausführen von Homebrew-Skripten ohne Ahnung, was sie tun, löst keine Probleme - es schafft sie. End Rant.

Wir wissen nicht, was der Fehler war, den Sie zuvor hatten, aber jetzt haben Sie anscheinend keinen konfigurierten Datenbankcluster.

Sie müssen Ihren Postgres-Cluster ordnungsgemäß einrichten (siehe das Postgres-Handbuch ) und / oder Postgres mitteilen, wo sich der Datenbankcluster befindet, wenn Sie ihn starten (das entspricht etwa You must specify the --config-file or -D invocation option or set the PGDATA environment variable.der Fehlermeldung). Abschnitt 17.3 des Handbuchs spricht darüber.

voretaq7
quelle
7

Laufen brew info postgresgibt dir Grundlagen, um Dinge in Gang zu bringen. Zum Beispiel:

Wenn dies Ihre erste Installation ist, erstellen Sie eine Datenbank mit:

initdb /usr/local/var/postgres -E utf8

Oder um den Datenbankserver neu zu starten:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Leopd
quelle
Unter welchem ​​Benutzer soll dies ausgeführt werden?
SuperUberDuper
3

Pro Diskussion zu diesem Homebrew-Problem: https://github.com/Homebrew/homebrew/issues/21920

Möglicherweise müssen Sie nur Folgendes tun:

export PGDATA=/usr/local/var/postgres

Überprüfen Sie einfach, ob das Verzeichnis tatsächlich dort gespeichert ist und die Postgres-Konfigurationsdateien enthält.

Leonardo Gonzalez
quelle
1
Hab es für mich getan. Das ist die Antwort.
Geoyws
1

Hast du initdb ausgeführt? Ich habe dieses Problem bei einer Standardinstallation von postgres 9.1.3 gefunden. Es sieht so aus, als ob initdb das Datenbankverzeichnis mit config erstellt.

Dies ist in den Anweisungen enthalten, die mit der Brühinstallation geliefert wurden.
Versuchen Sie Brew Info Postgresql und lesen Sie über 'Neuinstallation'

Jon Rogers
quelle