Closed1

PostgreSQLで、現在のコネクションを確認・削除する

浦川 仁成浦川 仁成

1. 現在のコネクションを確認する方法

PostgreSQL にはシステムビュー pg_stat_activity があり、そこからセッションの情報を取得できます。

SELECT pid, usename, datname, client_addr, application_name, state, query
FROM pg_stat_activity;
  • pid: プロセスID(後で強制終了に使う)
  • usename: 接続ユーザー
  • datname: 接続DB
  • client_addr: クライアントのIP
  • state: 状態(active, idle, idle in transaction など)
  • query: 実行中のSQL

2. コネクションを切断する方法

特定のセッションを切断するには pg_terminate_backend() を使います。

SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE pid = 12345;
  • pid は上のクエリで確認したプロセスID。
  • pg_terminate_backend は「即時切断」なので、強制的にセッションを終了します。
このスクラップは28日前にクローズされました