DBAtlas · データベース運用アトラス

アクティブなクエリとブロックしているクエリを表示

PostgreSQLセッション

コマンド

SELECT pid, usename, state, wait_event_type, wait_event, pg_blocking_pids(pid) AS blocking_pids, now() - query_start AS duration, left(query, 100) AS query FROM pg_stat_activity WHERE state <> 'idle' AND pid <> pg_backend_pid() ORDER BY duration DESC;

概要

idle以外のすべてのバックエンド、それらをブロックしているPID、実行時間を一覧表示する。

使用する場面

ロック/ブロッキングの問題と長時間実行のクエリを診断するため。

注意

pg_blocking_pidsはPostgreSQL 9.6以降で使用可能。blocking_pids配列が空でない場合、それらのPIDがロックを保持している。必要に応じてそのPIDを取り消し/終了する。

DBAtlas で開く →

関連項目