Wie führe ich PostgreSQL als Daemontools-Dienst aus?

Wie führe ich PostgreSQL als Daemontools-Dienst aus?
  1. svscanboot wurde ausgeführt und zum Autostart hinzugefügt
  2. Skript aus Artikel hinzugefügthttp://thedjbway.b0llix.net/services/postgresql.htmlzu /service/postgres/run und ändern Sie den Modus a+x,root-Besitzer
  3. Dienst hinzufügen: svc -u /service/postgres
  4. Überprüfen Sie svstat /service/postgres, Skript wurde nicht ausgeführt

Antwort1

Wenn Sie dieses Tutorial vollständig durchgehen, sollten Sie auch einen Protokolldienst haben. Der Protokolldienst enthält Informationenin seinen Protokolldateiendarüber, warum der Hauptdienst fehlgeschlagen ist. Sie können die Protokolldatei(en) mit tail, grep, und lesen less.

Vanilla daemontools' svstatsagt Ihnen nur, ob ein Dienst gerade aktiv oder inaktiv ist. Sie haben keine Grundlage für die Behauptung, dass das Skript nicht ausgeführt wurde. Tatsächlich ist es sehr wahrscheinlichtatausführen; und die Fehlermeldungen in den Protokolldateien des Protokolldienstes geben an, welche Fehlermeldungen dabei ausgegeben wurden.

Sie können das Skript natürlich auch dazu veranlassen, weitere seiner Operationen auf ganz normale Weise zu erklären. Es handelt sich #!/bin/shschließlich um ein interpretiertes Skript, und die Shell- -vund -x-Optionen können daher wie in jedem anderen Shell-Skript verwendet werden.

Der wahrscheinlichste Kandidat für das, was Sie in Ihren Protokollen finden, ist, dass postmasteres sich nicht auf Ihrem PATHbefindet, sondern in einem Unterverzeichnis von irgendwo wie /usr/lib/postgresql/oder /usr/local/pgsql. In diesem Fall müssen Sie es entweder als aufrufen /usr/lib/postgresql/bin/postmasteroder Ihrem Pfad im Skript voranstellen /usr/lib/postgresql/bin/, damit es das Programm findet, wenn es als einfaches, altes, unverziertes aufgerufen wird postmaster. Letzteres wird in der PostgreSQL-Dokumentation erklärt, siehe dort.

Weiterführende Literatur

  • "Umgebungsvariablen". Aktuelle PostgreSQL-Dokumentation. 2016. Die globale PostgreSQL-Entwicklungsgruppe.
  • "Fehler beim Serverstart". Aktuelle PostgreSQL-Dokumentation. 2016. Die globale PostgreSQL-Entwicklungsgruppe.

verwandte Informationen