438 Stimmen

Wie listet man aktive Verbindungen auf PostgreSQL auf?

Gibt es einen Befehl in PostgreSQL, um aktive Verbindungen zu einer bestimmten Datenbank auszuwählen?

psql gibt an, dass ich eine meiner Datenbanken nicht löschen kann, weil noch aktive Verbindungen dazu bestehen. Deshalb würde ich gerne sehen, welche Verbindungen bestehen (und von welchen Maschinen aus).

775voto

Tregoreg Punkte 14864

Oh, ich habe gerade diesen Befehl im PostgreSQL-Forum gefunden:

SELECT * FROM pg_stat_activity;

Um auf nur eine Datenbank zu beschränken:

SELECT * FROM pg_stat_activity WHERE datname = 'dbname';

104voto

Neeraj Bansal Punkte 2124

Im Folgenden werden Ihnen aktive Verbindungen/Abfragen in der Postgres-Datenbank angezeigt:

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query
    ,state
FROM pg_stat_activity
WHERE state = 'active';

Sie können auch 'idle' statt 'active' verwenden, um bereits ausgeführte Verbindungen/Abfragen zu erhalten.

51voto

Abdollah Punkte 3529
SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';

Da pg_stat_activity Verbindungstatistiken aller Datenbanken mit einem beliebigen Zustand enthält, entweder idle oder active, sollte der Datenbankname und der Verbindungszustand in der Abfrage enthalten sein, um die gewünschte Ausgabe zu erhalten.

16voto

santosh tiwary Punkte 199

Sie können Verbindungsdetails in Postgres mit pg_stat_activity überprüfen. Sie können Filter anwenden, um Ihre Bedingung zu erfüllen. Unten sind Abfragen. Verweise: https://orahow.com/check-active-connections-in-postgresql/

SELECT * FROM pg_stat_activity WHERE state = 'active';

select \* from pg\_stat\_activity where state = 'active' and datname = 'REPLACE\_DB\_NAME\_HERE';

15voto

Igor S. Punkte 340

Wenn Sie PgAdmin verwenden möchten (für mich ist es mehr als praktisch), können Sie diese einfachen Schritte ausführen. Ich freue mich, wenn Ihnen das hilft

SELECT * FROM pg_stat_activity;

Beispiel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X