Ettevõte välja andnud samanimelise laienduse pgsentinel (), mis lisab PostgreSQL-i vaate pg_active_session_history — aktiivsete sessioonide ajaloo (analoogiliselt orakli v$active_session_history).
Põhimõtteliselt on need lihtsalt igas sekundis tehtavad pildid pg_stat_activity-st, kuid on mõned olulised aspektid:
- Kogu kogutud teave salvestatakse ainult vahemällu ja tarbitav mälumaht reguleeritakse viimase salvestatud kirje arvu järgi.
- Lisatakse väli queryid — see sama queryid pg_stat_statements laienditest (nõuab eelnevat installimist).
- Lisatakse väli top_level_query — päringu tekst, millest käivitus praegune päring (pl/pgsql-i kasutamisel)
Täielik nimekiri pg_active_session_history väljadest:
Veerg | Tüüp
------------------+--------------------------
ash_time | ajatemperatuur ajavööndiga
datid | oid
datname | tekst
pid | täisarv
usesysid | oid
usename | tekst
application_name | tekst
client_addr | tekst
client_hostname | tekst
client_port | täisarv
backend_start | ajatemperatuur ajavööndiga
xact_start | ajatemperatuur ajavööndiga
query_start | ajatemperatuur ajavööndiga
state_change | ajatemperatuur ajavööndiga
wait_event_type | tekst
wait_event | tekst
state | tekst
backend_xid | xid
backend_xmin | xid
top_level_query | tekst
query | tekst
queryid | bigint
backend_type | tekst
Valmis installipaketti pole veel saadaval. Soovitame allalaadimist algsest koodekst ja koguda teegi ise. Eelnevalt on vajalik oma serveri jaoks paigaldada 'devel' pakett ja PATH keskkonnamuutujasse lisada tee pg_config-ini. Kogumine:
cd pgsentinel/src
tee
make install
Lisame parameetrid postgres.conf faili:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = all# количество удерживаемых в памяти последних записей
pgsentinel_ash.max_entries = 10000
Taaskäivitage PostgreSQL ja looge laiendus:
create extension pgsentinel;
Kogutud teave võimaldab vastata sellistele küsimustele nagu:
- Millistes ootustes sessioonid veetsid kõige rohkem aega?
- Millised sessioonid olid kõige aktiivsemad?
- Millised päringud olid kõige aktiivsemad?
Neile küsimustele saab vastused muidugi SQL-päringutega, kuid mugavam on näha seda visuaalselt graafikult, välja tõstes hiirega huvitavaid ajavahemikke. Saate seda teha tasuta programmiga (kokku pandud binaare saab alla laadida jaotises ).
PASH-Viewer käivitamisel (alates versioonist 0.4.0) kontrollib see pg_active_session_history olemasolu ning kui see on olemas, laadib see kogu seni kogunenud ajalugu ning jätkab uute saabuvate andmete lugemist, uuendades graafikut iga 15 sekundi järel.

Allikas: habr.com
