1

私はQSqlDatabaseを使用しており、実行中のクエリを強制終了する方法を見つけようとしています(私が書いているSQLクライアントの必要な機能のようなものです)

実行中のクエリの ID を取得する方法はありますか? (別の接続で kill/pg_cancel_backend コマンドを実行するだけの計画です -- PostgreSQL + MySQL をサポートする必要があります)

同一のクエリのプロセス リストをスヌーピングすることを検討しましたが、プロセスが 2 回実行されており、ユーザーが特定のプロセスを強制終了したいだけで終了する場合はどうすればよいでしょうか? (その方法は正確ではなく、非常にハッキーになります)

編集:私はQSqlDatabase(私が使用しているフレームワークの一部であることを除いて)にあまり縛られていないので、それが唯一の方法である場合は他のものを使用してもかまいませんが、使用できるといいでしょうそれ。

私にはまったくアイデアがないので、何でも大歓迎です!

4

1 に答える 1

1

idPostgres では、実行することでバックエンド プロセスを識別できます。

select pg_backend_pid();

接続が確立された直後。id接続を閉じるまで、 は変更されません。

この関数に相当する MySQL はCONNECTION_ID ().

于 2015-08-23T19:25:19.060 に答える