Re: Synchronizing slots from primary to standby
От | Bertrand Drouvot |
---|---|
Тема | Re: Synchronizing slots from primary to standby |
Дата | |
Msg-id | ZaDiESeuoTyutwv3@ip-10-97-1-34.eu-west-3.compute.internal обсуждение исходный текст |
Ответ на | RE: Synchronizing slots from primary to standby ("Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>) |
Список | pgsql-hackers |
Hi, On Fri, Jan 12, 2024 at 03:46:00AM +0000, Zhijie Hou (Fujitsu) wrote: > On Thursday, January 11, 2024 11:42 PM Bertrand Drouvot <bertranddrouvot.pg@gmail.com> wrote: > > Hi, > > > On Thu, Jan 11, 2024 at 04:22:56PM +0530, Amit Kapila wrote: > > IIUC, this would be a sync slot (so not usable until promotion) that could not be > > used anyway (invalidated), so I'll vote for drop / re-create then. > > Such race can happen when user drop and re-create the same failover slot on > primary as well. For example, user dropped one failover slot and them > immediately created a new one by copying from an old slot(using > pg_copy_logical_replication_slot). Then the slotsync worker will find the > restart_lsn of this slot go backwards. > > The steps: > ---- > SELECT 'init' FROM pg_create_logical_replication_slot('isolation_slot', 'pgoutput', false, false, true); > SELECT 'init' FROM pg_create_logical_replication_slot('test', 'pgoutput', false, false, true); > > - Advance the restart_lsn of 'test' slot > CREATE TABLE test2(a int); > INSERT INTO test2 SELECT generate_series(1,10000,1); > SELECT slot_name FROM pg_replication_slot_advance('test', pg_current_wal_lsn()); > > - re-create the test slot but based on the old isolation_slot. > SELECT pg_drop_replication_slot('test'); > SELECT 'copy' FROM pg_copy_logical_replication_slot('isolation_slot', 'test'); > > Then the restart_lsn of 'test' slot will go backwards. Yeah, that's right. BTW, I think it's worth to add those "corner cases" in the TAP tests related to the sync slot feature (the more coverage the better). Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: