Kasaysayan sa aktibo nga sesyon sa PostgreSQL - bag-ong extension sa pgsentinel

Lig-on pgsentinel gipagawas pgsentinel extension sa parehas nga ngalan (github repository), nga nagdugang sa pg_active_session_history nga panglantaw sa PostgreSQL - ang kasaysayan sa mga aktibong sesyon (susama sa v$active_session_history sa Oracle).

Sa tinuud, kini matag segundo nga mga snapshot gikan sa pg_stat_activity, apan adunay hinungdanon nga mga punto:

  1. Ang tanan nga natipon nga impormasyon gitipigan lamang sa RAM, ug ang gidaghanon sa memorya nga gigamit gikontrolar sa gidaghanon sa katapusang gitipigan nga mga rekord.
  2. Gidugang ang field sa queryid - parehas nga queryid gikan sa extension sa pg_stat_statements (kinahanglan nga pre-installation).
  3. Ang top_level_query field gidugang - ang teksto sa pangutana diin ang kasamtangan nga pangutana gitawag (sa kaso sa paggamit sa pl/pgsql)


Bug-os nga listahan sa pg_active_session_history fields:

      kolum | Type --------------------------------- ash_time | timestamp nga adunay time zone nga gipetsahan | oid nga ngalan sa datos | text pid | integer gamitysid | oid usename | text application_name | text client_addr | text client_hostname | text client_port | integer backend_start | timestamp nga adunay time zone xact_start | timestamp nga adunay time zone query_start | timestamp nga adunay time zone state_change | timestamp nga adunay time zone wait_event_type | text wait_event | kahimtang sa teksto | teksto backend_xid | xid backend_xmin | xid top_level_query | pangutana sa text | text queryid | bigint backend_type | text                     

Wala pa'y andam nga pakete alang sa pag-instalar. Gisugyot nga i-download ang source code ug tukuron ang librarya sa imong kaugalingon. Una kinahanglan nimo nga i-install ang "devel" nga pakete alang sa imong server ug ibutang ang agianan sa pg_config sa PATH variable. Gikolekta namo:

cd pgsentinel/src
sa paghimo sa
paghimo sa pag-instalar

Idugang ang mga parametro sa postgres.conf:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = tanan

# gidaghanon sa bag-ong mga rekord nga gihuptan sa memorya
pgsentinel_ash.max_entries = 10000

I-reload ang PostgreSQL ug paghimo og extension:

paghimo extension pgsentinel;

Ang natipon nga impormasyon nagtugot kanamo sa pagtubag sa mga pangutana sama sa:

  • Unsa nga mga gilauman ang gigugol sa mga sesyon sa labing daghang oras?
  • Unsa nga mga sesyon ang labing aktibo?
  • Unsa nga mga hangyo ang labing aktibo?

Mahimo nimo, siyempre, makakuha og mga tubag niini nga mga pangutana gamit ang mga pangutana sa SQL, apan mas sayon ​​​​nga makita kini nga tin-aw sa tsart, nga nagpasiugda sa mga agwat sa panahon sa interes gamit ang mouse. Mahimo nimo kini gamit ang usa ka libre nga programa PASH Viewer (mahimo nimong i-download ang mga nakolekta nga binary sa seksyon releases).

Sa pagsugod, ang PASH-Viewer (sugod sa bersyon 0.4.0) nagsusi sa presensya sa pg_active_session_history nga panglantaw, ug kung kini anaa, kini nagkarga sa tibuok natipon nga kasaysayan gikan niini ug nagpadayon sa pagbasa sa bag-ong umaabot nga datos, pag-update sa graph matag 15 segundos.

Kasaysayan sa aktibo nga sesyon sa PostgreSQL - bag-ong extension sa pgsentinel

Source: www.habr.com

Idugang sa usa ka comment