Giriş
Açıklaması şöyle
There are several built-in tools and utilities available in PostgreSQL for monitoring performance metrics, such as the pg_stat_activity view and the pg_stat_database view.
query_start Sütunu
Örnek
Şöyle yaparız. Böylece en uzun süredir koşmakta olan sorguları görebiliriz
SELECT now() - pg_stat_activity.query_start AS duration, usesysid, usename, client_addr, pid, state, datname, query, backend_type FROM pg_stat_activity order by duration desc;
state Sütunu
active/idle gibi sonuçlar verir
Örnek
Bunları state sütununa göre gruplamak için şöyle yaparız. Bağlantıların durumunu gösterir
SELECT count(*),state FROM pg_stat_activity GROUP BY 2; count | state -------+------------------------------ 7 | active 32 | idle 22 | idle in transaction 4 | idle in transaction(aborted) (4 rows)
datname Sütunu
Database name in which process is running anlamına gelir.
Örnek - Kill Connection
Kendiminki hariç tüm connection'ları öldürmek için şöyle yaparız. SELECTpg_terminate_backend(procpid)FROMpg_stat_activityWHERE-- don't kill my own connection!procpid <> pg_backend_pid()-- don't kill the connections to other databasesAND datname = 'database_name';
pid Sütunu
Process unique id anlamına gelir
query Sütunu
Actual truncated query anlamına gelir
Örnek
Şöyle yaparız
SELECT datname as database_name, pid as Process_ID, usename as username, application_name, client_addr as Host, client_port as Port, state, query FROM pg_stat_activity;
usename Sütunu
Database username anlamına gelir
Örnek
Şöyle yaparız
SELECT pid, datname, usename, query, state FROM pg_stat_activity;
usesysid Sütunu
Database user id anlamına gelir
Hiç yorum yok:
Yorum Gönder