PostgreSQLで現在走っているプロセスを調べる方法。
コンソールで、
SELECT procpid, start, now() - start AS lap, current_query FROM (SELECT backendid, pg_stat_get_backend_pid(S.backendid) AS procpid, 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;
これを実行。
procpid | プロセスID |
---|---|
start | プロセス実行開始時間 |
lap | 経過時間 |
current_query | 実行中のSQL |
SELECT pg_cancel_backend(プロセスID);
これでプロセスを停止できます。