{"Entry":{"collection":"guc","key":"wal_receiver_status_interval","name":"wal_receiver_status_interval","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Replication / Standby Servers","category_zh":"","changed_in":["12"],"changes":[{"documentation_changed":false,"fields":{},"from":"9.0","status":"added","to":"9.1"},{"documentation_changed":true,"fields":{},"from":"9.1","status":"changed","to":"9.2"},{"documentation_changed":true,"fields":{},"from":"9.2","status":"changed","to":"9.3"},{"documentation_changed":true,"fields":{},"from":"9.6","status":"changed","to":"10"},{"documentation_changed":true,"fields":{"short_desc":{"from":"Sets the maximum interval between WAL receiver status reports to the primary.","to":"Sets the maximum interval between WAL receiver status reports to the sending server."}},"from":"11","status":"changed","to":"12"},{"documentation_changed":true,"fields":{},"from":"13","status":"changed","to":"14"}],"content_hash":"2e50f693397f08fe205ad932170de968aff64f2cf5b9402f33e2dc3d5afa8fc8","context":"","default_changed_in":[],"default_history":[{"from":"9.1","to":"19","value":"10 s"}],"editorial":{"advice":{"olap":"Read standbys and logical subscribers often see long queries or large transactions. Put explicit bounds on replay/apply and monitor lag, worker saturation, slot restart_lsn, and conflict cancellations.","oltp":"Size wal_receiver_status_interval from topology, failover roles, slot/subscription count, and reconnect headroom. Test worst-case primary latency, standby replay, and disk retention before production.","small":"Configure only replication capacity that is actually used. Even a small topology needs bounded timeouts and slot lifecycle; unlimited retention is not reliability."},"mechanism":["Sets the maximum interval between WAL receiver status reports to the sending server. A configuration reload applies a new value; existing work already in flight is not retroactively changed.","The receiver sends write, flush, and replay positions upstream at most this far apart, with additional replies when requested. Lower values improve monitoring and feedback freshness but do not make WAL replay itself faster.","Monitor and change wal_receiver_status_interval together with wal_receiver_timeout, wal_sender_timeout, primary_conninfo. Validate on the relevant server role and real workload, then use its sighup context to choose session change, reload, or restart; a historical boot default is not the current effective value."],"pitfalls":["Changing it on the wrong primary, standby, sender, or subscriber role.","Watching only configured bytes/time instead of actual lag, slot position, and worker state.","Failing over to a node that lacks the old primary's capacity or prerequisites.","Using infinite waits or WAL retention to hide a failed consumer."],"references":[{"title":"PostgreSQL 19 Beta 4: wal_receiver_status_interval","url":"https://www.postgresql.org/docs/19/runtime-config-replication.html#GUC-WAL-RECEIVER-STATUS-INTERVAL"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["wal_receiver_timeout","wal_sender_timeout","primary_conninfo","hot_standby_feedback","hot_standby","max_standby_archive_delay"],"summary":"wal_receiver_status_interval — Sets the maximum interval between WAL receiver status reports to the sending server. Observed in PG9.1–19 Beta 4; its last measured boot default is 10 s in PG19 Beta 4, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA."},"enumvals":[],"first_version":"9.1","group":"Replication","group_slug":"replication","imported_at":"2026-09-27T17:57:32.351567+08:00","intro_commit":{"authored_at":"2011-02-10T21:00:29+02:00","discussion":[],"hash":"b186523fd97ce02ffbb7e21d5385a047deeef4f6","subject":"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.","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b186523fd97ce02ffbb7e21d5385a047deeef4f6"},"key":"wal_receiver_status_interval","last_version":"20","max_val":"","min_val":"","name":"wal_receiver_status_interval","position":474,"present_in":["9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"short_desc":"Specifies the minimum frequency for the WAL receiver process on the standby to send information about replication progress to the primary or upstream standby, where it can be seen using the pg_stat_replication view.","short_desc_zh":"","source_rev":"english-manuals:bd2e193a8c023edd63b65025173f103efb1f1d6f044523186441b55b6ed873fc","unit":"","vartype":"integer"}},"Definition":{"Collection":"guc","Key":"wal_receiver_status_interval","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"wal_receiver_status_interval","SourceRevision":"english-manuals:bd2e193a8c023edd63b65025173f103efb1f1d6f044523186441b55b6ed873fc","Facts":{"boot_val":"10","category":"Replication / Standby Servers","context":"sighup","description":"Specifies the minimum frequency for the WAL receiver process on the standby to send information about replication progress to the primary or upstream standby, where it can be seen using the pg_stat_replication view. The standby will report the last write-ahead log location it has written, the last position it has flushed to disk, and the last position it has applied. This parameter's value is the maximum amount of time between reports. Updates are sent each time the write or flush positions change, or as often as specified by this parameter if set to a non-zero value. There are additional cases where updates are sent while ignoring this parameter; for example, when processing of the existing WAL completes or when synchronous_commit is set to remote_apply. Thus, the apply position may lag slightly behind the true position. If this value is specified without units, it is taken as seconds. The default value is 10 seconds. This parameter can only be set in the postgresql.conf file or on the server command line.","doc":{"anchor":"GUC-WAL-RECEIVER-STATUS-INTERVAL","file":"runtime-config-replication.html","lang":"en","sha256":"c78480a202f8579e2655e080060afe4859c9eb26a16318fb9099dabb178fb32d","slug":"18"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":"2147483","metadata_version":"18","min_val":"0","name":"wal_receiver_status_interval","short_desc":"Sets the maximum interval between WAL receiver status reports to the sending server.","source":"pg-settings-source-snapshot","unit":"s","vartype":"integer"},"ManualEvidence":{"doc":{"anchor":"GUC-WAL-RECEIVER-STATUS-INTERVAL","file":"runtime-config-replication.html","lang":"en","sha256":"c78480a202f8579e2655e080060afe4859c9eb26a16318fb9099dabb178fb32d","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"wal_receiver_status_interval","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"wal_receiver_status_interval","Summary":"","BodyHTML":"\u003cp\u003e指定在备库上的 WAL 接收进程向主库或上游备库发送有关复制进度的信息的最小频度，它可以使用\u003ca href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-VIEW\" rel=\"nofollow\"\u003e\u003ccode\u003epg_stat_replication\u003c/code\u003e\u003c/a\u003e视图看到。备库将报告最后写入的预写日志位置、最后刷盘的位置以及最后应用的位置。这个参数的值是报告之间的最大时间量。每次写入或刷盘位置改变时会发送状态更新，或者在此参数设置为非零值时，按其指定的频度发送。另外还会在一些情况下忽略此参数发送更新；例如，当现有的WAL处理完成或当\u003ccode\u003esynchronous_commit\u003c/code\u003e设置为\u003ccode\u003eremote_apply\u003c/code\u003e时。因此，应用位置可能比真实位置略微滞后。如果指定值时没有单位，则以秒为单位。默认值是 10 秒。这个参数只能在\u003ccode\u003epostgresql.conf\u003c/code\u003e文件中或在服务器命令行上设置。\u003c/p\u003e","SourceRevision":"2026-09-11@29c86d9","ContentHash":"04fcc60cc4e9789b47fe9e44ff4dca16f35b3626a295e84e3109e7fcdfdc4d61","Payload":{"carried_from":"","carry_reason":"","doc_html":"\u003cp\u003e指定在备库上的 WAL 接收进程向主库或上游备库发送有关复制进度的信息的最小频度，它可以使用\u003ca href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-VIEW\" title=\"27.2.4. pg_stat_replication\"\u003e\u003ccode class=\"structname\"\u003epg_stat_replication\u003c/code\u003e\u003c/a\u003e视图看到。备库将报告最后写入的预写日志位置、最后刷盘的位置以及最后应用的位置。这个参数的值是报告之间的最大时间量。每次写入或刷盘位置改变时会发送状态更新，或者在此参数设置为非零值时，按其指定的频度发送。另外还会在一些情况下忽略此参数发送更新；例如，当现有的WAL处理完成或当\u003ccode class=\"varname\"\u003esynchronous_commit\u003c/code\u003e设置为\u003ccode class=\"literal\"\u003eremote_apply\u003c/code\u003e时。因此，应用位置可能比真实位置略微滞后。如果指定值时没有单位，则以秒为单位。默认值是 10 秒。这个参数只能在\u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e文件中或在服务器命令行上设置。\u003c/p\u003e","doc_same_as":""}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
