Historia aktive e sesioneve PostgreSQL - zgjerim i ri pgsentinel

kompani pgsentinel lëshoi ​​shtesën pgsentinel me të njëjtin emër (depoja e github), i cili shton pamjen pg_active_session_history në PostgreSQL - historia e sesioneve aktive (e ngjashme me v$active_session_history të Oracle).

Në thelb, këto janë thjesht fotografi sekonda pas sekonde nga pg_stat_activity, por ka pika të rëndësishme:

  1. I gjithë informacioni i grumbulluar ruhet vetëm në RAM, dhe sasia e memories së konsumuar rregullohet nga numri i regjistrimeve të fundit të ruajtura.
  2. Fusha queryid shtohet - i njëjti pyetësor nga shtrirja pg_stat_statements (kërkohet instalimi paraprak).
  3. Shtohet fusha top_level_query - teksti i pyetjes nga i cili është thirrur pyetja aktuale (nëse përdoret pl/pgsql)


Lista e plotë e fushave pg_active_session_history:

      Kolona | Lloji -------------------------------------------- koha e hirit | vula kohore me zonën kohore datid | oid emri i datës | tekst pid | numër i plotë useysid | oid emri i përdorimit | teksti emri i aplikacionit | tekst klient_addr | tekst emri i klientit_host | tekst klient_port | numër i plotë fundi_fillimi | vula kohore me zonën kohore xact_start | vula kohore me query_start | vula kohore me gjendjen_ndryshim të zonës kohore | vula kohore me zonën kohore pritje_ngjarja_lloji | teksti pritje_ngjarja | gjendja e tekstit | fundi i tekstit_xid | xid backend_xmin | xid_kërkesa_e_nivelit të lartë | pyetje teksti | teksti pyetësor | bigint backend_type | teksti                     

Nuk ka ende një paketë të gatshme për instalim. Sugjerohet që të shkarkoni burimet dhe ta montoni vetë bibliotekën. Së pari duhet të instaloni paketën “zhvilloni” për serverin tuaj dhe të vendosni shtegun te pg_config në variablin PATH. Ne mbledhim:

cd pgsentinel/src
bërë
make install

Shtoni parametra në postgres.conf:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = të gjitha

# numër i rekordeve të fundit të mbajtura në kujtesë
pgsentinel_ash.max_entries = 10000

Rinisni PostgreSQL dhe krijoni një shtesë:

krijoni shtesën pgsentinel;

Informacioni i grumbulluar na lejon t'u përgjigjemi pyetjeve të tilla si:

  • Në cilat seanca pritjeje keni shpenzuar më shumë kohë?
  • Cilat sesione ishin më aktive?
  • Cilat kërkesa ishin më aktive?

Ju, sigurisht, mund të merrni përgjigje për këto pyetje duke përdorur pyetjet SQL, por është më e përshtatshme ta shihni këtë vizualisht në një grafik duke theksuar intervalet kohore të interesit me miun. Ju mund ta bëni këtë me një program falas PASH-Shikues (mund të shkarkoni binarët e mbledhur në seksion Shtyp).

Kur fillon, PASH-Viewer (duke filluar nga versioni 0.4.0) kontrollon praninë e pamjes pg_active_session_history dhe nëse ekziston, ngarkon të gjithë historinë e akumuluar prej saj dhe vazhdon të lexojë të dhëna të reja hyrëse, duke përditësuar grafikun çdo 15 sekonda.

Historia aktive e sesioneve PostgreSQL - zgjerim i ri pgsentinel

Burimi: www.habr.com

Shto një koment