3

我们大量使用pg_query_params()从 PHP 查询我们的 PostgreSQL 数据库。在分析 postgres 日志时,我们的查询记录如下:

SELECT
    email_address
FROM
    user u
WHERE
    user_id = $1
    AND user_mode = $2
LIMIT $3;

只有数组占位符,而不是实际值。我们的 PHP 应用程序能够记录返回数组的错误,但是如果我们可以直接跟踪故障查询的参数,则调整过程会容易得多。

有没有办法在 PostgreSQL 9.2.4 内部做到这一点?

4

1 回答 1

2

如果您设置log_statement = all,则参数将记录在日志中的单独行中。您可能会发现log_line_prefix包含会话 pid 的设置有助于确保您可以将语句文本与参数相关联。

没有将参数替换为内联查询文本的功能。这是有意识地避免的,因为替换查询参数会使日志分析工具更难收集有关具有不同参数的同一语句的多次运行的统计信息。

如果有一种方便的方法可以同时执行这两种操作,或者说“我想查看带有参数的语句” .... 但没有。

于 2013-06-04T00:13:39.813 回答