Kompania lëshoi një zgjatje me të njëjtin emër pgsentinel (), e cila shton në PostgreSQL pamjen pg_active_session_history — historinë e seancave aktive (siç është në v$active_session_history e Oracle).
Në thelb, këto janë thjesht fotografi çdo sekondë nga pg_stat_activity, por ka disa pika të rëndësishme:
- I gjithë informacioni i akumuluar ruhet vetëm në memorien e përkohshme, dhe sasia e memories së konsumuar rregullohet nga numri i rekordeve të fundit të ruajtura.
- Shtohet fusha queryid — ai queryid nga zgjatja pg_stat_statements (e cila kërkon instalimin paraprak).
- Shtohet fusha top_level_query — teksti i kërkesës nga e cila u thirr kërkesa aktuale (në rastin e përdorimit të pl/pgsql)
Lista e plotë e fushave pg_active_session_history:
Kolona | Lloji
------------------+--------------------------
ash_time | timestamp me kohen zonë
datid | oid
datname | tekst
pid | integer
usesysid | oid
usename | tekst
application_name | tekst
client_addr | tekst
client_hostname | tekst
client_port | integer
backend_start | timestamp me kohen zonë
xact_start | timestamp me kohen zonë
query_start | timestamp me kohen zonë
state_change | timestamp me kohen zonë
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
Nuk ka një paketë të gatshme për instalim. Propozohet që të shkarkohet burimi dhe të mblidhet biblioteka vetë. Në fillim kërkohet të instaloni paketën "devel" për serverin tuaj dhe të regjistroni rrugën në variablën PATH deri te pg_config. Mblidhni:
cd pgsentinel/src
make
make install
Shto 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 akumuluar lejon të përgjigjeni në pyetje si:
- Në cilat pritje seancash u kalua më shumë kohë?
- Cilat seanca ishin më aktive?
- Cilat kërkesa ishin më aktive?
Për të marrë përgjigje për këto pyetje, sigurisht, mund të përdorni SQL kërkesa, por është më e lehtë ta shihni vizualisht në grafik, duke shënuar me miun intervalet e interesit. Mund ta bëni këtë me programin falas (mund të shkarkoni binaret e grumbulluara në seksionin ).
Kur të nisë PASH-Viewer (duke filluar nga versioni 0.4.0) kontrollon nëse ekziston prezantimi pg_active_session_history dhe nëse ai ekziston, ngarkon të gjithë historinë e akumuluar dhe vazhdon të lexojë të dhënat e reja, duke përditësuar grafikën çdo 15 sekonda.

Burimi: habr.com
