1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-02 04:21:28 +03:00

Remove special BKI_LOOKUP magic for namespace and role OIDs.

Now that commit 62f34097c attached BKI_LOOKUP annotation to all the
namespace and role OID columns in the catalogs, there's no real reason
to have the magic PGNSP and PGUID symbols.  Get rid of them in favor
of implementing those lookups according to genbki.pl's normal pattern.

This means that in the catalog headers, BKI_DEFAULT(PGNSP) becomes
BKI_DEFAULT(pg_catalog), which seems a lot more transparent.
BKI_DEFAULT(PGUID) becomes BKI_DEFAULT(POSTGRES), which is perhaps
less so; but you can look into pg_authid.dat to discover that
POSTGRES is the nonce name for the bootstrap superuser.

This change also means that if we ever need cross-references in the
initial catalog data to any of the other built-in roles besides
POSTGRES, or to some other built-in schema besides pg_catalog,
we can just do it.

No catversion bump here, as there's no actual change in the contents
of postgres.bki.

Discussion: https://postgr.es/m/3240355.1612129197@sss.pgh.pa.us
This commit is contained in:
Tom Lane
2021-02-03 12:01:48 -05:00
parent 0bf83648a5
commit ba0faf81c6
19 changed files with 46 additions and 52 deletions

View File

@@ -540,17 +540,6 @@
expected to be in the <literal>pg_catalog</literal> schema.
</para>
</listitem>
<listitem>
<para>
In addition to the generic lookup mechanisms, there is a special
convention that <literal>PGNSP</literal> is replaced by the OID of
the <literal>pg_catalog</literal> schema,
and <literal>PGUID</literal> is replaced by the OID of the bootstrap
superuser role. These usages are somewhat historical but so far
there hasn't been a need to generalize them.
</para>
</listitem>
</itemizedlist>
<para>