Riwayat sesi aktif PostgreSQL - ekstensi pgsentinel anyar

Tenan pgsentinel ngeculake ekstensi pgsentinel kanthi jeneng sing padha (repositori github), sing nambah tampilan pg_active_session_history menyang PostgreSQL - riwayat sesi aktif (padha karo v $ active_session_history Oracle).

Ateges, iki mung jepretan detik saka pg_stat_activity, nanging ana titik penting:

  1. Kabeh informasi sing dikumpulake mung disimpen ing RAM, lan jumlah memori sing dikonsumsi diatur kanthi jumlah rekaman sing disimpen pungkasan.
  2. Kolom queryid ditambahake - queryid padha saka ekstensi pg_stat_statements (pra-instalasi dibutuhake).
  3. Kolom top_level_query ditambahake - teks pitakon saka pitakon saiki diarani (yen nggunakake pl/pgsql)


Dhaptar lengkap kolom pg_active_session_history:

      Kolom | Ketik ------------------------------- ash_time | timestamp karo zona wektu datid | oid datename | teks pid | integer usesysid | jeneng panganggone | jeneng_aplikasi teks | teks klien_addr | teks client_hostname | port_klien teks | integer backend_start | timestamp karo zona wektu xact_start | timestamp karo zona wektu query_start | timestamp karo zona wektu state_change | timestamp karo zona wektu wait_event_type | teks tunggu_acara | negara teks | teks backend_xid | xid backend_xmin | xid top_level_query | pitakon teks | teks pitakon | bigint backend_type | teks                     

Durung ana paket siap kanggo instalasi. Disaranake kanggo ngundhuh sumber lan ngumpulake perpustakaan dhewe. Sampeyan kudu nginstal paket "devel" kanggo server lan nyetel path menyang pg_config ing variabel PATH. Kita ngumpulake:

cd pgsentinel/src
nggawe
nggawe instalasi

Tambah paramèter menyang postgres.conf:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = kabeh

# nomer rekaman paling anyar sing disimpen ing memori
pgsentinel_ash.max_entries = 10000

Wiwiti maneh PostgreSQL lan gawe ekstensi:

nggawe extension pgsentinel;

Informasi akumulasi ngidini kita mangsuli pitakon kayata:

  • Sesi nunggu apa sing paling akeh sampeyan gunakake?
  • Sesi endi sing paling aktif?
  • Panjaluk apa sing paling aktif?

Sampeyan bisa, mesthi, njaluk jawaban kanggo pitakonan iki nggunakake pitakon SQL, nanging luwih trep kanggo ndeleng iki visual ing grafik kanthi nyorot interval wektu kapentingan karo mouse. Sampeyan bisa nindakake iki kanthi program gratis PASH-Viewer (sampeyan bisa ndownload binari sing diklumpukake ing bagean releases).

Nalika miwiti, PASH-Viewer (wiwit saka versi 0.4.0) mriksa ngarsane pg_active_session_history tampilan lan yen ana, iku mbukak kabeh akumulasi sajarah saka iku lan terus maca data anyar mlebu, nganyari grafik saben 15 detik.

Riwayat sesi aktif PostgreSQL - ekstensi pgsentinel anyar

Source: www.habr.com

Add a comment