Cosa indica lo stato IDLE in una riga di pg_stat_activity?


14

Qualcuno può risolvere i miei dubbi qui sotto pg_stat_activityin termini di postgres 9.5?

  1. Qualcuno può farmi sapere che cosa state IDLEindica la riga nella riga pg_stat_activity? È come se controlla tutte le connessioni aperte a Postgres e se la connessione non sta eseguendo alcuna query, allora IDLEindica l'ultima query eseguita dalla connessione?
  2. Nell'output di select * from pg_stat_activitysto vedendo righe con state IDLEe query_start_datepiù di 2 giorni fa? Cosa significa questo? Dovrei essere preoccupato per questo?
  3. Qualcuno può farmi sapere come viene popolata pg_stat_activity? Se sto eseguendo una query come Select * from pg_stat_activityquesta, produce i dettagli da qualche istantanea gestita da Postgres o controlla le connessioni correnti aperte in Postgres per fornire i dettagli?

Risposte:


11

Questo è stato risposto nella mailing list di Postgres

Ogni riga in pg_stat_activity rappresenta una connessione stabilita al server da un client. "inattivo" indica che il client non sta attualmente eseguendo una query né in una transazione.

Se query_start_date ha 2 giorni, significa che l'ultima query da eseguire su quella connessione risale a due giorni fa.

Non è davvero un motivo di preoccupazione, a meno che non ci siano così tante connessioni aperte che sta consumando più RAM di quanto ci si possa permettere. È generalmente auspicabile che un pool di connessioni abbia alcune connessioni inattive, quindi le query non subiscono la latenza di stabilire una nuova connessione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.