Re: Logical Replication of sequences

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>
Cc: shveta malik <shveta(dot)malik(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(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-05-29 14:39:13
Message-ID: CALDaNm0ssEaHW8by5kd1=wE7LPMhhBiV6971JbFWsY6Qwp7NMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 28 May 2025 at 20:52, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com> wrote:
>
> On Thu, May 22, 2025 at 10:42 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
> >
> >
> > The attached v20250522 patch has the changes for the same.
> >
>
> Thank you for the patches, please find comments for patch-0004.
>
> 1)
> +/*
> + * report_error_sequences
> + *
> + * Logs a warning listing all sequences that are missing on the publisher,
> + * as well as those with value mismatches relative to the subscriber.
> + */
> +static void
> +report_error_sequences(StringInfo missing_seqs, StringInfo mismatched_seqs)
>
> The function description should be updated to reflect the recent
> changes, as it now raises an error instead of issuing a warning.
>
> 2)
> + ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
> + errmsg("%s", combined_error_msg->data));
> +
> + destroyStringInfo(combined_error_msg);
> +}
>
> I think we can remove destroyStringInfo() as we will never reach here
> in case of error.
>
> 3)
> + * we want to avoid keeping this batch transaction open for extended
> + * periods so it iscurrently limited to 100 sequences per batch.
> + */
>
> typo : iscurrently / is currently
>
> 4)
> + HeapTuple tup;
> + Form_pg_sequence seqform;
> + LogicalRepSequenceInfo *seqinfo;
> +
> [...]
> + Assert(seqinfo);
>
> Since there's an assertion for 'seqinfo', it would be safer to
> initialize it to NULL to avoid any unexpected behavior.
>
> 6)
> + if (missing_seqs->len || mismatched_seqs->len)
> + report_error_sequences(missing_seqs, mismatched_seqs);
>
> I think it would be helpful to add a comment for this check, perhaps
> something like:
> /*
> * Report an error if any sequences are missing on the remote side
> * or if local sequence parameters don't match with the remote ones.
> */
> Please rephrase if needed.

These comments are handled in the attached v2025029 version patch.

Regards,
Vignesh

Attachment Content-Type Size
v2025029-0001-Introduce-pg_sequence_state-function-for-en.patch text/x-patch 7.2 KB
v2025029-0004-Enhance-sequence-synchronization-during-sub.patch text/x-patch 108.4 KB
v2025029-0003-Reorganize-tablesync-Code-and-Introduce-syn.patch text/x-patch 23.0 KB
v2025029-0005-Documentation-for-sequence-synchronization-.patch text/x-patch 33.0 KB
v2025029-0002-Introduce-ALL-SEQUENCES-support-for-Postgre.patch text/x-patch 101.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2025-05-29 14:41:15 Re: Logical Replication of sequences
Previous Message Greg Sabino Mullane 2025-05-29 14:32:57 POC: Carefully exposing information without authentication