társaság
Lényegében ezek egyszerűen másodpercenkénti pillanatképek a pg_stat_activity webhelyről, de vannak fontos pontok:
- Az összes felhalmozott információ csak a RAM-ban tárolódik, és a felhasznált memória mennyiségét az utoljára tárolt rekordok száma szabályozza.
- A queryid mező hozzáadásra kerül – ugyanaz a lekérdezési azonosító a pg_stat_statements bővítményből (előzetes telepítés szükséges).
- A top_level_query mező hozzáadásra kerül - annak a lekérdezésnek a szövege, amelyből az aktuális lekérdezést hívták (ha pl/pgsql-t használ)
A pg_active_session_history mezők teljes listája:
oszlop | Típus ------------------+------------------------- ash_time | időbélyeg az időzóna dátumával | oid dátumnév | szöveg pid | integer usesysid | oid felhasználói név | szöveges alkalmazás_neve | szöveges ügyfél_címe | szöveges ügyfél_állomásnév | szöveges ügyfél_port | integer backend_start | időbélyeg xact_start | időzónával időbélyeg időzónával query_start | időbélyeg az időzóna állapotának változásával | időbélyeg az időzónával, várakozás_esemény_típusa | szöveg vár_esemény | szöveg állapota | text backend_xid | xid backend_xmin | xid felső_szintű_lekérdezés | szöveges lekérdezés | szöveges lekérdezésazonosító | bigint backend_type | szöveg
Még nincs kész csomag a telepítéshez. Javasoljuk, hogy saját maga töltse le a forrásokat és állítsa össze a könyvtárat. Először telepítenie kell a "devel" csomagot a kiszolgálóhoz, és be kell állítania a pg_config elérési utat a PATH változóban. Gyűjtjük:
cd pgsentinel/src
csinál
make install
Paraméterek hozzáadása a postgres.conf fájlhoz:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = minden# a memóriában tárolt legutóbbi rekordok száma
pgsentinel_ash.max_entries = 10000
Indítsa újra a PostgreSQL-t, és hozzon létre egy kiterjesztést:
pgsentinel kiterjesztés létrehozása;
A felhalmozott információk lehetővé teszik számunkra, hogy válaszoljunk olyan kérdésekre, mint például:
- Mely várakozási ülésekkel töltötte a legtöbb időt?
- Mely foglalkozások voltak a legaktívabbak?
- Mely kérések voltak a legaktívabbak?
Természetesen ezekre a kérdésekre választ kaphatunk SQL lekérdezések segítségével, de kényelmesebb ezt vizuálisan egy grafikonon látni, ha egérrel kiemeljük a számunkra érdekes időintervallumokat. Ezt egy ingyenes programmal megteheti
Indításkor a PASH-Viewer (a 0.4.0-s verziótól kezdődően) ellenőrzi a pg_active_session_history nézet meglétét, és ha létezik, betölti belőle a teljes felhalmozott előzményeket, és folytatja az új bejövő adatok beolvasását, 15 másodpercenként frissítve a grafikont.
Forrás: will.com