From: | vignesh C <vignesh21(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Euler Taveira <euler(at)eulerto(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org> |
Subject: | Re: Logical Replication of sequences |
Date: | 2025-10-06 06:19:52 |
Message-ID: | CALDaNm3Bfwo-Rv-xXYBfdVnDNSqWsMk+pw7U7b6fz=Shm86PHw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, 5 Oct 2025 at 07:54, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Sat, Oct 04, 2025 at 09:24:32PM +0530, Amit Kapila wrote:
> > In the 0001 patch, pg_get_sequence_data() exposes two new fields
> > log_cnt and page_lsn. I see that the later subscriber-side patch uses
> > both, the first one in SetSequence(). It is not clear from the
> > comments or the commit message of 0001 why it is necessary to use
> > log_cnt when setting the sequence. Can you explain what the problem
> > will be if we don't use log_cnt during sequence sync?
>
> FWIW, I have argued two times at least that it should never be
> necessary to expose log_cnt in the sequence meta-data: this is just a
> counter to decide when a WAL record of a sequence should be generated.
Thanks, I have verified that the log_cnt value is not retained after an upgrade:
create sequence s1;
select nextval('s1');
select nextval('s1');
postgres=# select * from s1;
last_value | log_cnt | is_called
------------+---------+-----------
2 | 31 | t
(1 row)
After upgrade:
postgres=# select * from s1;
last_value | log_cnt | is_called
------------+---------+-----------
2 | 0 | t
(1 row)
Since the log_cnt value is not preserved across upgrades, copying it
would have no effect. I’ll remove log_cnt from pg_get_sequence_data
and post an updated version of the patch.
Regards,
Vignesh
From | Date | Subject | |
---|---|---|---|
Next Message | Alena Vinter | 2025-10-06 06:25:12 | Re: Resetting recovery target parameters in pg_createsubscriber |
Previous Message | Rahila Syed | 2025-10-06 06:16:19 | Re: Allow reading LSN written by walreciever, but not flushed yet |