1

Rails では、次のような通常のクエリを開始しています。

MyTable.where("user_id = ?",5)

[実行中の実際のクエリは時間がかかるため、次の手順を実行する時間があります。]

次に、Postgres で次のコマンドを実行します。

SELECT * FROM pg_stat_activity;

これにより、現在のクエリのリストが PID およびその他の情報とともにデータベースに返されます。そのリストには、私のクエリが含まれています (クエリ パラメータが実行されていることが示されているのでわかります)。私の質問は、特定のクエリを追跡するにはどうすればよいですか? Railsでクエリを開始した後、クエリのPIDと「pg_stat_activity」テーブルが提供できるその他の情報を知りたいのですが、クエリテキストを一致させるか、ハッキーな方法で一致させる以外に、正確なクエリを見つける方法がありませんタイムスタンプを比較します。

どんなアイデアでも大歓迎です。ありがとう!

4

1 に答える 1

1

その時点で Rails アプリから実行しているクエリがこれだけである場合は、application_name 列を見て、他の列と区別することができます。

そうでない場合は、実際のクエリを比較する以外の方法は考えられません

于 2013-08-05T21:50:35.280 に答える