hot_standby_feedback
The setting that lets a read replica tell the primary what it still needs, so long queries don't get cancelled mid-flight. The price is paid in bloat on the primary.
The conflict arises because the primary knows nothing about what the replica is doing. Vacuum there removes old row versions nobody needs any more — by the primary's reckoning — and when that change replicates, the replica has to apply it even though a reporting query is still reading exactly those rows. The outcome is the error about the statement being cancelled due to a conflict with recovery, which is hard to explain to whoever ran the query. With feedback enabled the replica sends its oldest running transaction ID upward and the primary holds back. The downside is the exact mirror image: a forgotten query on the replica can now block cleanup on the primary for hours.