RE: [PATCH] Preserve replication origin OIDs in pg_upgrade

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Ajin Cherian' <itsajin@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-29T08:40:21Z
Lists: pgsql-hackers
Dear Ajin,

> Sequence of Events During Upgrade
> 
> 1. pg_dumpall dumps all non-subscription replication origins from the
> old cluster with their roidents and LSN positions.
> 2. pg_dump dumps each subscription, but now records the old roident
> alongside the subscription info.
> 3. During restore, pg_dumpall's output recreates non-subscription
> origins on the new cluster with their original roidents via
> binary_upgrade_create_replication_origin().

To confirm, why do we have to handle separately for subscription-associated
origins? I'm thinking it's not needed if the subscription's OID is preserved
during the upgrade. 

I checked the old thread to preserve it [1], but it could not be accepted because
there are no strong motivations. But I feel this is the good reason to do so now.

How do you feel?

[1]: https://www.postgresql.org/message-id/CALDaNm2Wj63VcbB0SY2NECHr1mKM1YSaV1ZydrdQVxyox2O2hg%40mail.gmail.com

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Introduce replication progress tracking infrastructure.