pg_stat_activity の使い方
いまの接続と、何をしているか
書き方
SELECT pid, usename, state, wait_event_type, wait_event, query FROM pg_stat_activity; SELECT state, count(*) FROM pg_stat_activity GROUP BY state;
接続ごとに 1 行です。state は active(実行中)・idle(待ち)・idle in transaction(トランザクションの途中で止まっている)。query_start は今の問い合わせの開始、xact_start はトランザクションの開始、wait_event_type・wait_event は何を待っているか(Lock ならロック、Client ならアプリの返事)。backend_type が client backend の行がアプリなどの接続です。
例
SELECT pid, now() - xact_start AS xact_age, query FROM pg_stat_activity WHERE state = 'idle in transaction';
実際に打って練習する
PostgreSQL DBA コースの Lv44「いまの接続 pg_stat_activity」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。