PostgreSQL - 現在のアクティビティ取得
PostgreSQL で、今どんなクエリが走っているのかを知るためには、pg_stat_activity が使えます。
コマンド
select * from pg_stat_activity;
使い方の例
index を作ったり消したりをしていたのですが、なぜか消すのが遅い、というかフリーズしていました。
なんでかな~と調べていたら、以下の Stack overflow がヒット。
pg_stat_activity を使って、index を消そうとしているテーブルに誰かがアクセスしていないか調べてみな!
ということでした。
まさにこれが原因で、pg_stat_activity を見ると、当該テーブルにクエリが走っていました。
そこでこのクエリを出しているプロセスを一度止めて、drop index をしたら一瞬でできました...
というわけで小技でした。