- 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のコマンドをメモしておきます。 …
おすすめ本
コメント