
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, hinterlässt aber kein Protokoll, diese Datei ist leer:
tail /var/log/postgresql/postgresql-9.3-main.log
und es gibt keine anderen Dateien in diesem Verzeichnis: /var/log/postgresql/
wie lässt sich dieses Problem am besten beheben?
Antwort1
Versuchen Sie, es manuell mit aktiviertem Debug auszuführen. Dadurch wird es im Vordergrund ausgeführt und druckt alle Fehlermeldungen in die Standardfehlerausgabe, wobei gleichzeitig die Ausführlichkeit erhöht wird.
Ich glaube, dass dies die richtige Befehlszeile für PostgreSQL 9.3 unter Ubuntu ist, aber es sind möglicherweise geringfügige Anpassungen erforderlich (Hinweis: Die Zeile ist zur besseren Lesbarkeit aufgeteilt; Sie können sie bei Bedarf wieder zu einer einzigen Zeile zusammenführen (ohne den Backslash):
/usr/lib/postgresql/9.3/bin/postgres -d 3 -D /var/lib/postgresql/9.3/main \
-c config_file=/etc/postgresql/9.3/main/postgresql.conf
Der Anfang ist der Speicherort der postgres
Binärdatei, dann aktivieren wir das Debuggen und setzen es auf Level 3 (Sie können dies nach oben oder unten anpassen, um die Ausführlichkeit zu erhöhen oder zu verringern). Als nächstes geben wir das Datenverzeichnis und die Konfigurationsdatei an, mit der begonnen werden soll. Dies sollten meiner Meinung nach die Standardeinstellungen für Ubuntu Server 12.04 sein.
Hoffentlich erhalten Sie dadurch genügend Informationen, um das Problem zu ermitteln.
Antwort2
Basierend auf der Antwort von @christopher:
Mit Postgres 12 auf Ubuntu habe ich Folgendes ausgeführt:
# with my custom data dir:
/usr/lib/postgresql/12/bin/postgres -d 3 -D /media/ssd1/pg_data -c config_file=/etc/postgresql/12/main/postgresql.conf
# with default config:
/usr/lib/postgresql/12/bin/postgres -d 3 -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
In meinem Fall war das Problem folgendes:
2020-06-02 15:27:45.468 GMT [2522] LOG: skipping missing configuration file "/media/ssd1/pg_data/postgresql.auto.conf"
2020-06-02 17:27:45.469 CEST [2522] FATAL: data directory "/media/ssd1/pg_data" has wrong ownership
2020-06-02 17:27:45.469 CEST [2522] HINT: The server must be started by the user that owns the data directory.
2020-06-02 17:27:45.469 CEST [2522] DEBUG: shmem_exit(1): 0 before_shmem_exit callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: shmem_exit(1): 0 on_shmem_exit callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: proc_exit(1): 0 callbacks to make
2020-06-02 17:27:45.469 CEST [2522] DEBUG: exit(1)
Ich hatte keine nützlichen Informationen sudo cat /var/log/postgresql/postgresql-12-main.log
und sudo systemctl start postgresql
habe keine Ausgabe erhalten.