Sort DO_SUBSCRIPTION_REL dump objects independent of OIDs. master github/master
authorNoah Misch <[email protected]>
Thu, 18 Dec 2025 18:23:47 +0000 (10:23 -0800)
committerNoah Misch <[email protected]>
Thu, 18 Dec 2025 18:23:47 +0000 (10:23 -0800)
commitd49936f3028b0bb6ac8ff83e07e421ca2a4f5c3f
treecf25302853a6741a64b9c411f21442ca60b2fe2e
parent951b60f7abdcdeb37f2d73ad4822f278d2687c1c
Sort DO_SUBSCRIPTION_REL dump objects independent of OIDs.

Commit 0decd5e89db9f5edb9b27351082f0d74aae7a9b6 missed
DO_SUBSCRIPTION_REL, leading to assertion failures.  In the unlikely use
case of diffing "pg_dump --binary-upgrade" output, spurious diffs were
possible.  As part of fixing that, align the DumpableObject naming and
sort order with DO_PUBLICATION_REL.  The overall effect of this commit
is to change sort order from (subname, srsubid) to (rel, subname).
Since DO_SUBSCRIPTION_REL is only for --binary-upgrade, accept that
larger-than-usual dump order change.  Back-patch to v17, where commit
9a17be1e244a45a77de25ed2ada246fd34e4557d introduced DO_SUBSCRIPTION_REL.

Reported-by: vignesh C <[email protected]>
Author: vignesh C <[email protected]>
Discussion: https://postgr.es/m/CALDaNm2x3rd7C0_HjUpJFbxpAqXgm=QtoKfkEWDVA8h+JFpa_w@mail.gmail.com
Backpatch-through: 17
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump_sort.c
src/bin/pg_upgrade/t/004_subscription.pl