PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Lang anhaltende 'COMMIT'-Abfragen mit 'idle'-Zustand in pg_stat_activity

Wenn die Sitzung "inaktiv" ist, zeigt die Abfragespalte die letzte Anweisung, dass die Verbindung ausgeführt wurde. Es ist nicht die "aktuelle" Abfrage, also ist die Verbindung nicht warten, bis der Commit abgeschlossen ist.

Die query Spalte zeigt nur den aktuellen Anweisung if status zeigt active .

Eine "leere" Verbindung ist kein Problem und im Wesentlichen der Grund, warum ein Verbindungspool verwendet wird, damit er wiederverwendet werden kann. Allerdings sind Sitzungen, die sehr lange in "Idle in Transaction" bleiben, ein Problem. Aber Sie haben angegeben, dass sich Ihre Verbindungen im "Leerlauf" -Zustand befinden.

Wenn Ihr Verbindungspool das Limit erreicht, bedeutet dies höchstwahrscheinlich, dass Ihre Anwendung die Verbindungen nicht ordnungsgemäß an den Pool zurückgibt. Es ist etwas, das Sie in Ihrer Anwendung beheben müssen.