Що означає стан IDLE у рядку pg_stat_activity?


15

Чи може хтось вирішити мої нижче сумніви щодо pg_stat_activityпостгресів 9.5?

  1. Чи можуть хтось дозволити мені знати, що означає state IDLEпозначення у рядку pg_stat_activity? Це як би він перевіряє всі відкриті підключення до postgres і якщо з'єднання не виконує жодного запиту, то IDLEпозначає останній запит, виконаний з'єднанням?
  2. У висновку select * from pg_stat_activityя бачу рядки з state IDLEі query_start_dateбільше 2 днів? Що це означає? Чи варто переживати з цього приводу?
  3. Чи може хтось повідомити мені про те, як pg_stat_activity заселяється? Якщо я виконую запит, як Select * from pg_stat_activityвін створює деталі з деякого знімка, який підтримується postgres, або він перевіряє поточні з'єднання, відкриті в postgres, щоб надати деталі?

Відповіді:


12

На це відповіли у списку розсилки postgres

Кожен рядок у pg_stat_activity представляє встановлене з'єднання з сервером від клієнта. "простоює" означає, що клієнт наразі не виконує запит, ані транзакцію.

Якщо query_start_date 2 дні, це означає, що останній запит, який слід виконати на цьому з'єднанні, був два дні тому.

Насправді це не викликає занепокоєння, якщо у вас не так багато відкритих підключень, що це витрачає більше оперативної пам’яті, ніж ви можете собі дозволити. Зазвичай бажано, щоб пул з'єднань мав кілька непрацюючих з'єднань, щоб запити не страждали від затримки встановлення нового з'єднання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.