Apa yang dinyatakan oleh IDLE dalam deretan pg_stat_activity?

14

Adakah yang bisa mengatasi keraguan saya tentang pg_stat_activitypostgres 9.5 di bawah ini?

  1. Bisakah beberapa orang memberi tahu saya apa yang state IDLEditunjukkan oleh deretan baris pg_stat_activity? Apakah itu seperti memeriksa semua koneksi terbuka ke postgres dan jika koneksi tidak mengeksekusi kueri apa pun maka IDLEmenunjukkan kueri terakhir yang dieksekusi oleh koneksi?
  2. Dalam output select * from pg_stat_activitysaya melihat baris dengan state IDLEdan query_start_datelebih dari 2 hari? Apa artinya ini? Haruskah saya khawatir tentang ini?
  3. Dapatkah seseorang memberi tahu saya bagaimana pg_stat_activity terisi? Jika saya menjalankan query seperti Select * from pg_stat_activityapakah ia menghasilkan detail dari beberapa snapshot yang dikelola oleh postgres atau memeriksa koneksi saat ini terbuka di postgres untuk memberikan detail?
tuk
sumber
ulang 1): postgresql.org/docs/current/static/…
a_horse_with_no_name

Jawaban:

11

Ini telah dijawab di milis postgres

Setiap baris dalam pg_stat_activity mewakili koneksi yang dibuat ke server dari klien. "idle" berarti klien saat ini tidak mengeksekusi permintaan atau dalam transaksi.

Jika query_start_date berumur 2 hari, itu artinya permintaan terakhir yang dieksekusi pada koneksi itu adalah dua hari yang lalu.

Bukan alasan untuk khawatir, kecuali jika Anda memiliki begitu banyak koneksi terbuka yang menghabiskan lebih banyak RAM daripada yang Anda mampu. Umumnya diinginkan untuk kumpulan koneksi untuk memiliki beberapa koneksi idle sehingga pertanyaan tidak menderita latensi membangun koneksi baru.

tuk
sumber