wal_receiver_status_interval
是一个 配置参数,它指定 WAL 接收器向上传输服务器发送复制进度更新的最小频率。
wal_receiver_status_interval
在 PostgreSQL 9.1 中添加。
默认值
wal_receiver_status_interval
的默认值为:10s
。
将 wal_receiver_status_interval
设置为 0
将禁用更新通知的定期传输,但每次写入或刷新位置发生变化时仍会发送通知。
用法
通常,WAL 接收器在处理数据时,会向上游 WAL 发送方发送包含当前回放状态详细信息的通知。
可以在(上游服务器上的)pg_stat_replication
中的以下字段中检索此信息
sent_lsn
write_lsn
flush_lsn
replay_lsn
write_lag
flush_lag
replay_lag
按 PostgreSQL 版本分列的详细信息
wal_receiver_status_interval (PostgreSQL 17)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 16)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 15)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 14)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 13)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 12)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向发送服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 11)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 10)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.6)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.5)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
待处理重启 |
false |
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.4)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.3)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.2)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
文档: wal_receiver_status_interval
wal_receiver_status_interval (PostgreSQL 9.1)
设置 |
10 |
单位 |
s |
类别 |
复制/备用服务器 |
简短描述 |
设置 WAL 接收器向主服务器报告状态的最大间隔。 |
额外描述 |
|
上下文 |
sighup |
变量类型 |
整数 |
来源 |
默认 |
最小值 |
0 |
最大值 |
2147483 |
枚举值 |
|
启动值 |
10 |
重置值 |
10 |
源文件 |
|
源代码行 |
|
文档: wal_receiver_status_interval
更改历史记录
示例
在 日志级别 DEBUG2
,在 wal_receiver_status_interval
的默认值 10s
下,在备用服务器上可以看到以下输出
[2023-04-14 09:32:48 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0
[2023-04-14 09:32:58 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0 (reply requested)
[2023-04-14 09:32:58 UTC] DEBUG: 00000: sendtime 2023-04-14 09:32:58.107448+00 receipttime 2023-04-14 09:32:58.107468+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:33:08 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0
[2023-04-14 09:33:18 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0
[2023-04-14 09:33:28 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0 (reply requested)
[2023-04-14 09:33:28 UTC] DEBUG: 00000: sendtime 2023-04-14 09:33:28.118033+00 receipttime 2023-04-14 09:33:28.118074+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:33:38 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0
[2023-04-14 09:33:48 UTC] DEBUG: 00000: sending write 0/302DFE0 flush 0/302DFE0 apply 0/302DFE0
将 wal_receiver_status_interval
设置为 0
不会禁用复制进度更新,但它们的频率会大大降低且不规则
[2023-04-14 09:37:41 UTC] DEBUG: 00000: sending write 0/302E0A8 flush 0/302E0A8 apply 0/302E0A8
[2023-04-14 09:37:46 UTC] DEBUG: 00000: sendtime 2023-04-14 09:37:46.94642+00 receipttime 2023-04-14 09:37:46.946481+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:37:46 UTC] DEBUG: 00000: sending write 0/302E0E0 flush 0/302E0E0 apply 0/302E0E0
[2023-04-14 09:37:54 UTC] LOG: 00000: restartpoint starting: time
[2023-04-14 09:37:58 UTC] LOG: 00000: restartpoint complete: wrote 46 buffers (0.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=4.311 s, sync=0.001 s, total=4.318 s; sync files=0, longest=0.000 s, average=0.000 s; distance=16567 kB, estimate=16567 kB; lsn=0/302E030, redo lsn=0/302DFE0
[2023-04-14 09:37:58 UTC] LOG: 00000: recovery restart point at 0/302DFE0
[2023-04-14 09:38:16 UTC] DEBUG: 00000: sending write 0/302E0E0 flush 0/302E0E0 apply 0/302E0E0 (reply requested)
[2023-04-14 09:38:16 UTC] DEBUG: 00000: sendtime 2023-04-14 09:38:16.962033+00 receipttime 2023-04-14 09:38:16.96206+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:38:46 UTC] DEBUG: 00000: sendtime 2023-04-14 09:38:46.988658+00 receipttime 2023-04-14 09:38:46.988727+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:38:46 UTC] DEBUG: 00000: sending write 0/302E0E0 flush 0/302E0E0 apply 0/302E0E0
[2023-04-14 09:39:16 UTC] DEBUG: 00000: sendtime 2023-04-14 09:39:16.991061+00 receipttime 2023-04-14 09:39:16.991129+00 replication apply delay 0 ms transfer latency 1 ms
[2023-04-14 09:39:16 UTC] DEBUG: 00000: sending write 0/302E0E0 flush 0/302E0E0 apply 0/302E0E0