在我的环境中,大多数 PostgreSQL 查询都是从 http 请求生成的。
在我的例子中,每个 http 请求都有一个唯一的标头:X-Request-ID
如果 PostgreSQL 日志中有错误或警告,我想查看相关的 X-Request-ID 以查看 sql 查询来自何处。
如何添加额外的消息,如 X-Request-ID 来记录 PostgreSQL 的消息?
在我的环境中,大多数 PostgreSQL 查询都是从 http 请求生成的。
在我的例子中,每个 http 请求都有一个唯一的标头:X-Request-ID
如果 PostgreSQL 日志中有错误或警告,我想查看相关的 X-Request-ID 以查看 sql 查询来自何处。
如何添加额外的消息,如 X-Request-ID 来记录 PostgreSQL 的消息?
Postgres 对您的应用程序如何生成发送到数据库引擎的 SQL 请求一无所知。所以它也不知道背后有一个HTTP请求,更不知道这样一个请求的头部。
可以放入日志行的信息已固定并记录在手册中
您可以动态更改的唯一“日志变量”是应用程序名称。但是,这要求您的应用程序在每次处理请求时都进行设置。
在运行 SQL 查询之前,您的应用程序需要运行如下内容:
'request-42'
您从 HTTP 请求中提取的请求 ID在哪里。一旦你有了它,你就可以添加
%a
到log_line_prefix
,它将显示在日志文件中。