如何在pg_stat_activity.query字段中检查预准备语句的内容

时间:2015-07-07 01:02:30

标签: postgresql

目前,我正在检查PostgreSQL中长时间运行的查询。

为了检查这一点,我查询了以下命令:

SELECT pid, waiting, query_start, substr(query, 0, 50)
FROM pg_stat_activity
ORDER BY query_start
LIMIT 30;

我得到了:

  pid  | waiting |          query_start          |                              substr
-------+---------+-------------------------------+------------------------------------------------------------------
 26797 | f       | 2015-07-06 12:44:04.418403+00 | SELECT * FROM "projects" WHERE "projects"."id" = $1 LIMIT 1
 ...

要分析这个长时间运行的查询,我想检查此预准备语句的$1内容。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

您不会从pg_stat_activity获取此信息,但您可以从慢查询日志中获取完整查询。