現在実行中のSQLを取得する方法

stateで現在のバックエンドの総体的な状態を確認できる。 (http://www.postgresql.jp/document/9.2/html/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW

  • active: バックエンドは問い合わせを実行中です。
  • idle: バックエンドは新しいクライアントからのコマンドを待機しています。
  • idle in transaction: バックエンドはトランザクションの内部にいますが、現在実行中の問い合わせが現在ありません。
  • idle in transaction (aborted): この状態はidle in transactionと似ていますが、トランザクション内のある文がエラーになっている点が異なります。
  • fastpath function call: バックエンドは近道関数を実行中です。
  • disabled: この状態は、このバックエンドでtrack_activitiesが無効である場合に報告されます。

実行中のクエリを殺すには、pidさえ分かれば、以下のクエリでプロセスを殺すことが出来る。(https://www.postgresql.jp/document/9.2/html/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE

それぞれ、成否をbooleanを返す。

-PostgreSQL