mirror of
https://github.com/postgres/postgres.git
synced 2025-10-18 04:29:09 +03:00
Commit ab596105b
increased FirstBootstrapObjectId from 12000 to 13000,
but we've had some push-back about that. It's worrisome to reduce the
daylight between there and FirstNormalObjectId, because the number of
OIDs consumed during initdb for collation objects is hard to predict.
We can improve the situation by abandoning the assumption that these
OIDs must be globally unique. It should be sufficient for them to be
unique per-catalog. (Any code that's unhappy about that is broken
anyway, since no more than per-catalog uniqueness can be guaranteed
once the OID counter wraps around.) With that change, the largest OID
assigned during genbki.pl (starting from a base of 10000) is a bit
under 11000. This allows reverting FirstBootstrapObjectId to 12000
with reasonable confidence that that will be sufficient for many years
to come.
We are not, at this time, abandoning the expectation that
hand-assigned OIDs (below 10000) are globally unique. Someday that'll
likely be necessary, but the need seems years away still.
This is late for v14, but it seems worth doing it now so that
downstream software doesn't have to deal with the consequences of
a change in FirstBootstrapObjectId. In any case, we already
bought into forcing an initdb for beta2, so another catversion
bump won't hurt.
Discussion: https://postgr.es/m/1665197.1622065382@sss.pgh.pa.us
<!-- doc/src/sgml/README.links --> Linking within DocBook documents can be confusing, so here is a summary: Intra-document Linking ---------------------- <xref> use to get chapter/section number from the title of the target link, or xreflabel if defined at the target, or refentrytitle if target is a refentry; has no close tag http://www.oasis-open.org/docbook/documentation/reference/html/xref.html linkend= controls the target of the link/xref, required endterm= for <xref>, allows the text of the link/xref to be taken from a different link target title <link> use to supply text for the link, only uses linkend, requires </link> http://www.oasis-open.org/docbook/documentation/reference/html/link.html can be embedded inside of <command>, unlike <xref> External Linking ---------------- <ulink> like <link>, but uses a URL (not a document target); requires </ulink>; if no text is specified, the URL appears as the link text http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html url= used by <ulink> to specify the URL, required Guidelines ---------- - For an internal link, if you want to supply text, use <link>, else <xref>. - Specific nouns like GUC variables, SQL commands, and contrib modules usually have xreflabels. - For an external link, use <ulink>, with or without link text. - xreflabels added to tags prevent the chapter/section for id's from being referenced; only the xreflabel is accessible. Therefore, use xreflabels only when linking is common, and chapter/section information is unneeded.