- ベストアンサー
SQLでPostgreSQLサーバーを切断させたいと考えています。なか
SQLでPostgreSQLサーバーを切断させたいと考えています。なかなかわかりません。 だれか、教えて頂ければ大変助かります。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
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);