PostgreSQLでプロセスの確認とkillの方法

  • PostgreSQLで動いてるプロセスを見たい
  • PostgreSQLのプロセスをkillしたい

PostgreSQLプロセスのkill方法がわからなくて、実行中プロセスの確認方法と、kill(停止)の方法を調べたのでメモしておきます。  

この記事でわかること
  • PostgreSQLの起動プロセスの確認方法
  • PostgreSQLの起動プロセスのkill(停止)方法
目次

PostgreSQLでプロセスの確認とKILLの方法

PostgreSQLで実行中プロセスの確認方法

PostgreSQLで実行中のプロセスを確認するためには、以下のSQLを実行すればOK。  

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|start|lap|current_query|
|-------|-----|----|--------|
|31305|2016-06-15 20:54:37.515827|00:00:00|SELECT|
出力内容
  • procpid = プロセスID
  • start = 実行開始時間
  • lap = 経過時間
  • current_query = 実行SQL

PostgreSQLでプロセスのKill方法

MySQLならばKILL命令ですが、PostgreSQLは以下のコマンドで行います。  

SELECT pg_cancel_backend([procpid]);

または  

SELECT pg_terminate_backend([procpid]);
オーカミ

これでプロセスがkillされるはず!

PostgreSQLの関連記事

おすすめ本
created by Rinker
翔泳社
¥3,608 (2021/04/13 12:51:11時点 Amazon調べ-詳細)
オーカミ

どちらも入門書なので、自分にあってる本を選べばいいと思いますよ!

よかったらシェアしてね!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次
閉じる