2009年9月3日木曜日

postgresの実行中のプロセスと停止方法

●postresの実行中のプロセスを下記コマンドで取得

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);

0 件のコメント:

コメントを投稿