Re: preserving db/ts/relfilenode OIDs across pg_upgrade (was Re: storing an explicit nonce)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Shruthi Gowda <gowdashru@gmail.com>, Julien Rouhaud <rjuju123@gmail.com>,
Sadhuprasad Patro <b.sadhu@gmail.com>,
Stephen Frost <sfrost@snowman.net>, Bruce Momjian <bruce@momjian.us>,
Andres Freund <andres@anarazel.de>,
Alvaro Herrera <alvherre@alvh.no-ip.org>,
Masahiko Sawada <sawada.mshk@gmail.com>,
Tom Kincaid <tomjohnkincaid@gmail.com>,
Amit Kapila <amit.kapila16@gmail.com>,
Thomas Munro <thomas.munro@gmail.com>,
PostgreSQL Development <pgsql-hackers@postgresql.org>,
Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Date: 2022-04-21T17:53:20Z
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 →
-
Rethink method for assigning OIDs to the template0 and postgres DBs.
- 2cb1272445d2 15.0 landed
-
pg_upgrade: Preserve database OIDs.
- aa01051418f1 15.0 landed
-
pg_upgrade: Preserve relfilenodes and tablespace OIDs.
- 9a974cbcba00 15.0 landed
-
Fix for new Boolean node
- cf925936ecc0 15.0 cited
-
Improve error handling of HMAC computations
- 5513dc6a304d 15.0 cited
-
Add macro RelationIsPermanent() to report relation permanence
- 95d77149c535 14.0 landed
-
Enhance nbtree index tuple deletion.
- d168b666823b 14.0 cited
Attachments
- 0001-fix-assignment-of-database-OIDs-2.patch (text/x-diff) patch 0001
- 0002-rename-symbols-and-pin-no-DBs.patch (text/x-diff) patch 0002
Robert Haas <robertmhaas@gmail.com> writes: > On Wed, Apr 20, 2022 at 4:56 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Having just had to bury my nose in renumber_oids.pl, I thought of a >> different approach we could take to expose these OIDs to Catalog.pm. >> That's to invent a new macro that Catalog.pm recognizes, and write >> something about like this in pg_database.h: >> DECLARE_OID_DEFINING_MACRO(Template0ObjectId, 4); >> DECLARE_OID_DEFINING_MACRO(PostgresObjectId, 5); > I like it! 0001 attached is a revised patch that does it that way. This seems like a clearly better answer. 0002 contains the perhaps-slightly-more-controversial changes of changing the macro names and explicitly pinning no databases. regards, tom lane