> Index

PostgreSQL idleプロセス開放

idleになっているプロセスを確認

SELECT * FROM pg_stat_activity;

pg_stat_activity.current_queryカラムに”IDLE”, “IDLE in transaction”と表示されている場合はアイドルしている。(瞬間的なものはよくある)
“IDLE”は接続しているだけでアイドルしている状態、
“IDLE in transaction”はトランザクション中でアイドルしている状態。

idleになっているプロセスを開放する

クエリのキャンセルを行う。プロセスIDは pg_stat_activity.procpidカラムか、psコマンドのPID。

SELECT pg_cancel_backend(プロセスID);


クエリの中止を行う。

SELECT pg_terminate_backend(プロセスID);


上記で止まらないときは、killする

kill プロセスID