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

Development
この記事は約3分で読めます。
  • 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の関連記事

PostgreSQLの起動・接続・終了・停止コマンドとよく使うpsqlコマンド
postgreSqlの起動、終了ってどうすんの?psqlコマンドって独特すぎて...コンソールからPostgreSQLを操作するpg_ctlとpsqlのコマンドをメモしておきます。起動・接続・終了と基本的なコマンドと、...

PostgreSQLのオススメ本

どちらも入門書なので、自分に合わせた本を選べば良いと思います。

コメント

タイトルとURLをコピーしました