ぼくのインターネッツ

PostgreSQL で実行中のクエリを確認する

PostgreSQL でクエリを実行した時になかなか結果が帰ってこない。そんな時にこれ↓

select
pid,
application_name,
backend_start,
xact_start,
query_start,
state_change,
waiting,
state,
query
from "pg_stat_activity"
;

さっき投げたクエリが waitting: true となってます。 waiting: false となってる行を見るとブロックしてるクエリがわかります。巨大テーブルにインデックスはってたりすると遭遇することが多いですね。
おわり。