agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Masahiko Sawada <msawada@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix tablesync failure for partitioned tables on older publishers
Date: Tue, 08 Sep 2026 18:14:33 +0000
Message-ID: <E1x40L2-000000041fB-09ut@gemulon.postgresql.org> (raw)

Fix tablesync failure for partitioned tables on older publishers.

Commit 266543a made initial table synchronization use "COPY table TO"
for a partitioned table, but decided that from the relation kind
alone. A partitioned table is only accepted there since v19, so a v19
subscriber replicating from an older publisher with
publish_via_partition_root failed at table sync.

Check the publisher version, and fall back to the "COPY (SELECT ...)
TO" variant otherwise.

Backpatch to v19, where 266543a changed the initial table
synchronization.

Reported-by: Noah Misch <noah@leadboat.com>
Reviewed-by: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/20260905040020.57.noahmisch@microsoft.com
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/fa48e39526b8d1cdc5b6e86074d6a3149fbd059b

Modified Files
--------------
src/backend/replication/logical/tablesync.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)



view thread (2+ messages)

Message-ID: <E1x40L2-000000041fB-09ut@gemulon.postgresql.org>
Permalink:  ../E1x40L2-000000041fB-09ut@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1x40L2-000000041fB-09ut@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: msawada@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix tablesync failure for partitioned tables on older publishers
  In-Reply-To: <E1x40L2-000000041fB-09ut@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