Überprüfen Sie, ob PostgreSQL Server unter macOS ausgeführt wird

Aqsa Amir 20 Juni 2023
  1. Überprüfen Sie, ob PostgreSQL Server unter macOS ausgeführt wird
  2. Verwenden Sie den Befehl grep, um den Status von PostgreSQL zu überprüfen
  3. Verwenden Sie den Befehl pg_ctl status, um den Status von PostgreSQL zu überprüfen
  4. Verwenden Sie den Befehl pg_isready, um den Status von PostgreSQL zu überprüfen
  5. Andere Befehle zum Überprüfen des Status von PostgreSQL
  6. Abschluss
Überprüfen Sie, ob PostgreSQL Server unter macOS ausgeführt wird

Dieser Artikel wurde speziell entwickelt, um Ihnen zu helfen, den Status Ihres PostgreSQL-Servers auf dem MAC-Betriebssystem zu ermitteln. In dem Artikel wurden mehrere BASH-Befehle erwähnt.

Diese können verwendet werden, um den Status von PostgreSQL zu überprüfen und ob es ausgeführt wird oder nicht.

Hinweis: Die im gesamten Artikel erwähnten BASH-Befehle funktionieren möglicherweise nicht für alle Betriebssysteme; Es ist jedoch bekannt, dass sie für macOS gut funktionieren.

Zahlreiche BASH-Befehle wurden alternativ zueinander genannt; Wenn ein Befehl nicht funktioniert, können andere Befehle ausgeführt werden, um den Status des PostgreSQL-Servers zu überprüfen.

Überprüfen Sie, ob PostgreSQL Server unter macOS ausgeführt wird

Es können zahlreiche Befehle verwendet werden, die zu den BASH-Befehlen wechseln, um den Status von PostgreSQL zu überprüfen. Dieser Artikel konzentriert sich auf die Befehle, mit denen Sie feststellen können, ob PostgreSQL ausgeführt wird oder nicht.

Bevor wir uns mit den BASH-Befehlen befassen, sehen wir uns die Fehlermeldungen an, die Sie möglicherweise erhalten, wenn Sie versuchen, auf PostgreSQL zuzugreifen.

Fehlermeldungen

Lassen Sie uns einen Blick auf die folgenden Meldungen werfen und analysieren, ob Ihnen diese bekannt vorkommen oder nicht.

[~/dev/working/sw] sudo bundle exec rake db:migrate rake aborted!
could not connect to the server: Connection refused
Is the server running on the host "localhost" and accepting TCP/IP connections on port 5432?

Eine weitere Fehlermeldung, die erscheint, wenn Sie den Befehl pg_ctl verwenden, lautet wie folgt:

> which postgres
/usr/local/bin/postgres
> pg_ctl -D /usr/local/bin/postgres -l usr/local/bin/postgres/server.log start
pg_ctl: could not open PID file "/usr/local/bin/postgres/postmaster.pid": Not a directory

Dies sind zwei Beispiele für Fehlermeldungen, auf die Sie möglicherweise gestoßen sind, als Sie versucht haben, PostgreSQL auf Ihrem System auszuführen. Diese Fehler können auf eine falsche Pfadeinstellung während des Initialisierungsprozesses zurückzuführen sein.

Wenn Sie den Befehl initdb verwenden, um einen PostgreSQL-Datenbankcluster zu erstellen, müssen Sie den richtigen Pfad angeben, der auf den Speicherort von PostgreSQL verweist. Wenn bei der Pfadinitialisierung ein Fehler auftritt, müssen Sie ihn korrigieren und dann prüfen, ob PostgreSQL funktioniert oder nicht.

Unten wurden mehrere BASH-Befehlsoptionen bereitgestellt, sodass Sie eine davon auswählen können, um den Status von PostgreSQL zu überprüfen. Lassen Sie uns jeden der Befehle im Detail besprechen.

Verwenden Sie den Befehl grep, um den Status von PostgreSQL zu überprüfen

Der erste BASH-Befehl, der hilft zu prüfen, ob Prozesse laufen oder nicht, lautet wie folgt:

> ps auxwww | grep postgres

Oder Sie können eine andere Version desselben Befehls ausprobieren, nämlich:

> ps aux | grep postgres

Die Antwortnachricht hilft Ihnen festzustellen, ob PostgreSQL ausgeführt wird oder nicht. Wenn Sie den PostgreSQL-Server starten möchten, müssen Sie nach einem Befehl suchen, der dem folgenden ähnelt.

/Library/PostgreSQL/12/bin/postgres -D /Library/PostgreSQL/12/data

Im obigen Befehl steht 12 für die PostgreSQL-Version. Wenn Sie eine andere Version von PostgreSQL installiert haben, sehen Sie an der Stelle von 12 eine andere Zahl.

Verwenden Sie zum Starten des PostgreSQL-Servers den folgenden Befehl.

/Library/PostgreSQL/12/bin/pg_ctl start-D /Library/PostgreSQL/12/data -l postgres.log

Hinweis: /Library/PostgreSQL/12/data ist ein beliebiges Datenbank-Cluster-Verzeichnis, das vom Benutzer mit initdb im Initialisierungsprozess erstellt wird.

Mit diesen Befehlen können Sie feststellen, ob PostgreSQL ausgeführt wird oder nicht. Wenn PostgreSQL nicht läuft, können Sie es mit dem obigen Befehl starten.

Verwenden Sie den Befehl pg_ctl status, um den Status von PostgreSQL zu überprüfen

Ein weiterer BASH-Befehl, der den Status von PostgreSQL überprüft, lautet wie folgt:

> pg_ctl status

Der Befehl pg_ctl status prüft die Existenz des Postmaster-Prozesses. Der Befehl meldet, dass er ausgeführt wird, wenn er den Prozess finden kann.

Hinweis: Der Laufstatus zeigt nicht an, dass der Postmaster bereit ist, andere Verbindungen anzunehmen oder weitere Abfragen auszuführen.

Die Umgebungsvariable PGDATA erfordert möglicherweise auch einige Bearbeitungen, um den Status von PostgreSQL zu überprüfen. Hier ist eine Darstellung der PostgreSQL-Datei ~/.bashrc.

export PGDATA='/usr/local/var/postgres'
export PGHOST=localhost
alias start-pg='pg_ctl -l $PGDATA/server.log start'
alias stop-pg='pg_ctl stop -m fast'
alias show-pg-status='pg_ctl status'
alias restart-pg='pg_ctl reload'

Nachdem Sie die Umgebungsvariable bearbeitet haben, müssen Sie unbedingt den folgenden Befehl ausführen, um die Datei zu beziehen.

> . ~/.bashrc

Danach können Sie den Befehl show-pg-status für PostgreSQL auf BASH ausführen.

> show-pg-status
pg_ctl: server isrunning (PID: 11030)
/usr/local/Cellar/postgresql/9.2.4/bin/postgres

Mit dem Befehl pg_ctl kann der PostgreSQL-Server auch manuell gestartet werden. Es ist wichtig, den Pfad von PostgreSQL zu bestimmen, bevor Sie den Befehl ausführen.

Der Pfad kann mit dem Befehl what postgres ermittelt werden. Es kann dann verwendet werden, um PostgreSQL manuell zu starten.

> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

Verwenden Sie den Befehl pg_isready, um den Status von PostgreSQL zu überprüfen

Ein weiterer interessanter Befehl, den Sie sich ansehen sollten, ist der Befehl pg_isready. Dies wird verwendet, um den Verbindungsstatus des PostgreSQL-Servers zu überprüfen.

> pg_isready

Die Ausführung des Befehls pg_isready gibt einen der folgenden Werte zurück:

  1. 0 - zeigt an, dass der Server Verbindungen wie gewohnt akzeptiert.
  2. 1 - wird zurückgegeben, wenn der Server keine Verbindungen akzeptiert.
  3. 2 - zeigt an, dass nach dem Verbindungsversuch keine Antwort erhalten wurde.
  4. 3 - zeigt an, dass kein Verbindungsversuch unternommen wurde; dies kann beispielsweise an einem Fehler liegen, bei dem ungültige Parameter verwendet werden.

Andere Befehle zum Überprüfen des Status von PostgreSQL

Es gibt mehrere andere Optionen für BASH-Befehle, mit denen Sie den Status von PostgreSQL überprüfen können.

Versuchen Sie, den Befehl psql oder pgrep postgres zu verwenden, um festzustellen, ob der PostgreSQL-Server auf Ihrem MAC läuft oder nicht.

Abschluss

Unterschiedliche Betriebssysteme erfordern unterschiedliche Befehle, um dieselbe Funktion auszuführen. Es ist bekannt, dass die im Artikel erwähnten BASH-Befehle unter macOS gut funktionieren; Sie können diese jedoch auch auf anderen Betriebssystemen ausprobieren.