子育てしながらエンジニアしたい

現在 4 歳 女の子の子育て中エンジニアによる、技術系 + 日常系ブログ。

PostgreSQL - 現在のアクティビティ取得

PostgreSQL で、今どんなクエリが走っているのかを知るためには、pg_stat_activity が使えます。

コマンド

select * from pg_stat_activity;

使い方の例

index を作ったり消したりをしていたのですが、なぜか消すのが遅い、というかフリーズしていました。
なんでかな~と調べていたら、以下の Stack overflow がヒット。

stackoverflow.com

pg_stat_activity を使って、index を消そうとしているテーブルに誰かがアクセスしていないか調べてみな!
ということでした。

まさにこれが原因で、pg_stat_activity を見ると、当該テーブルにクエリが走っていました。
そこでこのクエリを出しているプロセスを一度止めて、drop index をしたら一瞬でできました...

というわけで小技でした。