Re: Standby Replication and Replication Delay

From: "Thomas Rosenstein" <thomas(dot)rosenstein(at)creamfinance(dot)com>
To: "Tomas Vondra" <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Standby Replication and Replication Delay
Date: 2019-09-14 19:26:26
Message-ID: 8D28FAC8-631D-4023-AC09-A2220CA4FCA9@creamfinance.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tomas,

I'm using Postgresql 10.10 on the standbys and 10.5 on the primary.

On 14 Sep 2019, at 21:16, Tomas Vondra wrote:

> On Sat, Sep 14, 2019 at 06:03:34PM +0200, Thomas Rosenstein wrote:
>> Hi,
>>
>> so I got two questions:
>>
>> 1) I have multiple Postgresql Standby servers replicating over WAN,
>> and I would like to reduce that to a single connection.
>
> Presumably the standbys are all located on the same LAN / in the same
> DC? Why don't you use cascading replication, then? I.e. one standby
> connecting to the primary, the rest connecting to the first standby.
>
> You can also archive the WAL on the first standby (since 9.5) and the
> other standby nodes can get the WAL from the local WAL.

Yes they are on the same LAN, but if a long running query is executed on
one of them, then the replication lag increases and all of the standbys
also increase their replication delay.
I don't have the free resources to just run a standby with a full
dataset.

The wal is archived from the primary anyways, but I would like to have
to streaming replication as a backup to the wal archival. (and the
standbys can restore from that archive)

>
>> Is there a utility that can be put in between and store the wal files
>> from the primary and provide it to the standby server, even if they
>> are delayed by > 1 day or more (provided there is storage?)
>>
>
> Not sure what utility you have in mind. The first standby can act as a
> local primary, creating a local WAL archive etc.

See above, Wal archives are anyways available, the idea is as a
secondary backup, in case the wal archival lags behind (i.e. issue with
storage or the server where the wal archival happens)

>
>> 2) These standby servers sometimes run very long queries (2 - 3
>> hours) and at some point the replication stops, because I guess some
>> row version which are used are removed on the master.
>> I do have hot_standby_feedback "on", why does this still happen,
>> shouldn't this prevent the removal on the primary and allow
>> replication to continue even if queries are active?
>>
>
> Well, you haven't really told us what "replication stops" does means.
> hot_standby_feedback does prevent aborts of of queries on the standby,
> it should not stop replication AFAIK.
>
> Maybe show us the error messages, tell us which PostgreSQL version are
> you actually using, etc.

Replication stops means that the standby servers do not replay the WAL
archive and the replication lag increases.
There is no error message.

I have also set:

max_standby_archive_delay = -1
max_standby_streaming_delay = -1

>
>
> regards
>
> --
> Tomas Vondra http://www.2ndQuadrant.com
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2019-09-14 20:08:24 Re: Standby Replication and Replication Delay
Previous Message Alexander Korotkov 2019-09-14 19:18:29 Re: Support for jsonpath .datetime() method