Re: pg_dump crash due to incomplete ordering of DO_SUBSCRIPTION_REL objects
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: vignesh C <vignesh21@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-18T08:35:14Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Sort DO_SUBSCRIPTION_REL dump objects independent of OIDs.
- 573e679a2664 18.2 landed
- 1cdc07ad5ae5 17.8 landed
- d49936f3028b 19 (unreleased) landed
-
Sort dump objects independent of OIDs, for the 7 holdout object types.
- 0decd5e89db9 19 (unreleased) cited
> On Dec 18, 2025, at 03:51, Noah Misch <noah@leadboat.com> wrote: > > On Wed, Dec 17, 2025 at 10:11:58AM +0530, vignesh C wrote: >> The attached v3 version patch has the changes for the same. > > The "tag" variable needed a change to compensate for the subrinfo->dobj.name > change. I plan to push the attached version. > <DO_SUBSCRIPTION_REL-v4.patch> v4 looks solid. A couple of nitpicks: 1 ``` + SubRelInfo *srobj1 = *(SubRelInfo *const *) p1; + SubRelInfo *srobj2 = *(SubRelInfo *const *) p2; ``` These two temp pointers can be const, like: ``` const SubRelInfo *srobj1 = *(SubRelInfo *const *) p1; const SubRelInfo *srobj2 = *(SubRelInfo *const *) p2; ``` 2 ``` + /* Sort by subscription name, since (namespace, name) match the rel */ ``` This comment is correct, but sounds a little insider-ish. Maybe: /* Tiebreak by subscription name; (namespace, name) already identify the table */ Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/