it-swarm.com.de

Was bedeutet der IDLE-Status in einer Reihe von pg_stat_activity?

Kann jemand meine unten stehenden Zweifel an pg_stat_activity In Bezug auf Postgres 9.5 lösen?

  1. Können einige mich wissen lassen, was das stateIDLE in der Zeile von pg_stat_activity Bedeutet? Ist es so, als ob alle offenen Verbindungen zu Postgres überprüft werden und wenn die Verbindung keine Abfrage ausführt, bezeichnet IDLE die letzte von der Verbindung ausgeführte Abfrage?
  2. In der Ausgabe von select * from pg_stat_activity Zeige ich Zeilen mit stateIDLE und dem query_start_date, Der älter als 2 Tage ist? Was bedeutet das? Sollte ich mir darüber Sorgen machen?
  3. Kann mir jemand mitteilen, wie pg_stat_activity gefüllt ist? Wenn ich eine Abfrage wie Select * from pg_stat_activity Ausführe, werden dann die Details aus einem von postgres verwalteten Snapshot erstellt oder die aktuellen Verbindungen in postgres überprüft, um die Details bereitzustellen?
16
tuk

Dies wurde in postgres Mailingliste beantwortet

Jede Zeile in pg_stat_activity repräsentiert eine hergestellte Verbindung von einem Client zum Server. "Leerlauf" bedeutet, dass der Client derzeit weder eine Abfrage noch eine Transaktion ausführt.

Wenn query_start_date 2 Tage alt ist, bedeutet dies nur, dass die letzte Abfrage, die für diese Verbindung ausgeführt wurde, vor zwei Tagen war.

Kein Grund zur Sorge, es sei denn, Sie haben so viele offene Verbindungen, dass mehr RAM verbraucht wird, als Sie sich leisten können. Im Allgemeinen ist es wünschenswert, dass ein Verbindungspool einige inaktive Verbindungen aufweist, damit bei Abfragen nicht die Latenz beim Herstellen einer neuen Verbindung auftritt.

14
tuk