Ich starte eine Postgres 9.3-Instanz auf einem Ubuntu 12.04-Server:
~# service postgresql start
* The PostgreSQL server failed to start. Please check the log output.
[fail]
Der Start schlägt fehl, aber es bleibt kein Protokoll, diese Datei ist leer:
tail /var/log/postgresql/postgresql-9.3-main.log
und das sind keine anderen Dateien in diesem Verzeichnis: / var / log / postgresql /
Was ist der beste Weg, um dies zu beheben?
postgresql
Max L.
quelle
quelle
su - postgres; /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
und sehen Sie, was es Ihnen bietet. Möglicherweise müssen Sie den Benutzernamen und die Pfade in Abhängigkeit von Ihrem Setup ändern.-d 3
denpostgres
Befehl ergänzen . Dies ermöglicht eine umfangreichere Debugging-Ausgabe, die in das Protokoll geschrieben wird. Sie können die Debugging-Ausgabe verringern, indem Sie sie auf 1 oder 2 ändern, oder erhöhen, indem Sie sie auf 4 oder 5 ändernwhich pgsql
.Antworten:
Versuchen Sie es manuell mit aktiviertem Debug. Dies führt dazu, dass es im Vordergrund ausgeführt wird und alle Fehlermeldungen als Standardfehler ausgegeben werden, während gleichzeitig die Ausführlichkeit erhöht wird.
Ich glaube, dies wird die richtige Befehlszeile für PostgreSQL 9.3 unter Ubuntu sein, aber es könnte einige geringfügige Anpassungen erfordern (Hinweis: Die Zeile ist aus Gründen der Lesbarkeit geteilt; Sie können sie zu einer einzelnen Zeile (ohne umgekehrten Schrägstrich) kombinieren, wenn Sie möchten):
Der Anfang ist die Position der
postgres
Binärdatei, dann aktivieren wir das Debugging und setzen es auf Stufe 3 (Sie können dies nach oben oder unten einstellen, um die Ausführlichkeit zu erhöhen oder zu verringern). Als nächstes legen wir das Datenverzeichnis und die Konfigurationsdatei fest. Dies sollten die Standardeinstellungen für Ubuntu Server 12.04 sein, denke ich.Hoffentlich erhalten Sie dann genügend Informationen, um festzustellen, wo das Problem liegt.
quelle
service
Befehl ist nur ein praktischer Wrapper um das/etc/init.d/
Skript, der den Prozess startet und stoppt. Sie müssen sich dieses Skript ansehen, um zu sehen, was es anders macht, als wenn Sie es manuell ausführen. Etwas zu tun,bash -x /etc/init.d/postgresql start
könnte ein guter Ort sein, um mit Ihrer Forschung zu beginnen.