↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 配置参数

log_line_prefix

英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

boot val
%m [%p]
category
Reporting and Logging / What to Log
context
sighup
documented
true
enumvals
未知
extra desc
An empty string means no prefix.
lang
en
max val
未知
metadata version
18
min val
未知
name
log_line_prefix
short desc
Controls information prefixed to each log line.
source
pg-settings-source-snapshot
unit
未知
vartype
string

版本定义 PG 18

这是一个printf风格的字符串,它在每个日志行的开头输出。%字符开始“转义序列”,它将按下文描述被替换为状态信息。未识别的转义被忽略。其他字符被直接复制到日志行。某些转义只被会话进程识别并且被主服务器进程等后台进程当作空。通过指定一个在%之后和该选项之前的数字可以让状态信息左对齐或右对齐。负值将导致在右边用空格填充状态信息以达到最小宽度,而正值则在左边填充。填充对于日志文件的人类可读性大有帮助。

这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是'%m [%p] ',它记录时间戳和进程ID。

转义效果只限会话
%a应用名是
%u用户名是
%d数据库名是
%r远程主机名或 IP 地址,以及远程端口是
%h远程主机名或 IP 地址是
%L本地地址(客户端所连接的服务器 IP 地址)是
%b后端类型否
%p进程 ID否
%P如果该进程是并行查询工作进程,则为并行组领导者的进程 ID否
%t无毫秒的时间戳否
%m带毫秒的时间戳否
%n带毫秒精度的 Unix 时间戳否
%i命令标签:会话当前命令的类型是
%eSQLSTATE 错误代码否
%c会话 ID:见下文否
%l对每个会话或进程的日志行号,从 1 开始否
%s进程开始的时间戳否
%v虚拟事务 ID(procNumber/localXID);参见第 67.1 节否
%x事务 ID(如果未分配则为 0);参见第 67.1 节否
%q不产生输出,但是告诉非会话进程在字符串的这一点停止;会话进程忽略否
%Q当前查询的查询标识符。查询标识符默认是不计算的,所以该字段将为零,除非compute_query_id参数被激活或者配置了计算查询标识符的第三方模块是
%%字面字符 %否

后端类型对应视图 pg_stat_activity中的backend_type列。但是其他类型可能会出现在日志中而不显示在该视图中。

%c转义打印一个准唯一的会话标识符,它由两个 4 字节的十六进制数(不带先导零)组成,以点号分隔。这些数字是进程启动时间和进程 ID,因此%c也可以用来节省空间地输出这两项信息。例如,要从pg_stat_activity生成会话标识符,使用这个查询:

SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' ||
       to_hex(pid)
FROM pg_stat_activity;
提示

如果你为log_line_prefix设置了非空值,你通常应该让它的最后一个字符为空格,这样可与日志行的其余部分在视觉上区分开。也可以使用标点符号。

提示

Syslog产生自己的时间戳和进程 ID 信息,因此如果你记录到syslog你可能不希望包括那些转义。

提示

在包括仅在会话(后端)上下文中可用的信息(如用户名或者数据库名)时,%q转义很有用。例如:

log_line_prefix = '%m [%p] %q%u@%d/%a '
注意

对于log_statement输出的行,%Q 总是报告零标识符,因为log_statement在标识符能被计算之前生成输出,也包括无法计算标识符的无效语句。

比较版本

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · english-manuals:e12cef740d6d81b35da3ef71d6040ab07f5358dc7b70758cd3e2b2ffbc8f6a0c

正文语言: zh-Hans · 2026-09-11@29c86d9