在 Rails 中,我开始一个常规查询,例如:
MyTable.where("user_id = ?",5)
[我正在运行的实际查询需要很长时间,因此我将有时间执行后续步骤。]
然后,在 Postgres 中,我运行命令:
SELECT * FROM pg_stat_activity;
这会返回一个包含 PID 和其他信息的当前查询列表。该列表中包括我的查询(我知道,因为它显示了正在运行的查询参数)。我的问题是如何跟踪某个查询?在 rails 中开始查询后,我想知道查询的 PID 和“pg_stat_activity”表可以提供的其他信息,但除了匹配查询文本或尝试使用 hacky 方式外,我无法找到我的确切查询比较时间戳。
任何想法将不胜感激。 谢谢!
最佳答案
如果这是您此时从 Rails 应用程序运行的唯一查询,您可以查看 application_name 列以将其与其他列区分开来。
如果不是,除了对比实际查询我想不出别的办法
关于ruby-on-rails - 从 Rails 中查找 postgresql 查询 PID(跟踪查询的 ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068142/