Re: Logical Replication of sequences

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Cc: 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>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(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>, Michael Paquier <michael(at)paquier(dot)xyz>, "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-09-15 09:06:43
Message-ID: CALDaNm1pfCTpcFL2dDobt9_eTVgOSXzZgawHkaBKtZNnnVnz_g@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 8 Sept 2025 at 12:05, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>
>
>
> On Sep 8, 2025, at 14:00, vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
>
>
> 1 - 0001
> ```
> diff --git a/src/test/regress/sql/sequence.sql b/src/test/regress/sql/sequence.sql
> index 2c220b60749..c8adddbfa31 100644
> --- a/src/test/regress/sql/sequence.sql
> +++ b/src/test/regress/sql/sequence.sql
> @@ -414,6 +414,6 @@ SELECT nextval('test_seq1');
> SELECT nextval('test_seq1');
>
> -- pg_get_sequence_data
> -SELECT * FROM pg_get_sequence_data('test_seq1');
> +SELECT last_value, is_called, log_cnt, page_lsn <= pg_current_wal_lsn() as lsn FROM pg_get_sequence_data('test_seq1');
>
> DROP SEQUENCE test_seq1;
> ```
>
> As it shows log_cnt now, after calling pg_get_sequence_data(), I suggest add 8 nextval(), so that sequence goes to 11, and log_cnt should become to 22.
>
>
> Could you please explain the reason you’d like this to be done?
>
>
> Because log_cnt is newly exposed, we want to verify its value in the test. When I first time ran the test code, I saw initial value of log_cnt was 32, then I thought log_cnt might get decreased if I ran nextval() again, but it didn’t. Only after I ran 10 (cache size) more nextval(), log_cnt got decreased by 10 to 22. The test code is a place for people to look for expected behavior. So I think adding more nextval() to verify and show the change of log_cnt is helpful.

This is addressed in the attached patch, also rebased the patch
because of recent commits.

Regards,
Vignesh

Attachment Content-Type Size
v20250915-0002-Introduce-ALL-SEQUENCES-support-for-Postgr.patch application/octet-stream 111.6 KB
v20250915-0003-Reorganize-tablesync-Code-and-Introduce-sy.patch application/octet-stream 24.6 KB
v20250915-0006-New-worker-for-sequence-synchronization-du.patch application/octet-stream 92.3 KB
v20250915-0004-Update-ALTER-SUBSCRIPTION-REFRESH-to-ALTER.patch application/octet-stream 8.9 KB
v20250915-0005-Introduce-REFRESH-PUBLICATION-SEQUENCES-fo.patch application/octet-stream 40.1 KB
v20250915-0007-Documentation-for-sequence-synchronization.patch application/octet-stream 35.8 KB
v20250915-0001-Enhance-pg_get_sequence_data-function.patch application/octet-stream 7.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2025-09-15 09:25:31 Re: allow benign typedef redefinitions (C11)
Previous Message Dmitry Yurichev 2025-09-15 09:04:26 Re: someone else to do the list of acknowledgments