Storia di a sessione attiva PostgreSQL - nova estensione pgsentinel

A cumpagnia pgsentinel liberata l'estensione pgsentinel di u listessu nome (repository github), chì aghjunghje a vista pg_active_session_history à PostgreSQL - a storia di e sessioni attive (simile à v$active_session_history d'Oracle).

In fatti, questi sò solu ogni seconda snapshots da pg_stat_activity, ma ci sò punti impurtanti:

  1. Tutte l'infurmazioni accumulate sò guardate solu in RAM, è a quantità di memoria cunsumata hè regulata da u numeru di l'ultimi records almacenati.
  2. U campu di queryid hè aghjuntu - u listessu queryid da l'estensione pg_stat_statements (pre-installazione necessaria).
  3. U campu di top_level_query hè aghjuntu - u testu di a dumanda da quale a dumanda attuale hè stata chjamata (in u casu di utilizà pl/pgsql)


Lista cumpleta di i campi pg_active_session_history:

      culonna | Tipu ------------------+------------------------- ash_time | timestamp cù fusu orariu datatu | oid dataname | testu pid | integer usesysid | oid nome d'usu | testu applicazione_name | testu client_addr | testu client_hostname | testu client_port | integer backend_start | timestamp cù fusu orariu xact_start | timestamp cù fusu orariu query_start | timestamp cù fusu orariu state_change | timestamp cù fusu orariu wait_event_type | testu wait_event | statu di testu | testu backend_xid | xid backend_xmin | xid query_top_level | dumanda testu | testu queryid | bigint backend_type | testu                     

Ùn ci hè ancu un pacchettu prontu per a stallazione. Hè prupostu di scaricà u codice fonte è di custruisce a biblioteca sè stessu. Prima avete bisognu di installà u pacchettu "devel" per u vostru servitore è stabilisce a strada per pg_config in a variabile PATH. Raccogliemu:

cd pgsentinel/src

fà installà

Aghjunghjite i parametri à postgres.conf:

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

# numeru di dischi recenti tenuti in memoria
pgsentinel_ash.max_entries = 10000

Ricarica PostgreSQL è crea una estensione:

creà estensione pgsentinel;

L'infurmazione accumulata ci permette di risponde à e dumande cum'è:

  • Quali aspettative anu passatu a sessione u più tempu?
  • Chì sessioni eranu i più attivi ?
  • Chì dumande eranu i più attivi ?

Pudete, sicuru, uttene risposti à queste dumande cù e dumande SQL, ma hè più convenientu per vede questu chjaramente nantu à u graficu, mette in risaltu l'intervalli di tempu d'interessu cù u mouse. Pudete fà cù un prugramma gratuitu PASH Viewer (pudete scaricà i binari raccolti in a sezione Novità).

À l'iniziu, PASH-Viewer (partendu da a versione 0.4.0) verifica a presenza di a vista pg_active_session_history, è se esiste, carica tutta a storia accumulata da ellu è cuntinueghja a leghje novi dati entranti, aghjurnendu u graficu ogni 15 seconde.

Storia di a sessione attiva PostgreSQL - nova estensione pgsentinel

Source: www.habr.com

Add a comment