跳转到主要内容

wal_receiver_status_interval

wal_receiver_status_interval:设置 WAL receiver 向发送端报告状态的最大间隔。实测在档范围为 PG9.1–19 Beta 3;最后在档的 PG19 Beta 3 启动默认值为 10 s,context 为 sighup。这是测试版快照事实,PostgreSQL 19 正式发布前仍可能变化。
说明

Fact — 官方简述译文:设置 WAL receiver 向发送端报告状态的最大间隔。

身份

类型 , integer
上游 pg_settings 类型
Context , sighup
配置 reload 后生效
单位 , s
原始单位
范围 , 02147483
最后在档版本的原始上下限
枚举值 ,
非枚举类型记为 —
分类 , Replication / Standby Servers
上游分类
最后 boot 值 , 10
10 s

生命周期

Fact
首次观测 PG9.1
在档版本 PG9.1–19 Beta 3
移除版本
引入提交 b186523fd97c — Send status updates back from standby server to master, indicating how far the standby has written, flushed, and applied the WAL. At the moment, this is for informational purposes only, the values are only shown in pg_stat_replication system view, but in the future they will also be needed for synchronous replication.
提交日期 2011-02-10
Discussion

默认值变迁

PG9.0–19 Beta 3 实测 boot 默认值
版本 原始 boot_val 单位 人类可读值
PG9.1–19 Beta 3 10 s 10 s

机制详解

设置 WAL receiver 向发送端报告状态的最大间隔。重新加载配置即可应用新值;已经开始的工作不会被追溯改变。

它只在对应的发送端、主库、备库或订阅端角色上生效;级联复制与故障切换会改变服务器角色,因此相关容量和依赖应在所有候选节点一致规划。

应把 wal_receiver_status_interval 与 wal_receiver_timeout、wal_sender_timeout、primary_conninfo 一起监控和变更。先在对应角色与真实负载上验证,再按其 sighup context 选择会话修改、reload 或 restart;历史默认值并不等于当前有效值。

调优建议

提示

Advice。 以下建议是工作负载起点,必须用真实测量验证。

场景 建议
OLTP 按主备拓扑、故障切换角色、复制槽/订阅数量与断连余量规划 wal_receiver_status_interval;上线前验证主库写延迟、备库重放和磁盘保留的最坏情况。
OLAP 读备库与逻辑订阅常有长查询或大事务,应给重放/应用留明确上界,并监控延迟、worker 饱和、槽 restart_lsn 与冲突取消。
小规格 只配置真实需要的复制能力。少量节点也应设置有界超时与槽生命周期,不要用无限保留换取表面稳定。

Pigsty 取值

以下值来自固定 8 核、32 GiB、100 GiB SSD 夹具,并按 PG19 Beta 3 渲染当前 Pigsty 模板;这不表示 Pigsty 当前支持该历史或测试版本。

模板 有效值 与上游 boot 比较 源表达式
OLTP 1s 不同于 boot 值 1s
OLAP 1s 不同于 boot 值 1s
CRIT 1s 不同于 boot 值 1s
TINY 1s 不同于 boot 值 1s
注意

Advice — 待人工复核。 当前 Pigsty 模板投影事实:OLTP: PG9.1–19 Beta 3 = 1s (dcs);OLAP: PG9.1–19 Beta 3 = 1s (dcs);CRIT: PG9.1–19 Beta 3 = 1s (dcs);TINY: PG9.1–19 Beta 3 = 1s (dcs)。 建议(待人工复核)——编辑推断(待维护者人工复核):该选择看起来意在向发送端与监控提供更新鲜的重放/刷写反馈;发布前应结合当前 Pigsty 模板、硬件夹具和运维保证复核。

常见坑

  • 在错误的主库、备库、发送端或订阅端角色上修改。
  • 只看字节/时间配置,不监控真实复制延迟、槽位置与 worker 状态。
  • 故障切换后新主库缺少与旧主库一致的容量或依赖。
  • 用无限等待或无限 WAL 保留掩盖失效消费者。

wal_receiver_timeout · wal_sender_timeout · primary_conninfo · hot_standby_feedback · hot_standby · max_standby_archive_delay

参考资料