PGMon

Monitorování využívání databáze je velice důležitou součástí životního cyklu aplikace a jejího ladění - PostgreSQL k tomuto účelu poskytuje pohled pg_stats (a další pg_stat_* pohledy), ale neposkytuje žádné informace o historii a bez tekové informace o kontextu nelze odhalit podezřelé vzory (například skokové zvýšení počtu "dead tuples") apod. Tento projekt si klade za cíl nástroj pro sběr, zobrazování a analýzu takových historických dat.

Tento projekt je hostován na sourceforge.net, a to na adrese http://pgmonitor.sf.net (resp. http://apps.sourceforge.net/trac/pgmonitor/).

Občas se stane že se aplikace "z ničeho nic" zblázní - databáze se plazí pomaleji než šnek, disky jedou na 100% zatímco procesor se fláká okolo 1% (nebo naopak), a podobně. A za chvíli je zase všechno zdánlivě v pořádku ...

Kde se stala chyba? Došlo k výraznému nárustu počtu dotazů nad některou z velkých tabulek, nebo to bylo důsledkem změny některých parametrů v konfiguraci PostgreSQL? Narostl výrazně počet "dead tuples" v některé tabulce? Začaly se náhle dotazy nad některými tabulkami vyhodnocovat přes "seqscan" nebo naopak přes "indexscan"?

PostgreSQL sice obsahuje zajímavé statistické pohledy (pg_stats a další pg_stat_*) ale výše uvedené otázky v podstatě nelze zodpovědět bez informací o historických hodnotách - a ty bohužel v uvedených pohledech uloženy nejsou. No a právě proto vznikl tento projekt - jeho účelem je archivovat data z těchto pohledů a přehledným způsobem je zobrazovat.

Články o projektu