Hi, On 2021-04-15 19:59:24 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > Hm, maybe we ought to swap template0 and template1 instead? I.e. have > > template0 be in pg_database.dat and thus get a pinned oid, and then > > create template1, postgres etc from that? > > No, *neither* of them are pinned, and we don't want them to be. > It's something of a historical artifact that template1 has a low OID.
Hm, it makes sense for template1 not to be pinned, but it doesn't seem as obvious why that should be the case for template0. > In short, I'm really skeptical of changing any of these pin-or-not > decisions to save one or two comparisons in IsPinnedObject. That > function is already orders of magnitude faster than what it replaces; > we don't need to sweat over making it faster yet. I'm not at all concerned about the speed after the change - it just seems cleaner and easier to understand not to have exceptions. Greetings, Andres Freund