Re: automatically assigning catalog toast oids

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Stephen Frost <sfrost@snowman.net>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, John Naylor <jcnaylor@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-12-09T21:17:41Z
Lists: pgsql-hackers
Hi,

On 2018-12-09 15:42:57 -0500, Stephen Frost wrote:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
> > John Naylor <jcnaylor@gmail.com> writes:
> > > Commit 96cdeae07 added toast tables to most catalogs. One disadvantage
> > > is that the toast declarations require hard-coded oids, even though
> > > only shared catalogs actually need stable oids. Now that we can assign
> > > oids on the fly, it makes sense to do so for toast tables as well, as
> > > in the attached.
> > 
> > I'm a bit dubious that this is a good idea.  It's handy, at least for
> > forensic situations, that the system catalogs have stable OIDs.

Hm, but won't they have that for major versions anyway? We ought not to
change the .bki generation in a way that results in differing oids after
a release, no?


> I tend to agree...  What's the advantage of assigning them on the fly?

No idea if that's John's reasoning, but I do like not having to do yet
another manual step that you need to remember/figure out when adding a
new catalog relation.

Greetings,

Andres Freund


Commits

  1. Fix typo in transam.h for OIDs assigned by genbki.pl

  2. Create a separate oid range for oids assigned by genbki.pl.

  3. Remove WITH OIDS support, change oid catalog column visibility.

  4. Add toast tables to most system catalogs