此条目与 PostgreSQL 的一项功能相关,该功能是 PostgreSQL 17 的一部分,预计将于 2024 年底发布。
此条目与一个提议的 PostgreSQL 功能相关,该功能在公开发布之前已撤回。
backtrace_on_internal_error
是一个 配置参数,用于控制是否在调用 elog()
或等效的内部错误 ereport()
时记录回溯。
backtrace_on_internal_error
在 PostgreSQL 17 中添加,但随后被撤回。
用法
如果启用了 backtrace_on_internal_error
,并且引发了错误代码为 XX000
的错误,则回溯将与错误消息一起写入服务器日志。
默认值
backtrace_on_internal_error
的默认值为:off
。
按 PostgreSQL 版本分列的详细信息
backtrace_on_internal_error (PostgreSQL 17)
设置 | off |
单位 | |
类别 | 开发人员选项 |
简短描述 | 记录任何错误代码为 XX000(内部错误)的错误的回溯。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | off |
重置值 | off |
源文件 | |
源代码行 | |
待重启 | false |
更改历史记录
示例
启用 backtrace_on_internal_error
时的示例日志输出
[2023-12-30 10:00:45 UTC] ERROR: XX000: could not read WAL from timeline 1 at 0/40541D0: invalid record length at 0/40541D0: expected at least 24, got 0 [2023-12-30 10:00:45 UTC] LOCATION: SummarizeWAL, walsummarizer.c:865 [2023-12-30 10:00:45 UTC] BACKTRACE: postgres: node2: walsummarizer () [0x7f5749] postgres: node2: walsummarizer (WalSummarizerMain+0x374) [0x7f63af] postgres: node2: walsummarizer (AuxiliaryProcessMain+0x17c) [0x7e9c45] postgres: node2: walsummarizer () [0x7eff18] postgres: node2: walsummarizer () [0x7f09c6] postgres: node2: walsummarizer () [0x7f2083] postgres: node2: walsummarizer (BackgroundWorkerInitializeConnection+0) [0x7f33e7] postgres: node2: walsummarizer (main+0x203) [0x715374] /lib64/libc.so.6(__libc_start_main+0xe5) [0x7fb0b4a63d85] postgres: node2: walsummarizer (_start+0x2e) [0x491f3e]