Re: [HACKERS] Function to move the position of a replication slot

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: [HACKERS] Function to move the position of a replication slot
Дата
Msg-id 20170902223659.x4vxt4fxnhwaw3vx@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: [HACKERS] Function to move the position of a replication slot  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2017-09-02 18:31:10 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I don't quite see how you'd get corruption from a physical slot being
> > forwarded? I mean you surely can get into the situation that there's
> > missing WAL from wherever a standby is receiving its WAL, but that'll
> > "just" break replication.
> 
> Um, doesn't advancing a slot correspond exactly to skipping some amount
> of WAL?

Not for physical ones, no. The slot is just a marker on the *upstream*
(or a potential upstream) that remembers a standby's current WAL replay
position and, if enabled, it's current xmin. The prevents the upstream
to remove the WAL that the standby still need and if applicable vacuum
from removing rows the standby needs.  If the slot is at the wrong
position exactly the same things that can happen if no slot were in use
can also happen, i.e. "ERROR: requested WAL segment %s has already been removed".

For logical replication such a forward operation would have to be *more*
complicated than for physical rep, because the state that's kept is more
complicated...

- Andres



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] Function to move the position of a replication slot
Следующее
От: Andres Freund
Дата:
Сообщение: Re: [HACKERS] JIT & function naming