From 59d6a7594288ebc909a24f3fc9e502f097bbe2ff Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 1 Mar 2011 11:32:23 -0500 Subject: [PATCH] Avoid excessive Hot Standby feedback messages. Without this patch, when wal_receiver_status_interval=0, indicating that no status messages should be sent, Hot Standby feedback messages are instead sent extremely frequently. Fujii Masao, with documentation changes by me. --- doc/src/sgml/config.sgml | 7 ++++--- src/backend/replication/walreceiver.c | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 46ffbff108..8684414751 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -2137,9 +2137,10 @@ SET ENABLE_SEQSCAN TO OFF; Specifies whether or not a hot standby will send feedback to the primary about queries currently executing on the standby. This parameter can - be used to eliminate query cancels caused by cleanup records, though - it can cause database bloat on the primary for some workloads. - The default value is off. + be used to eliminate query cancels caused by cleanup records, but + can cause database bloat on the primary for some workloads. + The default value is off. Feedback messages will not + be sent more frequently than once per wal_receiver_status_interval. diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index c7f5bd5ea3..3826e82c05 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -651,7 +651,7 @@ XLogWalRcvSendHSFeedback(void) * If the user doesn't want status to be reported to the master, be sure * to exit before doing anything at all. */ - if (!hot_standby_feedback) + if (wal_receiver_status_interval <= 0 || !hot_standby_feedback) return; /* Get current timestamp. */