Wie Sie herausfinden, ob ein Verzeichnis ist eine gültige PostgreSQL-cluster

Habe ich einige code, der die Anrufe der Befehl pg_ctl auf einem bestimmten Pfad und prüft die Ausgabe, um festzustellen, ob es eine gültige PostgreSQL-cluster:
pg_ctl status -D <data_directory>

Jedoch, während unittesting negativ auf eine bekannte nicht-cluster-Verzeichnis, es ist nicht zuverlässig das erwartete Ergebnis zurückgibt des pg_ctl: directory <data_directory> is not a database cluster directory auf meinem server zu bauen; stattdessen gibt es zurück pg_ctl: no server running.

Gibt es eine weitere todsichere Weg, um zu ermitteln, ob das Verzeichnis gültig ist cluster?

  • Es ist einfach zu bestimmen ist es nicht. Fehlt PG_VERSION Datei global/pg_control usw. Zu bestimmen gilt, ist offen; das, was definiert "gültig" und wie streng Sie sein wollen? Wenn Sie gerade suchen ", sieht halbwegs wie ein PostgreSQL-Daten-Verzeichnis", überprüfen Sie PG_VERSION und die Anwesenheit von base/pg_control
InformationsquelleAutor James N | 2015-08-14
Schreibe einen Kommentar