PostgreSQLで実行中のクエリを表示する方法

今日は社内でPostgreSQLのコマンドを調べていて、面白いものを先輩が教えてくれました。

↓このクエリを走らすと、現在実行中のクエリが一覧で出てきます。チョキ

SELECT pid, start, now() – start AS lap, current_query FROM (SELECT backendid, pg_stat_get_backend_pid(S.backendid) AS pid, pg_stat_get_backend_activity_start(S.backendid) AS start, pg_stat_get_backend_activity(S.backendid) AS current_query FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS S) AS S WHERE current_query <> ” ORDER BY lap DESC;

処理の重たいクエリが走っている場合なんかに、一目瞭然で調べることが可能!

いやー便利です。

ちなみにPostgreSQL8.4からは、クエリにどれだけ時間がかかったを表示するコマンドが実装されてるとか。

バージョンアップも検討しないといけませんね!

関連記事一覧