agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Amit Kapila <akapila@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Reject sequence synchronization against pre-PostgreSQL 19 publis
Date: Thu, 23 Jul 2026 05:23:20 +0000
Message-ID: <E1wmltw-00000000OQH-1fC0@gemulon.postgresql.org> (raw)

Reject sequence synchronization against pre-PostgreSQL 19 publishers.

Sequence synchronization requires the page_lsn field returned by
pg_get_sequence_data(), which was added in PostgreSQL 19. Previously,
requesting sequence synchronization against an older publisher (via
ALTER SUBSCRIPTION ... REFRESH SEQUENCES or by running
ALTER SUBSCRIPTION ... CONNECTION on a disabled subscription with
sequences in the INIT state and subsequently enabling the subscription)
would cause the sequence synchronization worker to repeatedly fail with a
confusing "invalid query response" error.

Check the publisher's server version up front in both
AlterSubscription_refresh_seq() and copy_sequences(), and error out
immediately when it predates PostgreSQL 19.

Also document the PostgreSQL 19 publisher requirement for sequence
replication in the logical replication documentation and in
ALTER SUBSCRIPTION ... REFRESH SEQUENCES.

Reported-by: Noah Misch <noah@leadboat.com>
Author: vignesh C <vignesh21@gmail.com>
Reviewed-by: Shveta Malik <shveta.malik@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Backpatch-through: 19
Discussion: https://postgr.es/m/20260710045217.f0.noahmisch@microsoft.com

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/57e7c52c0fe43fff36d0f4440eea13cf5668b160

Modified Files
--------------
doc/src/sgml/logical-replication.sgml          | 18 +++++++++++++++++-
doc/src/sgml/ref/alter_subscription.sgml       |  6 ++++++
src/backend/commands/subscriptioncmds.c        | 10 ++++++++++
src/backend/replication/logical/sequencesync.c | 10 ++++++++++
4 files changed, 43 insertions(+), 1 deletion(-)



view thread (2+ messages)

Message-ID: <E1wmltw-00000000OQH-1fC0@gemulon.postgresql.org>
Permalink:  ../E1wmltw-00000000OQH-1fC0@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1wmltw-00000000OQH-1fC0@gemulon.postgresql.org

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: pgsql-committers@postgresql.org
  Cc: akapila@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Reject sequence synchronization against pre-PostgreSQL 19 publis
  In-Reply-To: <E1wmltw-00000000OQH-1fC0@gemulon.postgresql.org>

* 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