společnost
Ve skutečnosti jsou to jen snímky každé sekundy z pg_stat_activity, ale jsou zde důležité body:
- Všechny nashromážděné informace jsou uloženy pouze v paměti RAM a množství spotřebované paměti je regulováno počtem posledních uložených záznamů.
- Je přidáno pole queryid - stejné queryid z rozšíření pg_stat_statements (vyžaduje předinstalaci).
- Přidá se pole top_level_query - text dotazu, ze kterého byl volán aktuální dotaz (v případě použití pl/pgsql)
Úplný seznam polí pg_active_session_history:
sloupec | Typ ------------------+-------------------------- ash_time | časové razítko s datem časového pásma | oid dataname | text pid | celé číslo usesysid | oid uživatelské jméno | text název_aplikace | text client_addr | text client_hostname | text client_port | celé číslo backend_start | časové razítko s časovou zónou xact_start | časové razítko s časovou zónou query_start | časové razítko s časovým pásmem state_change | časové razítko s časovou zónou wait_event_type | text wait_event | textový stav | text backend_xid | xid backend_xmin | xid top_level_query | textový dotaz | textový dotaz | bigint backend_type | text
Zatím není připraven žádný balíček pro instalaci. Navrhuje se stáhnout si zdrojový kód a vytvořit knihovnu sami. Nejprve musíte nainstalovat balíček „devel“ pro váš server a nastavit cestu na pg_config v proměnné PATH. Sbíráme:
cd pgsentinel/src
činit
make install
Přidejte parametry do postgres.conf:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = vše# počet posledních záznamů uložených v paměti
pgsentinel_ash.max_entries = 10000 XNUMX
Znovu načtěte PostgreSQL a vytvořte rozšíření:
vytvořit rozšíření pgsentinel;
Nashromážděné informace nám umožňují odpovědět na otázky, jako jsou:
- Na jaká očekávání sezení strávilo nejvíce času?
- Která setkání byla nejaktivnější?
- Jaké požadavky byly nejaktivnější?
Odpovědi na tyto otázky můžete samozřejmě získat pomocí SQL dotazů, ale je pohodlnější to jasně vidět na grafu a myší zvýraznit časové intervaly, které vás zajímají. Můžete to udělat pomocí bezplatného programu
Při spuštění PASH-Viewer (od verze 0.4.0) zkontroluje přítomnost pohledu pg_active_session_history, a pokud existuje, načte z něj celou nashromážděnou historii a pokračuje ve čtení nových příchozích dat, přičemž graf aktualizuje každých 15 sekund.
Zdroj: www.habr.com