• ベストアンサー
  • 困ってます

SQLでPostgreSQLサーバーを切断させたいと考えています。なか

  • 質問No.5889539
  • 閲覧数416
  • ありがとう数26
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 23% (26/110)

SQLでPostgreSQLサーバーを切断させたいと考えています。なかなかわかりません。
だれか、教えて頂ければ大変助かります。
宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 74% (29/39)

pg_stat_activity ビューを参照すれば、実行中の SQL とその PID を特定できるので、

test=> SELECT procpid, current_query FROM pg_stat_activity;
procpid | current_query
---------+----------------------------------------------------------------
17288 | <IDLE> in transaction
17287 | UPDATE branches SET bbalance = bbalance + 1487 WHERE bid = 5;

スーパーユーザでデータベースに接続し、その PID を指定して pg_cancel_backend 関数を呼び出してあげれば、実行中の SQL をキャンセルしてサーバとの接続を切断できます。

test=> SELECT pg_cancel_backend(17287);
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ