Postgres Check -Verbindungen sind aktiv

Postgres Check -Verbindungen sind aktiv
Postgresql ist eines meiner bevorzugten Datenbankverwaltungssysteme. Es ist leistungsfähig, einfach zu arbeiten und verwendet sehr vertraute native SQL -Abfragen.

Eine leistungsstarke Funktion über PostgreSQL ist die Fähigkeit, Informationen in minimalen SQL -Abfragen abzurufen. Dies liegt daran.

In diesem Tutorial führt Sie verschiedene Möglichkeiten, um Serververbindungen und -aktivitäten mit dem Server zu identifizieren. Dies kann Ihnen helfen, die Verbindungen zu identifizieren, zu verwalten oder zu beenden, wenn sie nicht nützlich sind.

Der PostgreSQL -Systemkatalog

Bevor wir PostgreSQL für aktive Verbindungen auf dem Server abfragen, lassen Sie uns verstehen, wo diese Informationen erfasst werden.

PostgreSQL enthält ein Schema mit Tabellen und Ansichten, die mit Metadateninformationen zu anderen Objekten auf dem Server besiedelt sind. Das ähnelt der Information_Schema -Tabelle in MySQL.

Mit dem Systemkatalogschema können Sie Informationen über das System sammeln, einschließlich Systemprozesse, Indizes, Tabellenzugriff, Datenzugriffsmethode und vieler mehr.

Da der Systemkatalog massiv ist und Ladungen und Anzahl von Informationen enthält, können wir ihn nicht in einem Artikel abdecken. Es gibt jedoch eine Tabelle, an der wir interessiert sind: die pg_stat_Activity.

Diese Tabelle zeigt ein Protokoll von Verbindungen,.

Die pg_stat_Activity

Die Informationen, die wir aus der Tabelle PG_STAT_ACTIVITIONS TABELLE erfassen können

  • datid - Zeigt die OID der Datenbank an, mit der die Verbindung verbunden ist.
  • Datname - Der Name der Datenbankverbindung.
  • PID - verarbeitet ID der Verbindung.
  • useysid - OID des Benutzers angemeldet.
  • usename - Der Name des Benutzers angemeldet.
  • Anwendungsname - Der in einer bestimmten Sitzung verbundene Name der Anwendung
  • client_addr - IP -Adresse des Clients, der einer bestimmten Verbindung zugeordnet ist.
  • client_hostname - Der Hostname des Kunden einer bestimmten Verbindung.
  • client_port - Dies zeigt die TCP -Portnummer, die zur Verbindung zum Server mit einem festgelegten Client verwendet wird.
  • Backend_start - Wenn der Prozess gestartet wurde-entspricht es der Zeit, als ein Client mit dem Server verbunden ist.
  • query_stat - Die Zeit, zu der die derzeit laufende Abfrage begann. Wenn es keine aktive Abfrage gibt, zeigt es den Query_stat der vorherigen Abfrage an.
  • Zustand - Aktueller Stand der Verbindung. Dies kann untätig, aktiv, deaktiviert sein, im Leerlauf in einer Transaktion, im Leerlauf in der Transaktion (abgebrochen) und FastPath -Funktionsaufruf.
  • Anfrage - Zeigt die neueste Abfrage aus der Verbindung.
  • Warten - wahr oder falsch, wenn eine Verbindung auf ein Schloss wartet.

Mit diesen Informationen können wir nun detaillierte Informationen zu aktiven Verbindungen auf dem Server abfragen.

Wie man aktive Verbindungen abfragt

Um nach aktiven Verbindungen abzufragen, melden wir uns zunächst am Server an. Wenn Sie die Standard -PostgreSQL -Installation verwenden, verwenden Sie PSQL mit Ihrem Benutzernamen und Passwort als

psql -u postgres -w
Passwort:
PSQL (13.3)

Geben Sie "Hilfe" für Hilfe ein.

Beginnen wir damit, alle Informationen aus der Tabelle PG_STAT_ACTIVITIONS zu sammeln. Verwenden Sie die Abfrage wie unten gezeigt

Wählen Sie * aus pg_stat_Activity;

Sobald Sie die obige Abfrage ausgeführt haben, wird PostgreSQL viele Informationen auf Sie abgeben. Um dies zu lösen, können wir bestimmte Spalten wie in der folgenden Abfrage gezeigt auswählen:

Wählen Sie Datname als Database_name aus,
PID as Process_id,
Ussename als Benutzername,
Anwendungsname,
client_addr als Host,
Client_port als Port,
Zustand,
Anfrage
von pg_stat_activity;

Dadurch wird nur die erforderlichen Informationen ausgewählt und organisiert sie tabellarisch, wie im Screenshot gezeigt.

Schließlich können wir filtern, wo der Status nicht gleich aktiv ist, nur um die aktiven Verbindungen zu sammeln.

Die Abfrage dafür ist:

Wählen Sie Datname als Database_name aus,
PID as Process_id,
Ussename als Benutzername,
Anwendungsname,
client_addr als Host,
Client_port als Port,
Zustand,
Anfrage
von pg_stat_activity
Wo sich „untätig“ angibt;

Dadurch wird eine ähnliche Ausgabe angezeigt, die dem unten gezeigten ähnelt:

Schließlich ist eine einfache Möglichkeit, ähnliche Informationen zu erhalten. Pgadmin ist ein leistungsstarkes GUI -Administrations -Tool für die PostgreSQL -Datenbank.

Sobald Sie sich bei Pgadmin anmelden, navigieren Sie zum Dashboard und gehen Sie zu Server_Activity. Aktualisieren Sie, um Ihnen alle Verbindungen zu zeigen.

Abschluss

In diesem Handbuch wurde unter Verwendung von pg_stat_activity table und pgadmin mit der Abfragetätigkeit von PostgreSQL untersucht, wie man Verbindungsaktivitäten abfragt.