log_recovery_conflict_waits
决定是否记录恢复冲突等待时间的 GUC
log_recovery_conflict_waits
是一个 配置参数,用于确定在启动进程等待时间超过 deadlock_timeout
的恢复冲突时是否发出日志消息。
log_recovery_conflict_waits
在 PostgreSQL 14 中添加。
默认值
log_recovery_conflict_waits
的默认值为:off
。
按 PostgreSQL 版本详细说明
log_recovery_conflict_waits (PostgreSQL 18)
设置 | off |
单位 | |
类别 | 报告和日志记录 / 记录内容 |
简短描述 | 记录备用恢复冲突等待时间。 |
额外描述 | |
上下文 | sighup |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | off |
重置值 | off |
源文件 | |
源代码行号 | |
挂起重启 | false |
log_recovery_conflict_waits (PostgreSQL 17)
设置 | off |
单位 | |
类别 | 报告和日志记录 / 记录内容 |
简短描述 | 记录备用恢复冲突等待时间。 |
额外描述 | |
上下文 | sighup |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | off |
重置值 | off |
源文件 | |
源代码行号 | |
挂起重启 | false |
log_recovery_conflict_waits (PostgreSQL 16)
设置 | off |
单位 | |
类别 | 报告和日志记录 / 记录内容 |
简短描述 | 记录备用恢复冲突等待时间。 |
额外描述 | |
上下文 | sighup |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | off |
重置值 | off |
源文件 | |
源代码行号 | |
挂起重启 | false |
log_recovery_conflict_waits (PostgreSQL 15)
设置 | off |
单位 | |
类别 | 报告和日志记录 / 记录内容 |
简短描述 | 记录备用恢复冲突等待时间。 |
额外描述 | |
上下文 | sighup |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | off |
重置值 | off |
源文件 | |
源代码行号 | |
挂起重启 | false |
log_recovery_conflict_waits (PostgreSQL 14)
设置 | off |
单位 | |
类别 | 报告和日志记录 / 记录内容 |
简短描述 | 记录备用恢复冲突等待时间。 |
额外描述 | |
上下文 | sighup |
变量类型 | bool |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
引导值 | off |
重置值 | off |
源文件 | |
源代码行号 | |
挂起重启 | false |
更改历史记录
- PostgreSQL 14
- 添加 (提交 0650ff23)
示例
如果将 log_recovery_conflict_waits
设置为 on
,并且备用数据库在 deadlock_timeout
时间间隔后仍在等待恢复冲突,则会发出类似于以下内容的日志消息
[2023-03-07 17:51:18 UTC] LOG: 00000: recovery still waiting after 1000.141 ms: recovery conflict on lock [2023-03-07 17:51:18 UTC] DETAIL: Conflicting process: 3369. [2023-03-07 17:51:18 UTC] CONTEXT: WAL redo at 0/303B688 for Standby/LOCK: xid 744 db 5 rel 16389
参考资料
- PostgreSQL 文档: log_recovery_conflict_waits
有用链接
- 使用 PostgreSQL 14 报告较长的恢复冲突等待时间 - Bertrand Drouvot 于 2021 年 9 月撰写的博客文章