Kompania ka publikuar zgjerimin me të njëjtin emër pgsentinel (), i cili shton në PostgreSQL pamjen pg_active_session_history — historikun e sesioneve aktive (ngjashëm me v$active_session_history të Oracle).
Në thelb, bëhet fjalë thjesht për fotografi të pg_stat_activity të marra çdo sekondë, por ka disa pika të rëndësishme:
- I gjithë informacioni i grumbulluar ruhet vetëm në memorien operative, ndërsa sasia e memories së përdorur rregullohet nga numri i regjistrimeve të fundit që mbahen.
- Shtohet fusha queryid — pikërisht ai queryid nga zgjerimi pg_stat_statements (kërkohet instalim paraprak).
- Shtohet fusha top_level_query — teksti i pyetjes nga e cila është thirrur pyetja aktuale (në rast të përdorimit të pl/pgsql)
Lista e plotë e fushave të pg_active_session_history:
Column | Type
------------------+--------------------------
ash_time | timestamp with time zone
datid | oid
datname | text
pid | integer
usesysid | oid
usename | text
application_name | text
client_addr | text
client_hostname | text
client_port | integer
backend_start | timestamp with time zone
xact_start | timestamp with time zone
query_start | timestamp with time zone
state_change | timestamp with time zone
wait_event_type | text
wait_event | text
state | text
backend_xid | xid
backend_xmin | xid
top_level_query | text
query | text
queryid | bigint
backend_type | text
Ende nuk ka një paketë të gatshme për instalim. Sugjerohet të shkarkoni kodin burimor dhe ta kompiloni vetë bibliotekën. Paraprakisht duhet të instaloni paketën «devel» për serverin tuaj dhe të shtoni në variablën PATH rrugën drejt pg_config. Kompilimi:
cd pgsentinel/src
make
make install
Shtojmë parametrat në postgres.conf:
shared_preload_libraries = ‘pg_stat_statements,pgsentinel’
track_activity_query_size = 2048
pg_stat_statements.track = all# количество удерживаемых в памяти последних записей
pgsentinel_ash.max_entries = 10000
Rinisni PostgreSQL dhe krijoni zgjerimin:
create extension pgsentinel;
Informacioni i grumbulluar ju lejon t’u përgjigjeni pyetjeve si këto:
- Në cilat pritje kanë kaluar sesionet më shumë kohë?
- Cilat sesione kanë qenë më aktive?
- Cilat pyetje kanë qenë më aktive?
Përgjigjet për këto pyetje mund të merren, sigurisht, me kërkesa SQL, por është më e përshtatshme t’i shihni ato vizualisht në grafik, duke përzgjedhur me miun intervalet kohore që ju interesojnë. Këtë mund ta bëni me programin falas (binarët e ndërtuar mund të shkarkohen në seksionin ).
Në nisjen e PASH-Viewer (duke filluar nga versioni 0.4.0), kontrollohet nëse ekziston pamja pg_active_session_history dhe, nëse ekziston, ngarkohet e gjithë historia e grumbulluar prej saj; më pas vazhdon leximi i të dhënave të reja hyrëse, duke përditësuar grafikun çdo 15 sekonda.

Burimi: habr.com
