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?
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 по дате отправления: