From: Noah Misch Date: Thu, 14 May 2020 03:42:09 +0000 (-0700) Subject: Fix pg_recvlogical avoidance of superfluous Standby Status Update. X-Git-Tag: REL_10_14~97 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=970ed4493d8203a0e081c9616908d5b6639fff89;p=thirdparty%2Fpostgresql.git Fix pg_recvlogical avoidance of superfluous Standby Status Update. The defect suppressed a Standby Status Update message when bytes flushed to disk had changed but bytes received had not changed. If pg_recvlogical then exited with no intervening Standby Status Update, the next pg_recvlogical repeated already-flushed records. The defect could also cause superfluous messages, which are functionally harmless. Back-patch to 9.5 (all supported versions). Discussion: https://postgr.es/m/20200502221647.GA3941274@rfd.leadboat.com --- diff --git a/src/bin/pg_basebackup/pg_recvlogical.c b/src/bin/pg_basebackup/pg_recvlogical.c index a5f90b2d626..adb9f800c71 100644 --- a/src/bin/pg_basebackup/pg_recvlogical.c +++ b/src/bin/pg_basebackup/pg_recvlogical.c @@ -127,7 +127,7 @@ sendFeedback(PGconn *conn, TimestampTz now, bool force, bool replyRequested) */ if (!force && last_written_lsn == output_written_lsn && - last_fsync_lsn != output_fsync_lsn) + last_fsync_lsn == output_fsync_lsn) return true; if (verbose)