public inbox for [email protected]  
help / color / mirror / Atom feed
From: Amit Kapila <[email protected]>
To: Ajin Cherian <[email protected]>
Cc: Hayato Kuroda (Fujitsu) <[email protected]>
Cc: shveta malik <[email protected]>
Cc: Ashutosh Sharma <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: [PATCH] Support automatic sequence replication
Date: Tue, 24 Feb 2026 16:55:20 +0530
Message-ID: <CAA4eK1J6zwM1WOnhHR7VYNMAmGiQKf9=KL+Vz+BM3=QuhtL_Lw@mail.gmail.com> (raw)
In-Reply-To: <CAFPTHDZYonM+SXG19VVjgWduXQJSuDhcOUWq0NCiiuQubCSt6g@mail.gmail.com>
References: <CAFPTHDZXX9WQ_X1ZfEvS248T+pKuk6SmCnXcvgPM059N1xPUfA@mail.gmail.com>
	<CAJpy0uDLUEjHHME8om1vAf6qkXCeRR6cBvkpK8yWBAC=T0ZFLA@mail.gmail.com>
	<CAFPTHDZg1JrunGgOj332hr+gUuH_Jm7skqPpYSvd-QE3yEdRDQ@mail.gmail.com>
	<CAJpy0uBz7MCSUkvFJD9ij65vBahNmY+bfCgdGKRqXovYs+K_TA@mail.gmail.com>
	<CAJpy0uDsuNqjWd-TmGBxqSS1rnVCJ3B8=SYrtxQ=Vs8kb71QFA@mail.gmail.com>
	<CAJpy0uAMWg3KcXtVBS7B0rnchLNrCCVYBByJCzAp=u5LERgtfA@mail.gmail.com>
	<CAFPTHDZwEhxhDAeqcPi0GuYN6xBs8gFXHOMUnbg3u2Xigcz4Zg@mail.gmail.com>
	<CAE9k0PmTyCU1A9YEf+MRgfeZ8yK1bAYJu=o0bH8DNUTzXejQyQ@mail.gmail.com>
	<CAA4eK1L6czEzG4mLNZSyjYC5nX0FMSjjk3csKuxPD3Ph5-7Yvw@mail.gmail.com>
	<CAJpy0uAhGQJ=msVsn2GsqWXr+YESJK6x9NBvrUtKvtvp1OVuKQ@mail.gmail.com>
	<CAJpy0uAOuu-M6wobH2wHOdTymm-cX9+MqwPyRNoOt=sPKBdCew@mail.gmail.com>
	<CAFPTHDZiWYXoKoo4VcBYNH9a=gxDZhfkcBeXt5w6cLw4_ysyKw@mail.gmail.com>
	<OS9PR01MB12149D9054CC7F2DC3F0D26A1F577A@OS9PR01MB12149.jpnprd01.prod.outlook.com>
	<CAA4eK1KYxQALt46k5uWOO6SUtNjvjOaXwfNjH0AU656YrcGZEw@mail.gmail.com>
	<CAFPTHDZYonM+SXG19VVjgWduXQJSuDhcOUWq0NCiiuQubCSt6g@mail.gmail.com>

On Tue, Feb 24, 2026 at 4:34 PM Ajin Cherian <[email protected]> wrote:
>
> Currently REFRESH SEQUENCES can only be called if the subscription is
> enabled. All it does is change the states of all the sequences in
> subscription_rel to INIT, this will prompt the sequence worker to wake
> up and unconditionally sync all the sequences. For sequences in the
> INIT state, it doesn't check if there is drift or not, it updates all
> sequences unconditionally. From your discussions with Dilip, I
> understand we want to reduce the time it takes to REFRESH SEQUENCES at
> the time of an upgrade. If so, then this might not be a good approach.
>

The point I was trying to make is that with automatic sequence sync,
we won't need to execute REFRESH SEQUENCES before upgrade or failover
as the sequences will be in sync.

> As not only does the sequence worker have to update all sequences even
> if they have not drifted, it also has to update the relstate of all
> these sequences to READY. I propose, we change the logic such that
> REFRESH SEQUENCES only wakes up the sequence worker, that will reduce
> the time as most sequences will already be in READY state (unless
> newly added) and only sequences that have not drifted need to be
> updated and no catalog update is required for sequence states already
> in READY state. One downside to this is that, earlier users could
> issue a REFRESH SEQUENCES and wait to see if all the sequences have
> returned to the READY state to confirm that the sync has completed,
> with this approach that advantage is not there. Users might have to
> use a query to find the sequence values of all the sequences and
> compare that with the values in the publisher.
>

Yeah, this point needs more thoughts as the existing method for
REFRESH SEQUENCES also allows users to easily verify if the sequences
are in sync.

-- 
With Regards,
Amit Kapila.






view thread (58+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: [PATCH] Support automatic sequence replication
  In-Reply-To: <CAA4eK1J6zwM1WOnhHR7VYNMAmGiQKf9=KL+Vz+BM3=QuhtL_Lw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox