On Nov 20, 2015, at 12:50 PM, Williams, Alex <awilliams@teamdrg.com> wrote: > > However, I thought with the use of MVCC, > an active query on the slave (long running, 30 seconds+) can run reading > from row xid versions/snapshot...
The problem is that the master could well make changes that would remove rows in that snapshot because the master does not know anything about the rows that need preserving for the replica's query.
hot_standby_feedback addresses this problem.
Here is the detail from the PG docs:
"Specifies whether or not a hot standby will send feedback to the primary or upstream standby about queries currently executing on the standby. This parameter can be used to eliminate query cancels caused by cleanup records, but can cause database bloat on the primary for some workloads. Feedback messages will not be sent more frequently than once per wal_receiver_status_interval. The default value is off. This parameter can only be set in the postgresql.conf file or on the server command line."