Şirket
Di bingeh de, ev tenê ji pg_stat_activity dîmenên duyemîn-duyemîn in, lê xalên girîng hene:
- Hemî agahdariya berhevkirî tenê di RAM-ê de têne hilanîn, û mîqdara bîranînê ya ku tê vexwarin ji hêla hejmara tomarên paşîn ên hilandî ve têne rêve kirin.
- Qada queryid tê zêdekirin - heman pirsiyar ji pêveka pg_stat_statements (pêş-sazkirinê pêwîst e).
- Qada top_level_query tê zêdekirin - metna pirsê ya ku jêpirsîna heyî jê hatî gazî kirin (heke pl/pgsql bikar bîne)
Navnîşa tevahî ya qadên pg_active_session_history:
Stûn | Tîp ------------------+------------------------ ash_time | mohra demjimêra bi qada demjimêrê datid | oid datename | text pid | jimareya bêkêmasî useysid | oid username | text application_name | text client_addr | text client_hostname | text client_port | paşnav_destpêka yekjimar | mohra demjimêra bi qada demjimêrê xact_destpêk | mohra demjimêra bi qada demjimêrê query_start | mohra demjimêra bi herêma demê re state_change | mohra demjimêra bi qada demjimêrê wait_event_type | text benda_bûyer | rewşa nivîsê | text backend_xid | xid backend_xmin | xid top_level_query | pirsa nivîsê | text queryid | bigint backend_type | nivîstok
Ji bo sazkirinê hêj pakêtek amade tune. Tê pêşniyar kirin ku çavkaniyan dakêşin û pirtûkxaneyê bi xwe kom bikin. Pêşî hûn hewce ne ku pakêta "pêşvebirinê" ji bo servera xwe saz bikin û riya pg_config di guhêrbar PATH de saz bikin. Em berhev dikin:
cd pgsentinel/src
kirin
saz bikin
Parametreyan li postgres.conf zêde bikin:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = hemû# hejmara tomarên dawî yên ku di bîranînê de ne
pgsentinel_ash.max_entries = 10000
PostgreSQL ji nû ve bidin destpêkirin û pêvekek biafirînin:
pêvekirina pgsentinel çêbikin;
Agahdariya berhevkirî rê dide me ku em bersiva pirsên wekî:
- We herî zêde wext li ser kîjan danişînên bendewariyê derbas kir?
- Kîjan danişînên herî çalak bûn?
- Çi daxwazên herî çalak bûn?
Bê guman, hûn dikarin bi karanîna pirsên SQL bersivên van pirsan bistînin, lê hêsantir e ku meriv vê yekê bi dîtbarî li ser grafekê bi ronîkirina navberên dem ên balkêş bi mişkê re bibîne. Hûn dikarin vê yekê bi bernameyek belaş bikin
Dema ku dest pê dike, PASH-Viewer (ji guhertoya 0.4.0 dest pê dike) hebûna dîtina pg_active_session_history kontrol dike û heke hebe, ew tevahiya dîroka berhevkirî jê bar dike û xwendina daneyên nû yên hatinî didomîne, grafîkê her 15 çirkeyan nûve dike.
Source: www.habr.com