‐‐‐ Original Message ‐‐‐
On Friday, August 20th, 2021 at 5:29 PM, Laurenz Albe laurenz.a...@cybertec.at
wrote:
> On Fri, 2021-08-20 at 01:33 +, Lucas wrote:
>
> > After setting max_standby_streaming_delay to 120s it got a lot better.
> >
> > But the replication delay is still happening quite often, except this time
> > goes up to 120s only.
>
> That's exactly what this parameter should do.
>
> If you don't want the delays, either reduce the value (and get more canceled
> queries)
>
> or try to reduce the number of conflicts, for example by setting
> "hot_standby_feedback = on".
Yes, I already have the hot_standby_feedback = on set to on on all slaves.
> Note that you will never be able to completely get rid of replication
> colflicts;
>
> for example, there are buffer pin conflicts or lock conflicts caused by
> autovacuum
>
> truncation.
>
> See this article for more:
>
> https://www.cybertec-postgresql.com/en/streaming-replication-conflicts-in-postgresql/
>
> If you want a standby that has no apply delays and no canceled queries is
> usually
>
> not possible. Consider using two standby servers for these two purposes.
Thanks for sharing this. I feel relief a bit to know that replication conflicts
will always "be there". Since I started this email thread, we have deployed a
couple of extra slaves to share the load between them. This has helped a lot
with the replication delay, but it is still there...
I think I'll end up lowering max_standby_streaming_delay and dealing with
conflits when they happen. Let me ask you; Is there a way to know what kind of
conflicts are being responsible for the replication delay? How could I check
this?
Thanks
Lucas
publickey - root@sud0.nz - 0xC5E964A1.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature