postgresql/doc/src/sgml
Tom Lane 2cb1272445 Rethink method for assigning OIDs to the template0 and postgres DBs.
Commit aa0105141 assigned fixed OIDs to template0 and postgres
in a very ad-hoc way.  Notably, instead of teaching Catalog.pm
about these OIDs, the unused_oids script was just hacked to
not show them as unused.  That's problematic since, for example,
duplicate_oids wouldn't report any future conflict.  Hence,
invent a macro DECLARE_OID_DEFINING_MACRO() that can be used to
define an OID that is known to Catalog.pm and will participate
in duplicate-detection as well as renumbering by renumber_oids.pl.
(We don't anticipate renumbering these particular OIDs, but we
might as well build out all the Catalog.pm infrastructure while
we're here.)

Another issue is that aa0105141 neglected to touch IsPinnedObject,
with the result that it now claimed template0 and postgres are
pinned.  The right thing to do there seems to be to teach it that
no database is pinned, since in fact DROP DATABASE doesn't check
for pinned-ness (and at least for these cases, that is an
intentional choice).  It's not clear whether this wrong answer
had any visible effect, but perhaps it could have resulted in
erroneous management of dependency entries.

In passing, rename the TemplateDbOid macro to Template1DbOid
to reduce confusion (likely we should have done that way back
when we invented template0, but we didn't), and rename the
OID macros for template0 and postgres to have a similar style.

There are no changes to postgres.bki here, so no need for a
catversion bump.

Discussion: https://postgr.es/m/2935358.1650479692@sss.pgh.pa.us
2022-04-21 16:23:15 -04:00
..
images Replace genetic algorithm ASCII-art with a real figure 2019-08-19 12:05:38 -04:00
keywords SQL JSON functions 2022-03-30 16:30:37 -04:00
ref CREATE PUBLICATION ref: Minor tweaks to row filters 2022-04-21 19:01:36 +02:00
.gitignore doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
Makefile Change Texinfo output to UTF-8 2021-08-27 18:20:40 +02:00
README.links doc: mention <link> can be inside of <command>, but not <xref> 2021-04-22 16:01:17 -04:00
acronyms.sgml doc: Add acronyms for MITM and SNI 2021-06-25 11:29:03 +09:00
adminpack.sgml Fix some trailing whitespace in documentation files 2022-04-16 09:05:07 +02:00
advanced.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
amcheck.sgml doc: Standardize capitalization of term "hot standby"/"Hot Standby" 2022-03-11 15:16:21 +09:00
appendix-obsolete-default-roles.sgml doc: Fix quoting markup 2021-07-05 08:26:00 +02:00
appendix-obsolete-pgreceivexlog.sgml Add a docs section for obsoleted and renamed functions and settings 2021-03-31 16:23:25 -04:00
appendix-obsolete-pgresetxlog.sgml Add a docs section for obsoleted and renamed functions and settings 2021-03-31 16:23:25 -04:00
appendix-obsolete-pgxlogdump.sgml Add a docs section for obsoleted and renamed functions and settings 2021-03-31 16:23:25 -04:00
appendix-obsolete-recovery-config.sgml Add a docs section for obsoleted and renamed functions and settings 2021-03-31 16:23:25 -04:00
appendix-obsolete.sgml Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
arch-dev.sgml Fix missing space in docs. 2021-11-24 18:32:56 +02:00
archive-modules.sgml Fix typo in archive modules docs 2022-02-09 15:36:46 +01:00
array.sgml Doc: correct nitpicky mistakes in array_position/array_positions examples. 2020-06-25 13:28:30 -04:00
auth-delay.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auto-explain.sgml Fix some grammar and typos in comments and docs 2020-11-02 15:14:41 +09:00
backup-manifest.sgml doc: Spell checking 2020-07-05 15:37:57 +02:00
backup.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
basebackup-to-shell.sgml Docs: adjust wording about basebackup_to_shell's required_role GUC 2022-04-13 12:01:23 +12:00
basic-archive.sgml Allow archiving via loadable modules. 2022-02-03 14:05:02 -05:00
bgworker.sgml Send NOTIFY signals during CommitTransaction. 2021-09-14 17:18:25 -04:00
biblio.sgml doc: Remove link to JSON support in the SQL specification 2022-01-06 11:41:09 +09:00
bki.sgml Rethink method for assigning OIDs to the template0 and postgres DBs. 2022-04-21 16:23:15 -04:00
bloom.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
brin.sgml docs: fix inconsistencies in markup and case 2021-07-15 23:22:58 +02:00
btree-gin.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
btree-gist.sgml Add bool to btree_gist documentation 2021-12-11 04:59:15 +01:00
btree.sgml doc: Fix some typos and markups 2021-09-29 11:56:13 +09:00
catalogs.sgml Docs: tidy up various usages of the productname tag 2022-04-13 17:42:13 +12:00
charset.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
citext.sgml Add deduplication to nbtree. 2020-02-26 13:05:30 -08:00
client-auth.sgml Docs: tidy up various usages of the productname tag 2022-04-13 17:42:13 +12:00
color.sgml Add color support for new frontend detail/hint messages 2022-04-11 17:36:44 +02:00
config.sgml Docs: wording improvement for compute_query_id = regress 2022-04-13 21:28:25 +12:00
contrib-spi.sgml Remove timetravel extension. 2018-10-11 11:43:56 -07:00
contrib.sgml Add contrib/pg_walinspect. 2022-04-08 00:26:44 -07:00
cube.sgml Remove deprecated containment operators for contrib types. 2021-03-05 10:45:41 -05:00
custom-rmgr.sgml Fix some trailing whitespace in documentation files 2022-04-16 09:05:07 +02:00
custom-scan.sgml Allow CustomScan providers to say whether they support projections. 2021-07-06 18:10:20 -04:00
datatype.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
datetime.sgml Doc: fix bogus example about ambiguous timestamps. 2022-01-10 11:46:16 -05:00
dblink.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
ddl.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
dfunc.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
dict-int.sgml Add an "absval" parameter to allow contrib/dict_int to ignore signs. 2020-03-08 18:35:06 -04:00
dict-xsyn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
diskusage.sgml Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
dml.sgml doc: Improve wording 2021-04-07 13:52:26 +02:00
docguide.sgml Remove configure-time probe for DocBook DTD. 2020-11-30 15:24:13 -05:00
earthdistance.sgml Doc: add a glossary entry for "domain". 2021-07-30 14:50:21 -04:00
ecpg.sgml Docs: tidy up various usages of the productname tag 2022-04-13 17:42:13 +12:00
errcodes.sgml Doc: remove now-redundant align specifications in colspecs. 2020-05-06 15:58:23 -04:00
event-trigger.sgml doc: Add ALTER/DROP ROUTINE to the event trigger matrix 2022-03-09 14:59:08 +09:00
extend.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
external-projects.sgml Update link for pllua 2020-10-19 13:48:00 +02:00
fdwhandler.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
features.sgml doc: Clean up title case use 2020-06-07 13:18:36 +02:00
file-fdw.sgml Add csvlog output for the new query_id value 2021-04-07 22:30:30 -04:00
filelist.sgml Doc build fix: remove tab from filelist.sgml. 2022-04-11 08:52:27 -07:00
func.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
fuzzystrmatch.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
generate-errcodes-table.pl Update copyright for 2022 2022-01-07 19:04:57 -05:00
generate-keywords-table.pl Update copyright for 2022 2022-01-07 19:04:57 -05:00
generic-wal.sgml Custom WAL Resource Managers. 2022-04-06 23:06:46 -07:00
geqo.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
gin.sgml doc: Remove more notes about compatibilities with past versions 2020-12-01 16:32:26 +09:00
gist.sgml Doc: fix minor issues in GiST support function documentation. 2021-10-04 13:34:31 -04:00
glossary.sgml Docs: Fix various mistakes and typos 2022-04-11 20:48:48 +12:00
hash.sgml Remove some trailing whitespace in documentation files 2022-01-27 18:31:01 +01:00
high-availability.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
history.sgml doc: Use proper em and en dashes 2019-10-25 20:39:41 +02:00
hstore.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
indexam.sgml Fix various typos, grammar and code style in comments and docs 2022-01-25 09:40:04 +09:00
indices.sgml doc: clarify when expression indexes evaluate their expressions 2021-12-22 16:29:16 -05:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Add UNIQUE null treatment option 2022-02-03 11:48:21 +01:00
install-binaries.sgml Expand installation documentation to cover binary installations 2020-10-06 14:15:32 +02:00
install-windows.sgml Standardize references to Zstandard as <productname> 2022-04-21 19:12:21 +02:00
installation.sgml Standardize references to Zstandard as <productname> 2022-04-21 19:12:21 +02:00
intagg.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
intarray.sgml Doc: fix bogus intarray index example. 2021-06-03 21:07:20 -04:00
intro.sgml doc: Refresh more URLs in the docs 2020-07-18 22:43:35 +09:00
isn.sgml Misc documentation fixes. 2020-10-19 19:28:54 +03:00
jit.sgml Doc: tweak examples to silence line-too-long PDF build warnings. 2020-05-14 18:13:08 -04:00
json.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
keywords.sgml Allow most keywords to be used as column labels without requiring AS. 2020-09-18 16:46:36 -04:00
legal.sgml Update copyright for 2022 2022-01-07 19:04:57 -05:00
libpq.sgml libpq: Allow IP address SANs in server certificates 2022-04-01 15:51:23 +02:00
limits.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
lo.sgml Doc: add a glossary entry for "domain". 2021-07-30 14:50:21 -04:00
lobj.sgml Doc: modernize documentation for lo_create()/lo_creat(). 2022-02-01 10:57:38 -05:00
logical-replication.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
logicaldecoding.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
ltree.sgml plpython: Adjust docs after removal of Python 2 support. 2022-03-07 18:30:57 -08:00
maintenance.sgml pgstat: Update docs to match the shared memory stats reality. 2022-04-07 21:35:35 -07:00
manage-ag.sgml Doc: clean up some places that mentioned template1 but not template0. 2021-11-02 12:54:35 -04:00
mk_feature_tables.pl Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
monitoring.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
mvcc.sgml Reword text on ROW SHARE lock as acquired by SELECT FOR <lock> 2022-04-14 21:52:20 +02:00
nls.sgml doc: improve NLS instruction wording 2021-01-05 14:26:37 -05:00
notation.sgml doc: clarify syntax notation, particularly parentheses 2022-02-02 21:53:52 -05:00
oid2name.sgml Doc: fix some description of environment variables with frontend tools 2020-03-09 10:53:22 +09:00
oldsnapshot.sgml Add new 'old_snapshot' contrib module. 2020-09-24 13:55:47 -04:00
pageinspect.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
parallel.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
passwordcheck.sgml doc: Update cracklib URL 2020-08-28 08:19:12 +02:00
perform.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
pgbuffercache.sgml Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pgcrypto.sgml pgcrypto: Remove non-OpenSSL support 2021-11-05 14:06:59 +01:00
pgfreespacemap.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
pgprewarm.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgrowlocks.sgml Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pgstatstatements.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
pgstattuple.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgsurgery.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
pgtrgm.sgml Remove mention of the version number from pg_trgm docs 2021-05-04 03:59:21 +03:00
pgvisibility.sgml Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pgwalinspect.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
planstats.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
plhandler.sgml Add PL/Sample to src/test/modules/ 2020-08-18 11:10:50 +09:00
plperl.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
plpgsql.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
plpython.sgml plpython: Adjust docs after removal of Python 2 support. 2022-03-07 18:30:57 -08:00
pltcl.sgml doc: clarify syntax notation, particularly parentheses 2022-02-02 21:53:52 -05:00
postgres-fdw.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
postgres.sgml Custom WAL Resource Managers. 2022-04-06 23:06:46 -07:00
problems.sgml Fix inconsistencies and typos in the tree 2019-07-22 10:01:50 +09:00
protocol.sgml Revert "Logical decoding of sequences" 2022-04-07 20:06:36 +02:00
queries.sgml Doc: improve description of UNION/INTERSECT/EXCEPT syntax. 2021-10-05 10:24:14 -04:00
query.sgml doc: Prefer explicit JOIN syntax over old implicit syntax in tutorial 2021-04-08 10:51:26 +02:00
rangetypes.sgml Revert 29854ee8d1 due to buildfarm failures 2021-06-15 21:44:40 +03:00
reference.sgml Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
regress.sgml Test replay of regression tests, attempt II. 2022-01-17 16:34:55 +13:00
release-15.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
release.sgml Stamp HEAD as 15devel. 2021-06-28 11:31:16 -04:00
replication-origins.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
rowtypes.sgml Doc: add a glossary entry for "domain". 2021-07-30 14:50:21 -04:00
rules.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
runtime.sgml Fix some trailing whitespace in documentation files 2022-04-16 09:05:07 +02:00
seg.sgml Remove deprecated containment operators for contrib types. 2021-03-05 10:45:41 -05:00
sepgsql.sgml doc: Fix link to SELinux user guide in sepgsql page 2021-10-28 09:25:55 +09:00
sourcerepo.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00
sources.sgml Docs: tidy up various usages of the productname tag 2022-04-13 17:42:13 +12:00
spgist.sgml doc: Fix some typos and markups 2021-09-29 11:56:13 +09:00
spi.sgml Fix SPI's handling of errors during transaction commit. 2022-02-28 12:45:36 -05:00
sslinfo.sgml Introduce --with-ssl={openssl} as a configure option 2021-02-01 19:19:44 +09:00
standalone-install.xml Doc: tweak installation doc edits made by commit 76c2af926. 2019-09-06 11:24:42 -04:00
standalone-profile.xsl Remove unused chunk from standalone-profile.xsl 2021-10-30 12:38:14 +02:00
start.sgml Doc: update example connection-failure messages in the documentation. 2021-01-23 15:50:51 -05:00
storage.sgml doc: Improve references to term "FSM" in pageinspect and pgfreespacemap 2022-03-09 10:43:25 +09:00
stylesheet-common.xsl Doc: re-re-revise markup for tables of functions. 2020-04-30 00:34:12 -04:00
stylesheet-fo.xsl Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
stylesheet-hh.xsl Fix XML namespace declarations 2022-02-15 11:13:49 +01:00
stylesheet-html-common.xsl docs: Work around bug in the docbook xsl stylesheets. 2022-02-15 13:52:40 -08:00
stylesheet-html-nochunk.xsl Fix XML namespace declarations 2022-02-15 11:13:49 +01:00
stylesheet-man.xsl doc: Improve man build speed 2018-02-28 09:26:36 -05:00
stylesheet-speedup-common.xsl
stylesheet-speedup-xhtml.xsl
stylesheet-text.xsl Fix XML namespace declarations 2022-02-15 11:13:49 +01:00
stylesheet.css Doc: reformat catalog/view description tables. 2020-05-13 23:03:39 -04:00
stylesheet.xsl Fix XML namespace declarations 2022-02-15 11:13:49 +01:00
syntax.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
tableam.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
tablefunc.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
tablesample-method.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
tcn.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
test-decoding.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
textsearch.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
trigger.sgml Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
tsm-system-rows.sgml Improve <xref> vs. <command> formatting in the documentation 2020-10-03 16:40:02 +02:00
tsm-system-time.sgml Improve <xref> vs. <command> formatting in the documentation 2020-10-03 16:40:02 +02:00
typeconv.sgml Use the correct article for abbreviations 2021-06-11 13:38:04 +12:00
unaccent.sgml Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
user-manag.sgml Add pg_checkpointer predefined role for CHECKPOINT command. 2021-11-09 16:59:14 -08:00
uuid-ossp.sgml docs: ulink all references to RFC's 2020-12-01 14:36:30 +02:00
vacuumlo.sgml doc: remove xreflabels from commits 75fcdd2ae2 and 85af628da5 2020-06-11 18:19:25 -04:00
wal.sgml Fix recovery_prefetch docs. 2022-04-08 13:43:37 +12:00
xaggr.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
xfunc.sgml Remove trailing whitespace from *.sgml files. 2022-04-20 11:04:49 -04:00
xindex.sgml Doc: fix minor issues in GiST support function documentation. 2021-10-04 13:34:31 -04:00
xml2.sgml doc: add commas after 'i.e.' and 'e.g.' 2020-08-31 18:33:37 -04:00
xoper.sgml Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
xplang.sgml Improve <xref> vs. <command> formatting in the documentation 2020-10-03 16:40:02 +02:00
xtypes.sgml doc: Clean up title case use 2019-09-08 10:27:29 +02:00

README.links

<!-- 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.