backtrace_on_internal_error

一个 GUC 参数,用于启用内部错误时的回溯
此条目与一个提议的PostgreSQL功能相关,该功能在公开发布之前已被撤回。

backtrace_on_internal_error 是一个 配置参数,用于控制在调用 elog() 或等效的 ereport() 来报告内部错误时是否记录回溯信息。

backtrace_on_internal_errorPostgreSQL 17 中添加,但随后被撤销。

用法

如果 backtrace_on_internal_error 被启用,并且引发了错误代码为 XX000 的错误,则会在服务器日志中与错误消息一起写入回溯信息。

默认

backtrace_on_internal_error 的默认值为:off

按 PostgreSQL 版本详细信息

backtrace_on_internal_error (PostgreSQL 17)

设置 off
单位  
类别 开发者选项
简短描述 记录错误代码为 XX000 (内部错误) 的任何错误的堆栈跟踪。
扩展描述  
上下文 superuser
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源行  
需要重启 false

文档: backtrace_on_internal_error

变更历史

示例

启用 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]

分类

开发/测试, GUC 配置项, 已撤销

另请参阅

backtrace_functions

反馈

请在此处提交关于 “backtrace_on_internal_error” 的任何评论、建议或更正。here