Re: wal recycling problem

Поиск
Список
Период
Сортировка
От Fabrice Chapuis
Тема Re: wal recycling problem
Дата
Msg-id CAA5-nLAaVhGo3XWiUvOP9FANF8PaSiVZiUP9FyAuptuMBfvaNg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: wal recycling problem  (Christoph Moench-Tegeder <cmt@burggraben.net>)
Список pgsql-hackers
Thanks for your feedback
> How would you know which part of WAL is needed for any specific
replication slot?
change are captured for each published table and written twice,  once in the current wal and once in the slot-specific wal
> How would you handle multiple replications
for the same table 
added information about from which publication a table belongs is entered in the wal slot
> be it logical or physical replication, retains WAL up to max_slot_wal_keep_size
ok but if max_slot_wal_keep_size is exceeded the changes are lost and all of the replicated tables must be resynchronized

Regards

Fabrice

On Sun, Oct 8, 2023 at 3:57 PM Christoph Moench-Tegeder <cmt@burggraben.net> wrote:
## Fabrice Chapuis (fabrice636861@gmail.com):

> From a conceptual point of view I think that specific wals per subscription
> should be used and stored in the pg_replslot folder in order to avoid
> working directly on the wals of the instance.
> What do you think about this proposal?

I think that would open a wholly new can of worms.
The most obvious point here is: that WAL is primarily generated for
the operation of the database itself - it's our kind of transaction
log, or "Redo Log" in other systems' lingo. Replication (be it physical
or logical) is a secondary purpose (an obvious and important one, but
still secondary).
How would you know which part of WAL is needed for any specific
replication slot? You'd have to decode and filter it, and already
you're back at square one. How would you handle multiple replications
for the same table (in the same publication, or even over multiple
(overlapping) publications) - do you multiply the WAL?

For now, we have "any replication using replication slots, be it logical
or physical replication, retains WAL up to max_slot_wal_keep_size
(or "unlimited" if not set - and on PostgreSQL 12 and before); and you
need to monitor the state of your replication slots", which is a
totally usabe rule, I think.

Regards,
Christoph

--
Spare Space

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

Предыдущее
От: Jelte Fennema
Дата:
Сообщение: Re: run pgindent on a regular basis / scripted manner
Следующее
От: Jelte Fennema
Дата:
Сообщение: Re: run pgindent on a regular basis / scripted manner