Ettevõte välja andnud samanimelise pgsentinel laienduse (), mis lisab PostgreSQL-i pg_active_session_history vaate — aktiivsete seansside ajaloo (sarnanedes Oracle'i v$active_session_history-ga).
Sisuliselt on see lihtsalt igasekundilised hetkepildid pg_stat_activity-st, kuid on olulisi punkte:
- Kogu kogutud teave salvestatakse ainult muutmälu, samas kui tarbitav mälu maht reguleeritakse viimaste salvestatud kirjetega.
- Lisatakse väli queryid — just see queryid pg_stat_statements laiendusest (nõuab eelnevat installi).
- Lisatakse väli top_level_query — päringu tekst, mille kaudu käivitatakse praegune päring (pl/pgsql-i kasutamise korral)
Täielik loetelu pg_active_session_history väljadest:
Veerg | Tüüp
------------------+--------------------------
ash_time | ajatemperatuur koos 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 koos ajavööndiga
xact_start | ajatemperatuur koos ajavööndiga
query_start | ajatemperatuur koos ajavööndiga
state_change | ajatemperatuur koos 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 paketinstallatsiooni jaoks pole hetkel saadaval. Soovitame allalaadida lähtekoodid ja koguda teek ise. Esiteks tuleb installida oma serveri jaoks "devel"-pakett ja PATH-i muutuja alla kirjutada pg_configi tee. Kogume:
cd pgsentinel/src
make
make install
Lisame parameetrid postgres.conf-i:
shared_preload_libraries = ‘pg_stat_statements,pgsentinel’
track_activity_query_size = 2048
pg_stat_statements.track = all# количество удерживаемых в памяти последних записей
pgsentinel_ash.max_entries = 10000
Taaskäivitame PostgreSQL ja loome laienduse:
create extension pgsentinel;
Kogutud teave võimaldab vastata sellistele küsimustele nagu:
- Millistel seanssidel veedeti kõige rohkem aega?
- Millised seansid olid kõige aktiivsemad?
- Millised päringud olid kõige aktiivsemad?
Need küsimused on võimalikud muidugi SQL-päringutega, kuid mugavam on neid visuaalselt näha graafikul, hiirega huvipakkuvaid ajavahemikke esile tõstes. Saate seda teha tasuta programmi abil (koostatavad binaarid on saadaval jaotises ).
PASH-Viewer alustamisel (alates versioonist 0.4.0) kontrollib, kas pg_active_session_history vaate olemasolu ja kui see on olemas, siis laadib sellest kogu kogutud ajaloo ning jätkab uute andmete lugemist, uuendades graafikut iga 15 sekundi järel.

Allikas: habr.com
