Get rid of "Section.N.N.N" on DOCs
When reading documentation all the time we get something like
See Section 27.4.5
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
and Section 27.4.2
<https://www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING>
for
details.
The only way to know what it is that Section is opening and reading its
title.
Wouldn't it be better if we print somethink for better reading like this ?
See VACUUM
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
Progress Reporting
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
and CLUSTER Progress Reporting
<https://www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING>
for details.
There are places where links are mixed, some of them are auto explanatory,
some don't, like on See Also of VACUUM
vacuumdb <https://www.postgresql.org/docs/18/app-vacuumdb.html>,
Section 19.10.2
<https://www.postgresql.org/docs/18/runtime-config-vacuum.html#RUNTIME-CONFIG-RESOURCE-VACUUM-COST>
, Section 24.1.6
<https://www.postgresql.org/docs/18/routine-vacuuming.html#AUTOVACUUM>,
Section 27.4.5
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
, Section 27.4.2
<https://www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING>
For that we need only put a "xreflabel" tag on that target link.
I can create a patch for all of them, but I would like to know why it's
done this way.
regards
Marcos
On Sun, Dec 14, 2025 at 10:30 AM Marcos Pegoraro <marcos@f10.com.br> wrote:
There are places where links are mixed, some of them are auto explanatory,
some don't, like on See Also of VACUUM
vacuumdb <https://www.postgresql.org/docs/18/app-vacuumdb.html>,
Section 19.10.2
<https://www.postgresql.org/docs/18/runtime-config-vacuum.html#RUNTIME-CONFIG-RESOURCE-VACUUM-COST>
, Section 24.1.6
<https://www.postgresql.org/docs/18/routine-vacuuming.html#AUTOVACUUM>,
Section 27.4.5
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
, Section 27.4.2
<https://www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING>For that we need only put a "xreflabel" tag on that target link.
I can create a patch for all of them, but I would like to know why it's
done this way.
That would be great. I don't think it's intentional, just not everyone
knowing and thus failing to add the additional attribute.
David J.
On Sun, 14 Dec 2025 at 12:35, David G. Johnston <david.g.johnston@gmail.com>
wrote:
On Sun, Dec 14, 2025 at 10:30 AM Marcos Pegoraro <marcos@f10.com.br>
wrote:There are places where links are mixed, some of them are auto
explanatory, some don't, like on See Also of VACUUM
vacuumdb <https://www.postgresql.org/docs/18/app-vacuumdb.html>,
Section 19.10.2
<https://www.postgresql.org/docs/18/runtime-config-vacuum.html#RUNTIME-CONFIG-RESOURCE-VACUUM-COST>
, Section 24.1.6
<https://www.postgresql.org/docs/18/routine-vacuuming.html#AUTOVACUUM>,
Section 27.4.5
<https://www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING>
, Section 27.4.2
<https://www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING>For that we need only put a "xreflabel" tag on that target link.
I can create a patch for all of them, but I would like to know why it's
done this way.That would be great. I don't think it's intentional, just not everyone
knowing and thus failing to add the additional attribute.
Is there any way to do this automatically, not by editing all the
references, but by changing how they're formatted? It seems to me that all
links to the same section should have the same link text, which should be
some combination of the section number and/or title/description. So ideally
this would be a matter of changing how the link text is computed. If we
rename a section, we presumably want all references to it to update
accordingly.
On Sun, 2025-12-14 at 14:30 -0300, Marcos Pegoraro wrote:
When reading documentation all the time we get something like
See Section 27.4.5 and Section 27.4.2 for details.
The only way to know what it is that Section is opening and reading its title.Wouldn't it be better if we print somethink for better reading like this ?
See VACUUM Progress Reporting and CLUSTER Progress Reporting for details.There are places where links are mixed, some of them are auto explanatory, some don't, like on See Also of VACUUM
vacuumdb, Section 19.10.2, Section 24.1.6, Section 27.4.5, Section 27.4.2For that we need only put a "xreflabel" tag on that target link.
I can create a patch for all of them, but I would like to know why it's done this way.
Don't ask "why". It probably just grew that way.
However, even though that would be an improvement in some cases, I a wary of a sweeping
change like that. In most places, the wording of the documentation is quite aware of
the way it is rendered. As a random example, look at this sentence in
https://www.postgresql.org/docs/current/sql-altertable.html :
For more information on the use of statistics by the PostgreSQL query planner,
refer to [Section 14.2].
With the change you propose, that would become
For more information on the use of statistics by the PostgreSQL query planner,
refer to [Statistics Used By The Planner].
Perhaps I am old-fashioned, but the original looks better to me. The wording makes
sufficiently clear what to expect in section 14.2. In addition, I can always hover
over the link to see a bubble with the name of the chapter.
I would suggest that you identify instances in the documentation where the current
practice is confusing and propose a patch to change only those.
Yours,
Laurenz Albe
Em seg., 15 de dez. de 2025 às 03:49, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
For more information on the use of statistics by the PostgreSQL query
planner,
refer to [Section 14.2].With the change you propose, that would become
For more information on the use of statistics by the PostgreSQL query
planner,
refer to [Statistics Used By The Planner].
I'm aware of that and I think in this case we need to change both
sides. The source needs to have the tag to be displayed, and on the pages
where it's used, we need to adapt it so that it's displayed accordingly.
But we can start by changing the ones we're sure of. If I haven't
miscounted, there are about 1,500 places in the documentation where a
Section n.n.n exists, but changing one source will correct 20 or 50 links
of it. I'll change a few and see how it goes.
regards
Marcos
On Mon, 2025-12-15 at 09:12 -0300, Marcos Pegoraro wrote:
But we can start by changing the ones we're sure of. If I haven't miscounted,
there are about 1,500 places in the documentation where a Section n.n.n exists,
but changing one source will correct 20 or 50 links of it. I'll change a few
and see how it goes.
Right. But you'd have to look at all the places with a reference and check
if the rendered text still makes sense, and if the change is actually an
improvement.
If we don't perceive the change as an improvement, you will meet resistance.
Apart from the effort of the change, there is also the increased effort of
backpatching documentation changes, and those efforts have to be outbalanced
by the benefits.
Yours,
Laurenz Albe
On 14.12.25 18:30, Marcos Pegoraro wrote:
When reading documentation all the time we get something like
See Section 27.4.5 <https://www.postgresql.org/docs/18/progress-
reporting.html#VACUUM-PROGRESS-REPORTING> and Section 27.4.2 <https://
www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-
REPORTING> for details.
The only way to know what it is that Section is opening and reading its
title.Wouldn't it be better if we print somethink for better reading like this ?
See VACUUM <https://www.postgresql.org/docs/18/progress-
reporting.html#VACUUM-PROGRESS-REPORTING>Progress Reporting <https://
www.postgresql.org/docs/18/progress-reporting.html#VACUUM-PROGRESS-
REPORTING> and CLUSTER Progress Reporting <https://www.postgresql.org/
docs/18/progress-reporting.html#CLUSTER-PROGRESS-REPORTING> for details.There are places where links are mixed, some of them are auto
explanatory, some don't, like on See Also of VACUUM
vacuumdb <https://www.postgresql.org/docs/18/app-vacuumdb.html>,
Section 19.10.2 <https://www.postgresql.org/docs/18/runtime-config-
vacuum.html#RUNTIME-CONFIG-RESOURCE-VACUUM-COST>, Section 24.1.6
<https://www.postgresql.org/docs/18/routine-vacuuming.html#AUTOVACUUM>,
Section 27.4.5 <https://www.postgresql.org/docs/18/progress-
reporting.html#VACUUM-PROGRESS-REPORTING>, Section 27.4.2 <https://
www.postgresql.org/docs/18/progress-reporting.html#CLUSTER-PROGRESS-
REPORTING>For that we need only put a "xreflabel" tag on that target link.
I can create a patch for all of them, but I would like to know why it's
done this way.
See this commit:
commit 70da87d334e
Author: Peter Eisentraut <peter_e@gmx.net>
Date: Mon Apr 3 16:50:32 2017
doc: Change xref style to number only
Change the style of links generated by xrefs to section number only, as
it was with DSSSL, instead of number and title, as is the default
of the
XSLT stylesheets.
Our documentation is mostly written expecting the old style, so keep
that for the time being, per discussion.
diff --git a/doc/src/sgml/stylesheet-common.xsl
b/doc/src/sgml/stylesheet-common.xsl
index 3d0651a8234..658a5ac5e17 100644
--- a/doc/src/sgml/stylesheet-common.xsl
+++ b/doc/src/sgml/stylesheet-common.xsl
@@ -39,6 +39,7 @@
<xsl:param name="punct.honorific" select="''"></xsl:param>
<xsl:param name="variablelist.term.break.after">1</xsl:param>
<xsl:param name="variablelist.term.separator"></xsl:param>
+<xsl:param name="xref.with.number.and.title" select="0"></xsl:param>
You could try to change that back, but you then probably would need to
go through and check that the new link text fits everywhere, as the
commit message is suggesting.
Em seg., 15 de dez. de 2025 às 09:19, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
Apart from the effort of the change, there is also the increased effort of
backpatching documentation changes, and those efforts have to be
outbalanced
by the benefits.
Are you sure we need to backpatch all these changes ?
I'm not talking about the job I'll have but the job the committer will have.
There are almost 300 different section numbers and more than 700 places
will be changed,
so will be 700 multiplied by how many versions of it. Are you sure ?
I changed 8 or 10 just for testing and sending two as an example, just to
see if it's worthwhile.
Environment Variables need to change source and target, 30 places.
String constants just source part, easy to change but harder to verify all
related parts.
regards
Marcos
Attachments:
V1-0001 Get rid of section n_n_n - Environment Variables.diffapplication/octet-stream; name="V1-0001 Get rid of section n_n_n - Environment Variables.diff"Download
From 91f3d3af29d5716a56321ca06f07a1061e79566d Mon Sep 17 00:00:00 2001
From: PegoraroF10 <marcos@f10.com.br>
Date: Fri, 19 Dec 2025 11:30:27 -0300
Subject: [PATCH] Added xreflabel="environment variables" to "libpq-envars" on
libpq.sgml and all section n.n.n will be replaced by environment variables
---
doc/src/sgml/config.sgml | 4 ++--
doc/src/sgml/libpq.sgml | 6 +++---
doc/src/sgml/oid2name.sgml | 5 ++---
doc/src/sgml/ref/clusterdb.sgml | 3 +--
doc/src/sgml/ref/createdb.sgml | 3 +--
doc/src/sgml/ref/createuser.sgml | 3 +--
doc/src/sgml/ref/dropdb.sgml | 3 +--
doc/src/sgml/ref/dropuser.sgml | 3 +--
doc/src/sgml/ref/pg_amcheck.sgml | 6 ++----
doc/src/sgml/ref/pg_basebackup.sgml | 6 ++----
doc/src/sgml/ref/pg_combinebackup.sgml | 3 +--
doc/src/sgml/ref/pg_dump.sgml | 3 +--
doc/src/sgml/ref/pg_dumpall.sgml | 3 +--
doc/src/sgml/ref/pg_isready.sgml | 7 +++----
doc/src/sgml/ref/pg_receivewal.sgml | 3 +--
doc/src/sgml/ref/pg_recvlogical.sgml | 3 +--
doc/src/sgml/ref/pg_restore.sgml | 5 ++---
doc/src/sgml/ref/pg_rewind.sgml | 8 ++++----
doc/src/sgml/ref/pgbench.sgml | 3 +--
doc/src/sgml/ref/psql-ref.sgml | 9 ++++-----
doc/src/sgml/ref/reindexdb.sgml | 3 +--
doc/src/sgml/ref/vacuumdb.sgml | 3 +--
doc/src/sgml/vacuumlo.sgml | 3 +--
23 files changed, 38 insertions(+), 60 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 405c9689bd0..e7137132b75 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -4924,8 +4924,8 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
Specifies a connection string to be used for the standby server
to connect with a sending server. This string is in the format
described in <xref linkend="libpq-connstring"/>. If any option is
- unspecified in this string, then the corresponding environment
- variable (see <xref linkend="libpq-envars"/>) is checked. If the
+ unspecified in this string, then the corresponding parameter on
+ <xref linkend="libpq-envars"/> is checked. If the
environment variable is not set either, then
defaults are used.
</para>
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 7d05938feda..6e6925c5527 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -166,8 +166,8 @@ PGconn *PQconnectdbParams(const char * const *keywords,
<para>
After processing all the array entries and any expanded connection
string, any connection parameters that remain unset are filled with
- default values. If an unset parameter's corresponding environment
- variable (see <xref linkend="libpq-envars"/>) is set, its value is
+ default values. If an unset parameter's corresponding
+ <xref linkend="libpq-envars"/> is set, its value is
used. If the environment variable is not set either, then the
parameter's built-in default value is used.
</para>
@@ -9015,7 +9015,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect2>
</sect1>
- <sect1 id="libpq-envars">
+ <sect1 id="libpq-envars" xreflabel="environment variables">
<title>Environment Variables</title>
<indexterm zone="libpq-envars">
diff --git a/doc/src/sgml/oid2name.sgml b/doc/src/sgml/oid2name.sgml
index 54cc9be2b82..93cc8583614 100644
--- a/doc/src/sgml/oid2name.sgml
+++ b/doc/src/sgml/oid2name.sgml
@@ -219,9 +219,8 @@
</variablelist>
<para>
- This utility, like most other <productname>PostgreSQL</productname>
- utilities, also uses the environment variables supported by
- <application>libpq</application> (see <xref linkend="libpq-envars"/>).
+ This utility, like most other <productname>PostgreSQL</productname> utilities,
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/clusterdb.sgml b/doc/src/sgml/ref/clusterdb.sgml
index 0d2051bf6f1..9bfce63ee0b 100644
--- a/doc/src/sgml/ref/clusterdb.sgml
+++ b/doc/src/sgml/ref/clusterdb.sgml
@@ -296,8 +296,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml
index 2ccbe13f390..7504598b9b5 100644
--- a/doc/src/sgml/ref/createdb.sgml
+++ b/doc/src/sgml/ref/createdb.sgml
@@ -392,8 +392,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/createuser.sgml b/doc/src/sgml/ref/createuser.sgml
index 5c34c623423..4719fb247c0 100644
--- a/doc/src/sgml/ref/createuser.sgml
+++ b/doc/src/sgml/ref/createuser.sgml
@@ -477,8 +477,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/dropdb.sgml b/doc/src/sgml/ref/dropdb.sgml
index d36aed38c52..94e10408d66 100644
--- a/doc/src/sgml/ref/dropdb.sgml
+++ b/doc/src/sgml/ref/dropdb.sgml
@@ -258,8 +258,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/dropuser.sgml b/doc/src/sgml/ref/dropuser.sgml
index b6be26d5b0a..180563447ef 100644
--- a/doc/src/sgml/ref/dropuser.sgml
+++ b/doc/src/sgml/ref/dropuser.sgml
@@ -236,8 +236,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/pg_amcheck.sgml b/doc/src/sgml/ref/pg_amcheck.sgml
index ef2bdfd19ae..c3476e3cbe7 100644
--- a/doc/src/sgml/ref/pg_amcheck.sgml
+++ b/doc/src/sgml/ref/pg_amcheck.sgml
@@ -648,10 +648,8 @@ PostgreSQL documentation
<title>Environment</title>
<para>
- <command>pg_amcheck</command>, like most other <productname>PostgreSQL</productname>
- utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ <command>pg_amcheck</command>, like most other <productname>PostgreSQL</productname> utilities,
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml
index fecee08b0a5..16b1e5e7c08 100644
--- a/doc/src/sgml/ref/pg_basebackup.sgml
+++ b/doc/src/sgml/ref/pg_basebackup.sgml
@@ -246,8 +246,7 @@ PostgreSQL documentation
streaming replication and <link linkend="logicaldecoding-replication-slots-synchronization">
logical replication slot synchronization</link> will use the same
settings later on. The dbname will be recorded only if the dbname was
- specified explicitly in the connection string or <link linkend="libpq-envars">
- environment variable</link>.
+ specified explicitly in the connection string or <xref linkend="libpq-envars"/>.
</para>
</listitem>
@@ -950,8 +949,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 9a6d201e0b8..103fb29f8ad 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -326,8 +326,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 688e23c0e90..abd6e67b007 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1644,8 +1644,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml
index 8834b7ec141..39f00db0058 100644
--- a/doc/src/sgml/ref/pg_dumpall.sgml
+++ b/doc/src/sgml/ref/pg_dumpall.sgml
@@ -862,8 +862,7 @@ exclude database <replaceable class="parameter">PATTERN</replaceable>
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/pg_isready.sgml b/doc/src/sgml/ref/pg_isready.sgml
index ba25ca65a40..1d45f03a17b 100644
--- a/doc/src/sgml/ref/pg_isready.sgml
+++ b/doc/src/sgml/ref/pg_isready.sgml
@@ -155,10 +155,9 @@ PostgreSQL documentation
<title>Environment</title>
<para>
- <command>pg_isready</command>, like most other <productname>PostgreSQL</productname>
- utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ <command>pg_isready</command>, like most other <productname>PostgreSQL</productname> utilities,
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
+
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_receivewal.sgml b/doc/src/sgml/ref/pg_receivewal.sgml
index 9e353a068e5..7778901a0b0 100644
--- a/doc/src/sgml/ref/pg_receivewal.sgml
+++ b/doc/src/sgml/ref/pg_receivewal.sgml
@@ -479,8 +479,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_recvlogical.sgml b/doc/src/sgml/ref/pg_recvlogical.sgml
index 5380d776baf..95ee58c22d5 100644
--- a/doc/src/sgml/ref/pg_recvlogical.sgml
+++ b/doc/src/sgml/ref/pg_recvlogical.sgml
@@ -477,8 +477,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index a468a38361a..7ddc3d95d42 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -1062,9 +1062,8 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>). However, it does not read
- <envar>PGDATABASE</envar> when a database name is not supplied.
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
+ However, it does not read <envar>PGDATABASE</envar> when a database name is not supplied.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/pg_rewind.sgml b/doc/src/sgml/ref/pg_rewind.sgml
index 5b155cfa12a..a0377e5cf59 100644
--- a/doc/src/sgml/ref/pg_rewind.sgml
+++ b/doc/src/sgml/ref/pg_rewind.sgml
@@ -207,8 +207,8 @@ PostgreSQL documentation
Create <filename>standby.signal</filename> and append connection
settings to <filename>postgresql.auto.conf</filename> in the output
directory. The dbname will be recorded only if the dbname was
- specified explicitly in the connection string or <link linkend="libpq-envars">
- environment variable</link>. <literal>--source-server</literal> is
+ specified explicitly in the connection string or
+ <xref linkend="libpq-envars"/>. <literal>--source-server</literal> is
mandatory with this option.
</para>
</listitem>
@@ -349,8 +349,8 @@ PostgreSQL documentation
<para>
When <option>--source-server</option> option is used,
- <application>pg_rewind</application> also uses the environment variables
- supported by <application>libpq</application> (see <xref linkend="libpq-envars"/>).
+ <application>pg_rewind</application> also uses the <xref linkend="libpq-envars"/>
+ supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml
index 2e401d1ceb8..2f323b7763b 100644
--- a/doc/src/sgml/ref/pgbench.sgml
+++ b/doc/src/sgml/ref/pgbench.sgml
@@ -1049,8 +1049,7 @@ pgbench <optional> <replaceable>options</replaceable> </optional> <replaceable>d
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index f56c70263e0..9bfb4068b27 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -672,9 +672,9 @@ EOF
some typing by setting the environment variables
<envar>PGDATABASE</envar>, <envar>PGHOST</envar>,
<envar>PGPORT</envar> and/or <envar>PGUSER</envar> to appropriate
- values. (For additional environment variables, see <xref
- linkend="libpq-envars"/>.) It is also convenient to have a
- <filename>~/.pgpass</filename> file to avoid regularly having to type in
+ values. (For additional <xref linkend="libpq-envars"/>.)
+ It is also convenient to have a <filename>~/.pgpass</filename> file to
+ avoid regularly having to type in
passwords. See <xref linkend="libpq-pgpass"/> for more information.
</para>
@@ -5415,8 +5415,7 @@ PSQL_EDITOR_LINENUMBER_ARG='--line '
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/reindexdb.sgml b/doc/src/sgml/ref/reindexdb.sgml
index a90e48ea86b..2152f88fa24 100644
--- a/doc/src/sgml/ref/reindexdb.sgml
+++ b/doc/src/sgml/ref/reindexdb.sgml
@@ -400,8 +400,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/ref/vacuumdb.sgml b/doc/src/sgml/ref/vacuumdb.sgml
index 508c8dfa146..f434abe999f 100644
--- a/doc/src/sgml/ref/vacuumdb.sgml
+++ b/doc/src/sgml/ref/vacuumdb.sgml
@@ -637,8 +637,7 @@ PostgreSQL documentation
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
</refsect1>
diff --git a/doc/src/sgml/vacuumlo.sgml b/doc/src/sgml/vacuumlo.sgml
index 26b764d54b7..fdb9f8cd031 100644
--- a/doc/src/sgml/vacuumlo.sgml
+++ b/doc/src/sgml/vacuumlo.sgml
@@ -193,8 +193,7 @@
<para>
This utility, like most other <productname>PostgreSQL</productname> utilities,
- also uses the environment variables supported by <application>libpq</application>
- (see <xref linkend="libpq-envars"/>).
+ also uses the <xref linkend="libpq-envars"/> supported by <application>libpq</application>.
</para>
<para>
--
2.51.2.windows.1
V1-0001 Get rid of section n_n_n - string constants.diffapplication/octet-stream; name="V1-0001 Get rid of section n_n_n - string constants.diff"Download
From 70ae552a57b4e26f855c1c13305767411fa6eefe Mon Sep 17 00:00:00 2001
From: PegoraroF10 <marcos@f10.com.br>
Date: Fri, 19 Dec 2025 15:15:51 -0300
Subject: [PATCH] Added xreflabel="string constants" to "sql-syntax-strings" on
syntax.sgml and all section n.n.n will be replaced by string constants
---
doc/src/sgml/syntax.sgml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index 34c83880a66..3f472f96d02 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -290,7 +290,7 @@ U&"d!0061t!+000061" UESCAPE '!'
subsections.
</para>
- <sect3 id="sql-syntax-strings">
+ <sect3 id="sql-syntax-strings" xreflabel="string constants">
<title>String Constants</title>
<indexterm zone="sql-syntax-strings">
--
2.51.2.windows.1
On Fri, Dec 19, 2025 at 11:56 AM Marcos Pegoraro <marcos@f10.com.br> wrote:
Em seg., 15 de dez. de 2025 às 09:19, Laurenz Albe <
laurenz.albe@cybertec.at> escreveu:Apart from the effort of the change, there is also the increased effort of
backpatching documentation changes, and those efforts have to be
outbalanced
by the benefits.Are you sure we need to backpatch all these changes ?
I'm not talking about the job I'll have but the job the committer will
have.
There are almost 300 different section numbers and more than 700 places
will be changed,
so will be 700 multiplied by how many versions of it. Are you sure ?I changed 8 or 10 just for testing and sending two as an example, just to
see if it's worthwhile.
Environment Variables need to change source and target, 30 places.
String constants just source part, easy to change but harder to verify all
related parts.
These changes aren't going to be back-patched. The concern stated is that
given all the places being touched, the odds of future back-patches hitting
one of them and resulting in a conflict has increased substantially.
David J.
Em seg., 15 de dez. de 2025 às 16:33, Peter Eisentraut <peter@eisentraut.org>
escreveu:
doc: Change xref style to number only
If I understood correctly that would not help because if we revert that
commit
it'll put section number and text, but we now want only text, not section
numbers, right ?
Now we have - "Section 23.3.1"
Changing back that commit will show - "Section 23.3.1, “Supported Character
Sets”."
But we want only - "Supported Character Sets"
regards
Marcos
First version of all files replaced.
I used a regex to get title tag which was on following line and added it as
xreflabel of of that sec1.
Simple one.
<sect1 id="parser-stage" xreflabel="The Parser Stage">
<title>The Parser Stage</title>
Removed <productname>, <literal>, <acronym> tags
<sect1 id="rule-system" xreflabel="The PostgreSQL Rule System">
<title>The <productname>PostgreSQL</productname> Rule System</title>
Maybe some of them are huge, like "Continuous Archiving and Point-in-Time
Recovery (PITR)" but I didn't change any of them.
This version I did not read all places where this changes affect, so
obviously will have a lot of places to be rewritten.
regards
Marcos
Show quoted text
Attachments:
V1-0001 Get rid of section n_n_n.diffapplication/octet-stream; name="V1-0001 Get rid of section n_n_n.diff"Download
From 1d17880411525eb9a361b5f54d5dbfedb99175b4 Mon Sep 17 00:00:00 2001
From: PegoraroF10 <marcos@f10.com.br>
Date: Mon, 22 Dec 2025 10:07:03 -0300
Subject: [PATCH] Added xreflabel="string constants" to all sect1, sect2 and
sect3 and all those section n.n.n will be replaced by these constants
---
doc/src/sgml/advanced.sgml | 14 +--
doc/src/sgml/amcheck.sgml | 6 +-
doc/src/sgml/arch-dev.sgml | 12 +-
doc/src/sgml/archive-modules.sgml | 12 +-
doc/src/sgml/array.sgml | 14 +--
doc/src/sgml/auth-delay.sgml | 4 +-
doc/src/sgml/auto-explain.sgml | 6 +-
doc/src/sgml/backup-manifest.sgml | 6 +-
doc/src/sgml/backup.sgml | 28 ++---
doc/src/sgml/basebackup-to-shell.sgml | 4 +-
doc/src/sgml/basic-archive.sgml | 6 +-
doc/src/sgml/bki.sgml | 22 ++--
doc/src/sgml/bloom.sgml | 10 +-
doc/src/sgml/brin.sgml | 6 +-
doc/src/sgml/btree-gin.sgml | 4 +-
doc/src/sgml/btree.sgml | 8 +-
doc/src/sgml/catalogs.sgml | 130 ++++++++++-----------
doc/src/sgml/charset.sgml | 34 +++---
doc/src/sgml/citext.sgml | 10 +-
doc/src/sgml/client-auth.sgml | 32 ++---
doc/src/sgml/color.sgml | 4 +-
doc/src/sgml/config.sgml | 36 +++---
doc/src/sgml/contrib-spi.sgml | 8 +-
doc/src/sgml/contrib.sgml | 4 +-
doc/src/sgml/cube.sgml | 12 +-
doc/src/sgml/custom-scan.sgml | 12 +-
doc/src/sgml/datatype.sgml | 42 +++----
doc/src/sgml/datetime.sgml | 14 +--
doc/src/sgml/ddl.sgml | 88 +++++++-------
doc/src/sgml/dict-int.sgml | 4 +-
doc/src/sgml/dict-xsyn.sgml | 4 +-
doc/src/sgml/dml.sgml | 8 +-
doc/src/sgml/docguide.sgml | 32 ++---
doc/src/sgml/earthdistance.sgml | 4 +-
doc/src/sgml/ecpg.sgml | 108 ++++++++---------
doc/src/sgml/event-trigger.sgml | 10 +-
doc/src/sgml/extend.sgml | 8 +-
doc/src/sgml/external-projects.sgml | 8 +-
doc/src/sgml/fdwhandler.sgml | 10 +-
doc/src/sgml/features.sgml | 6 +-
doc/src/sgml/func/func-admin.sgml | 22 ++--
doc/src/sgml/func/func-aggregate.sgml | 2 +-
doc/src/sgml/func/func-array.sgml | 2 +-
doc/src/sgml/func/func-binarystring.sgml | 2 +-
doc/src/sgml/func/func-bitstring.sgml | 2 +-
doc/src/sgml/func/func-comparison.sgml | 2 +-
doc/src/sgml/func/func-comparisons.sgml | 14 +--
doc/src/sgml/func/func-conditional.sgml | 10 +-
doc/src/sgml/func/func-datetime.sgml | 14 +--
doc/src/sgml/func/func-enum.sgml | 2 +-
doc/src/sgml/func/func-event-triggers.sgml | 8 +-
doc/src/sgml/func/func-formatting.sgml | 2 +-
doc/src/sgml/func/func-geometry.sgml | 2 +-
doc/src/sgml/func/func-info.sgml | 26 ++---
doc/src/sgml/func/func-json.sgml | 16 +--
doc/src/sgml/func/func-logical.sgml | 2 +-
doc/src/sgml/func/func-matching.sgml | 10 +-
doc/src/sgml/func/func-math.sgml | 2 +-
doc/src/sgml/func/func-merge-support.sgml | 2 +-
doc/src/sgml/func/func-net.sgml | 2 +-
doc/src/sgml/func/func-range.sgml | 2 +-
doc/src/sgml/func/func-sequence.sgml | 2 +-
doc/src/sgml/func/func-srf.sgml | 2 +-
doc/src/sgml/func/func-statistics.sgml | 4 +-
doc/src/sgml/func/func-string.sgml | 2 +-
doc/src/sgml/func/func-subquery.sgml | 14 +--
doc/src/sgml/func/func-textsearch.sgml | 2 +-
doc/src/sgml/func/func-trigger.sgml | 2 +-
doc/src/sgml/func/func-uuid.sgml | 2 +-
doc/src/sgml/func/func-window.sgml | 2 +-
doc/src/sgml/func/func-xml.sgml | 8 +-
doc/src/sgml/fuzzystrmatch.sgml | 10 +-
doc/src/sgml/generic-wal.sgml | 2 +-
doc/src/sgml/geqo.sgml | 10 +-
doc/src/sgml/gin.sgml | 8 +-
doc/src/sgml/gist.sgml | 4 +-
doc/src/sgml/hash.sgml | 2 +-
doc/src/sgml/high-availability.sgml | 32 ++---
doc/src/sgml/history.sgml | 8 +-
doc/src/sgml/hstore.sgml | 16 +--
doc/src/sgml/indexam.sgml | 12 +-
doc/src/sgml/indices.sgml | 36 +++---
doc/src/sgml/info.sgml | 2 +-
doc/src/sgml/information_schema.sgml | 130 ++++++++++-----------
doc/src/sgml/installation.sgml | 44 +++----
doc/src/sgml/intagg.sgml | 4 +-
doc/src/sgml/intarray.sgml | 10 +-
doc/src/sgml/intro.sgml | 2 +-
doc/src/sgml/isn.sgml | 14 +--
doc/src/sgml/jit.sgml | 16 +--
doc/src/sgml/json.sgml | 14 +--
doc/src/sgml/libpq.sgml | 96 +++++++--------
doc/src/sgml/lo.sgml | 8 +-
doc/src/sgml/lobj.sgml | 22 ++--
doc/src/sgml/logical-replication.sgml | 68 +++++------
doc/src/sgml/logicaldecoding.sgml | 22 ++--
doc/src/sgml/ltree.sgml | 12 +-
doc/src/sgml/maintenance.sgml | 18 +--
doc/src/sgml/manage-ag.sgml | 12 +-
doc/src/sgml/monitoring.sgml | 88 +++++++-------
doc/src/sgml/mvcc.sgml | 22 ++--
doc/src/sgml/nls.sgml | 16 +--
doc/src/sgml/notation.sgml | 2 +-
doc/src/sgml/oauth-validators.sgml | 18 +--
doc/src/sgml/pageinspect.sgml | 14 +--
doc/src/sgml/parallel.sgml | 20 ++--
doc/src/sgml/passwordcheck.sgml | 2 +-
doc/src/sgml/perform.sgml | 38 +++---
doc/src/sgml/pgbuffercache.sgml | 26 ++---
doc/src/sgml/pgcrypto.sgml | 74 ++++++------
doc/src/sgml/pgfreespacemap.sgml | 6 +-
doc/src/sgml/pglogicalinspect.sgml | 4 +-
doc/src/sgml/pgprewarm.sgml | 6 +-
doc/src/sgml/pgrowlocks.sgml | 6 +-
doc/src/sgml/pgstatstatements.sgml | 12 +-
doc/src/sgml/pgstattuple.sgml | 4 +-
doc/src/sgml/pgsurgery.sgml | 4 +-
doc/src/sgml/pgtrgm.sgml | 14 +--
doc/src/sgml/pgvisibility.sgml | 4 +-
doc/src/sgml/pgwalinspect.sgml | 4 +-
doc/src/sgml/planstats.sgml | 12 +-
doc/src/sgml/plperl.sgml | 24 ++--
doc/src/sgml/plpgsql.sgml | 62 +++++-----
doc/src/sgml/plpython.sgml | 38 +++---
doc/src/sgml/pltcl.sgml | 24 ++--
doc/src/sgml/postgres-fdw.sgml | 40 +++----
doc/src/sgml/problems.sgml | 8 +-
doc/src/sgml/protocol.sgml | 58 ++++-----
doc/src/sgml/queries.sgml | 44 +++----
doc/src/sgml/query.sgml | 18 +--
doc/src/sgml/rangetypes.sgml | 22 ++--
doc/src/sgml/regress.sgml | 26 ++---
doc/src/sgml/release-19.sgml | 2 +-
doc/src/sgml/release.sgml | 2 +-
doc/src/sgml/rowtypes.sgml | 14 +--
doc/src/sgml/rules.sgml | 26 ++---
doc/src/sgml/runtime.sgml | 54 ++++-----
doc/src/sgml/seg.sgml | 12 +-
doc/src/sgml/sepgsql.sgml | 30 ++---
doc/src/sgml/sourcerepo.sgml | 2 +-
doc/src/sgml/sources.sgml | 8 +-
doc/src/sgml/spgist.sgml | 8 +-
doc/src/sgml/spi.sgml | 12 +-
doc/src/sgml/sslinfo.sgml | 4 +-
doc/src/sgml/start.sgml | 8 +-
doc/src/sgml/syntax.sgml | 48 ++++----
doc/src/sgml/system-views.sgml | 80 ++++++-------
doc/src/sgml/tablefunc.sgml | 14 +--
doc/src/sgml/tablesample-method.sgml | 2 +-
doc/src/sgml/textsearch.sgml | 70 +++++------
doc/src/sgml/trigger.sgml | 8 +-
doc/src/sgml/tsm-system-rows.sgml | 2 +-
doc/src/sgml/tsm-system-time.sgml | 2 +-
doc/src/sgml/typeconv.sgml | 12 +-
doc/src/sgml/unaccent.sgml | 6 +-
doc/src/sgml/user-manag.sgml | 12 +-
doc/src/sgml/uuid-ossp.sgml | 6 +-
doc/src/sgml/wal.sgml | 14 +--
doc/src/sgml/xaggr.sgml | 12 +-
doc/src/sgml/xfunc.sgml | 20 ++--
doc/src/sgml/xindex.sgml | 18 +--
doc/src/sgml/xml2.sgml | 14 +--
doc/src/sgml/xoper.sgml | 6 +-
doc/src/sgml/xplang.sgml | 2 +-
doc/src/sgml/xtypes.sgml | 4 +-
165 files changed, 1452 insertions(+), 1452 deletions(-)
diff --git a/doc/src/sgml/advanced.sgml b/doc/src/sgml/advanced.sgml
index 451bcb202ec..7dec52d4259 100644
--- a/doc/src/sgml/advanced.sgml
+++ b/doc/src/sgml/advanced.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-advanced">
<title>Advanced Features</title>
- <sect1 id="tutorial-advanced-intro">
+ <sect1 id="tutorial-advanced-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -29,7 +29,7 @@
</sect1>
- <sect1 id="tutorial-views">
+ <sect1 id="tutorial-views" xreflabel="Views">
<title>Views</title>
<indexterm zone="tutorial-views">
@@ -68,7 +68,7 @@ SELECT * FROM myview;
</sect1>
- <sect1 id="tutorial-fk">
+ <sect1 id="tutorial-fk" xreflabel="Foreign Keys">
<title>Foreign Keys</title>
<indexterm zone="tutorial-fk">
@@ -137,7 +137,7 @@ DETAIL: Key (city)=(Berkeley) is not present in table "cities".
</sect1>
- <sect1 id="tutorial-transactions">
+ <sect1 id="tutorial-transactions" xreflabel="Transactions">
<title>Transactions</title>
<indexterm zone="tutorial-transactions">
@@ -317,7 +317,7 @@ COMMIT;
</sect1>
- <sect1 id="tutorial-window">
+ <sect1 id="tutorial-window" xreflabel="Window Functions">
<title>Window Functions</title>
<indexterm zone="tutorial-window">
@@ -565,7 +565,7 @@ SELECT sum(salary) OVER w, avg(salary) OVER w
</sect1>
- <sect1 id="tutorial-inheritance">
+ <sect1 id="tutorial-inheritance" xreflabel="Inheritance">
<title>Inheritance</title>
<indexterm zone="tutorial-inheritance">
@@ -703,7 +703,7 @@ SELECT name, elevation
</sect1>
- <sect1 id="tutorial-conclusion">
+ <sect1 id="tutorial-conclusion" xreflabel="Conclusion">
<title>Conclusion</title>
<para>
diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml
index 08006856579..c2b5d1855a5 100644
--- a/doc/src/sgml/amcheck.sgml
+++ b/doc/src/sgml/amcheck.sgml
@@ -55,7 +55,7 @@
able to infer something of the data itself from such messages.
</para>
- <sect2 id="amcheck-functions">
+ <sect2 id="amcheck-functions" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -375,7 +375,7 @@ SET client_min_messages = DEBUG1;
</variablelist>
</sect2>
- <sect2 id="amcheck-optional-heapallindexed-verification">
+ <sect2 id="amcheck-optional-heapallindexed-verification" xreflabel="Optional heapallindexed Verification">
<title>Optional <parameter>heapallindexed</parameter> Verification</title>
<para>
When the <parameter>heapallindexed</parameter> argument to B-Tree
@@ -416,7 +416,7 @@ SET client_min_messages = DEBUG1;
</sect2>
- <sect2 id="amcheck-using-amcheck-effectively">
+ <sect2 id="amcheck-using-amcheck-effectively" xreflabel="Using amcheck Effectively">
<title>Using <filename>amcheck</filename> Effectively</title>
<para>
diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml
index 06b6e2a8493..19a7ce27395 100644
--- a/doc/src/sgml/arch-dev.sgml
+++ b/doc/src/sgml/arch-dev.sgml
@@ -23,7 +23,7 @@
at which the results are returned to the client.
</para>
- <sect1 id="query-path">
+ <sect1 id="query-path" xreflabel="The Path of a Query">
<title>The Path of a Query</title>
<para>
@@ -110,7 +110,7 @@
</para>
</sect1>
- <sect1 id="connect-estab">
+ <sect1 id="connect-estab" xreflabel="How Connections Are Established">
<title>How Connections Are Established</title>
<para>
@@ -154,7 +154,7 @@
</para>
</sect1>
- <sect1 id="parser-stage">
+ <sect1 id="parser-stage" xreflabel="The Parser Stage">
<title>The Parser Stage</title>
<para>
@@ -283,7 +283,7 @@
</sect2>
</sect1>
- <sect1 id="rule-system">
+ <sect1 id="rule-system" xreflabel="The PostgreSQL Rule System">
<title>The <productname>PostgreSQL</productname> Rule System</title>
<para>
@@ -328,7 +328,7 @@
</sect1>
- <sect1 id="planner-optimizer">
+ <sect1 id="planner-optimizer" xreflabel="Planner/Optimizer">
<title>Planner/Optimizer</title>
<para>
@@ -477,7 +477,7 @@
</sect2>
</sect1>
- <sect1 id="executor">
+ <sect1 id="executor" xreflabel="Executor">
<title>Executor</title>
<para>
diff --git a/doc/src/sgml/archive-modules.sgml b/doc/src/sgml/archive-modules.sgml
index 10ec96eae96..70916c9b03d 100644
--- a/doc/src/sgml/archive-modules.sgml
+++ b/doc/src/sgml/archive-modules.sgml
@@ -36,7 +36,7 @@
example, which demonstrates some useful techniques.
</para>
- <sect1 id="archive-module-init">
+ <sect1 id="archive-module-init" xreflabel="Initialization Functions">
<title>Initialization Functions</title>
<indexterm zone="archive-module-init">
<primary>_PG_archive_module_init</primary>
@@ -70,14 +70,14 @@ typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void);
</para>
</sect1>
- <sect1 id="archive-module-callbacks">
+ <sect1 id="archive-module-callbacks" xreflabel="Archive Module Callbacks">
<title>Archive Module Callbacks</title>
<para>
The archive callbacks define the actual archiving behavior of the module.
The server will call them as required to process each individual WAL file.
</para>
- <sect2 id="archive-module-startup">
+ <sect2 id="archive-module-startup" xreflabel="Startup Callback">
<title>Startup Callback</title>
<para>
The <function>startup_cb</function> callback is called shortly after the
@@ -91,7 +91,7 @@ typedef void (*ArchiveStartupCB) (ArchiveModuleState *state);
</para>
</sect2>
- <sect2 id="archive-module-check">
+ <sect2 id="archive-module-check" xreflabel="Check Callback">
<title>Check Callback</title>
<para>
The <function>check_configured_cb</function> callback is called to determine
@@ -128,7 +128,7 @@ WARNING: archive_mode enabled, yet archiving is not configured
</note>
</sect2>
- <sect2 id="archive-module-archive">
+ <sect2 id="archive-module-archive" xreflabel="Archive Callback">
<title>Archive Callback</title>
<para>
The <function>archive_file_cb</function> callback is called to archive a
@@ -157,7 +157,7 @@ typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, cons
</note>
</sect2>
- <sect2 id="archive-module-shutdown">
+ <sect2 id="archive-module-shutdown" xreflabel="Shutdown Callback">
<title>Shutdown Callback</title>
<para>
The <function>shutdown_cb</function> callback is called when the archiver
diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml
index ce338c770c9..827b6804618 100644
--- a/doc/src/sgml/array.sgml
+++ b/doc/src/sgml/array.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/array.sgml -->
-<sect1 id="arrays">
+<sect1 id="arrays" xreflabel="Arrays">
<title>Arrays</title>
<indexterm>
@@ -14,7 +14,7 @@
or domain can be created.
</para>
- <sect2 id="arrays-declaration">
+ <sect2 id="arrays-declaration" xreflabel="Declaration of Array Types">
<title>Declaration of Array Types</title>
<indexterm>
@@ -84,7 +84,7 @@ CREATE TABLE tictactoe (
</para>
</sect2>
- <sect2 id="arrays-input">
+ <sect2 id="arrays-input" xreflabel="Array Value Input">
<title>Array Value Input</title>
<indexterm>
@@ -197,7 +197,7 @@ INSERT INTO sal_emp
</para>
</sect2>
- <sect2 id="arrays-accessing">
+ <sect2 id="arrays-accessing" xreflabel="Accessing Arrays">
<title>Accessing Arrays</title>
<indexterm>
@@ -377,7 +377,7 @@ SELECT cardinality(schedule) FROM sal_emp WHERE name = 'Carol';
</para>
</sect2>
- <sect2 id="arrays-modifying">
+ <sect2 id="arrays-modifying" xreflabel="Modifying Arrays">
<title>Modifying Arrays</title>
<indexterm>
@@ -595,7 +595,7 @@ SELECT array_append(ARRAY[1, 2], NULL); -- this might have been meant
</para>
</sect2>
- <sect2 id="arrays-searching">
+ <sect2 id="arrays-searching" xreflabel="Searching in Arrays">
<title>Searching in Arrays</title>
<indexterm>
@@ -694,7 +694,7 @@ SELECT array_positions(ARRAY[1, 4, 3, 1, 3, 4, 2, 1], 1);
</tip>
</sect2>
- <sect2 id="arrays-io">
+ <sect2 id="arrays-io" xreflabel="Array Input and Output Syntax">
<title>Array Input and Output Syntax</title>
<indexterm>
diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml
index 0571f2a99df..00aa16d8694 100644
--- a/doc/src/sgml/auth-delay.sgml
+++ b/doc/src/sgml/auth-delay.sgml
@@ -21,7 +21,7 @@
<xref linkend="guc-shared-preload-libraries"/> in <filename>postgresql.conf</filename>.
</para>
- <sect2 id="auth-delay-configuration-parameters">
+ <sect2 id="auth-delay-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -54,7 +54,7 @@ auth_delay.milliseconds = '500'
</programlisting>
</sect2>
- <sect2 id="auth-delay-author">
+ <sect2 id="auth-delay-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml
index 15c868021e6..97d17c28cbb 100644
--- a/doc/src/sgml/auto-explain.sgml
+++ b/doc/src/sgml/auto-explain.sgml
@@ -32,7 +32,7 @@ LOAD 'auto_explain';
that.
</para>
- <sect2 id="auto-explain-configuration-parameters">
+ <sect2 id="auto-explain-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<para>
@@ -316,7 +316,7 @@ auto_explain.log_min_duration = '3s'
</programlisting>
</sect2>
- <sect2 id="auto-explain-example">
+ <sect2 id="auto-explain-example" xreflabel="Example">
<title>Example</title>
<programlisting>
@@ -348,7 +348,7 @@ LOG: duration: 3.651 ms plan:
]]></screen>
</sect2>
- <sect2 id="auto-explain-author">
+ <sect2 id="auto-explain-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/backup-manifest.sgml b/doc/src/sgml/backup-manifest.sgml
index 594e216bcba..8f04b54334e 100644
--- a/doc/src/sgml/backup-manifest.sgml
+++ b/doc/src/sgml/backup-manifest.sgml
@@ -25,7 +25,7 @@
in this object are described in the next section.
</para>
- <sect1 id="backup-manifest-toplevel">
+ <sect1 id="backup-manifest-toplevel" xreflabel="Backup Manifest Top-level Object">
<title>Backup Manifest Top-level Object</title>
<para>
@@ -99,7 +99,7 @@
</variablelist>
</sect1>
- <sect1 id="backup-manifest-files">
+ <sect1 id="backup-manifest-files" xreflabel="Backup Manifest File Object">
<title>Backup Manifest File Object</title>
<para>
@@ -178,7 +178,7 @@
</variablelist>
</sect1>
- <sect1 id="backup-manifest-wal-ranges">
+ <sect1 id="backup-manifest-wal-ranges" xreflabel="Backup Manifest WAL Range Object">
<title>Backup Manifest WAL Range Object</title>
<para>
diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index 168444eccc5..cd0b66a3701 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -24,7 +24,7 @@
in the following sections.
</para>
- <sect1 id="backup-dump">
+ <sect1 id="backup-dump" xreflabel="SQL Dump">
<title><acronym>SQL</acronym> Dump</title>
<para>
@@ -101,7 +101,7 @@ pg_dump <replaceable class="parameter">dbname</replaceable> > <replaceable cl
exclusive lock, such as most forms of <command>ALTER TABLE</command>.)
</para>
- <sect2 id="backup-dump-restore">
+ <sect2 id="backup-dump-restore" xreflabel="Restoring the Dump">
<title>Restoring the Dump</title>
<para>
@@ -194,7 +194,7 @@ pg_dump -h <replaceable>host1</replaceable> <replaceable>dbname</replaceable> |
</para>
</sect2>
- <sect2 id="backup-dump-all">
+ <sect2 id="backup-dump-all" xreflabel="Using pg_dumpall">
<title>Using <application>pg_dumpall</application></title>
<para>
@@ -238,7 +238,7 @@ psql -X -f <replaceable class="parameter">dumpfile</replaceable> postgres
</para>
</sect2>
- <sect2 id="backup-dump-large">
+ <sect2 id="backup-dump-large" xreflabel="Handling Large Databases">
<title>Handling Large Databases</title>
<para>
@@ -354,7 +354,7 @@ pg_dump -j <replaceable class="parameter">num</replaceable> -F d -f <replaceable
</sect2>
</sect1>
- <sect1 id="backup-file">
+ <sect1 id="backup-file" xreflabel="File System Level Backup">
<title>File System Level Backup</title>
<para>
@@ -470,7 +470,7 @@ tar -cf backup.tar /usr/local/pgsql/data
</para>
</sect1>
- <sect1 id="continuous-archiving">
+ <sect1 id="continuous-archiving" xreflabel="Continuous Archiving and Point-in-Time Recovery (PITR)">
<title>Continuous Archiving and Point-in-Time Recovery (PITR)</title>
<indexterm zone="backup">
@@ -569,7 +569,7 @@ tar -cf backup.tar /usr/local/pgsql/data
archiving WAL files.
</para>
- <sect2 id="backup-archiving-wal">
+ <sect2 id="backup-archiving-wal" xreflabel="Setting Up WAL Archiving">
<title>Setting Up WAL Archiving</title>
<para>
@@ -802,7 +802,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-base-backup">
+ <sect2 id="backup-base-backup" xreflabel="Making a Base Backup">
<title>Making a Base Backup</title>
<para>
@@ -863,7 +863,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-incremental-backup">
+ <sect2 id="backup-incremental-backup" xreflabel="Making an Incremental Backup">
<title>Making an Incremental Backup</title>
<para>
@@ -944,7 +944,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-lowlevel-base-backup">
+ <sect2 id="backup-lowlevel-base-backup" xreflabel="Making a Base Backup Using the Low Level API">
<title>Making a Base Backup Using the Low Level API</title>
<para>
Instead of taking a full or incremental base backup using
@@ -1174,7 +1174,7 @@ SELECT * FROM pg_backup_stop(wait_for_archive => true);
</sect3>
</sect2>
- <sect2 id="backup-pitr-recovery">
+ <sect2 id="backup-pitr-recovery" xreflabel="Recovering Using a Continuous Archive Backup">
<title>Recovering Using a Continuous Archive Backup</title>
<para>
@@ -1379,7 +1379,7 @@ restore_command = 'cp "/mnt/server/archivedir/%f" "%p"'
</sect2>
- <sect2 id="backup-timelines">
+ <sect2 id="backup-timelines" xreflabel="Timelines">
<title>Timelines</title>
<indexterm zone="backup">
@@ -1457,7 +1457,7 @@ restore_command = 'cp "/mnt/server/archivedir/%f" "%p"'
</para>
</sect2>
- <sect2 id="backup-tips">
+ <sect2 id="backup-tips" xreflabel="Tips and Examples">
<title>Tips and Examples</title>
<para>
@@ -1558,7 +1558,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"'
</sect3>
</sect2>
- <sect2 id="continuous-archiving-caveats">
+ <sect2 id="continuous-archiving-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
diff --git a/doc/src/sgml/basebackup-to-shell.sgml b/doc/src/sgml/basebackup-to-shell.sgml
index b6a3b395414..d8ed6d37b88 100644
--- a/doc/src/sgml/basebackup-to-shell.sgml
+++ b/doc/src/sgml/basebackup-to-shell.sgml
@@ -27,7 +27,7 @@
<xref linkend="guc-local-preload-libraries"/>.
</para>
- <sect2 id="basebackup-to-shell-configuration-parameters">
+ <sect2 id="basebackup-to-shell-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -74,7 +74,7 @@
</variablelist>
</sect2>
- <sect2 id="basebackup-to-shell-author">
+ <sect2 id="basebackup-to-shell-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/basic-archive.sgml b/doc/src/sgml/basic-archive.sgml
index b4d43ced203..90798dc8890 100644
--- a/doc/src/sgml/basic-archive.sgml
+++ b/doc/src/sgml/basic-archive.sgml
@@ -21,7 +21,7 @@
must be enabled.
</para>
- <sect2 id="basic-archive-configuration-parameters">
+ <sect2 id="basic-archive-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -57,7 +57,7 @@ basic_archive.archive_directory = '/path/to/archive/directory'
</programlisting>
</sect2>
- <sect2 id="basic-archive-notes">
+ <sect2 id="basic-archive-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -70,7 +70,7 @@ basic_archive.archive_directory = '/path/to/archive/directory'
</para>
</sect2>
- <sect2 id="basic-archive-author">
+ <sect2 id="basic-archive-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml
index 53a982bf60d..be8f1e22402 100644
--- a/doc/src/sgml/bki.sgml
+++ b/doc/src/sgml/bki.sgml
@@ -69,7 +69,7 @@
the <acronym>BKI</acronym> file format.
</para>
- <sect1 id="system-catalog-declarations">
+ <sect1 id="system-catalog-declarations" xreflabel="System Catalog Declaration Rules">
<title>System Catalog Declaration Rules</title>
<para>
@@ -155,7 +155,7 @@
</para>
</sect1>
- <sect1 id="system-catalog-initial-data">
+ <sect1 id="system-catalog-initial-data" xreflabel="System Catalog Initial Data">
<title>System Catalog Initial Data</title>
<para>
@@ -164,7 +164,7 @@
initial data in an editable format.
</para>
- <sect2 id="system-catalog-initial-data-format">
+ <sect2 id="system-catalog-initial-data-format" xreflabel="Data File Format">
<title>Data File Format</title>
<para>
@@ -336,7 +336,7 @@
</itemizedlist>
</sect2>
- <sect2 id="system-catalog-oid-assignment">
+ <sect2 id="system-catalog-oid-assignment" xreflabel="OID Assignment">
<title>OID Assignment</title>
<para>
@@ -450,7 +450,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-oid-references">
+ <sect2 id="system-catalog-oid-references" xreflabel="OID Reference Lookup">
<title>OID Reference Lookup</title>
<para>
@@ -582,7 +582,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-auto-array-types">
+ <sect2 id="system-catalog-auto-array-types" xreflabel="Automatic Creation of Array Types">
<title>Automatic Creation of Array Types</title>
<para>
@@ -617,7 +617,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-recipes">
+ <sect2 id="system-catalog-recipes" xreflabel="Recipes for Editing Data Files">
<title>Recipes for Editing Data Files</title>
<para>
@@ -756,7 +756,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect2>
</sect1>
- <sect1 id="bki-format">
+ <sect1 id="bki-format" xreflabel="BKI File Format">
<title><acronym>BKI</acronym> File Format</title>
<para>
@@ -784,7 +784,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect1>
- <sect1 id="bki-commands">
+ <sect1 id="bki-commands" xreflabel="BKI Commands">
<title><acronym>BKI</acronym> Commands</title>
<variablelist>
@@ -972,7 +972,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect1>
- <sect1 id="bki-structure">
+ <sect1 id="bki-structure" xreflabel="Structure of the Bootstrap BKI File">
<title>Structure of the Bootstrap <acronym>BKI</acronym> File</title>
<para>
@@ -1058,7 +1058,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</para>
</sect1>
- <sect1 id="bki-example">
+ <sect1 id="bki-example" xreflabel="BKI Example">
<title>BKI Example</title>
<para>
diff --git a/doc/src/sgml/bloom.sgml b/doc/src/sgml/bloom.sgml
index 3f6d38f377b..080dda61146 100644
--- a/doc/src/sgml/bloom.sgml
+++ b/doc/src/sgml/bloom.sgml
@@ -38,7 +38,7 @@
indexes can also perform inequality and range searches.
</para>
- <sect2 id="bloom-parameters">
+ <sect2 id="bloom-parameters" xreflabel="Parameters">
<title>Parameters</title>
<para>
@@ -73,7 +73,7 @@
</variablelist>
</sect2>
- <sect2 id="bloom-examples">
+ <sect2 id="bloom-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -226,7 +226,7 @@ CREATE INDEX
</para>
</sect2>
- <sect2 id="bloom-operator-class-interface">
+ <sect2 id="bloom-operator-class-interface" xreflabel="Operator Class Interface">
<title>Operator Class Interface</title>
<para>
@@ -243,7 +243,7 @@ DEFAULT FOR TYPE text USING bloom AS
</programlisting>
</sect2>
- <sect2 id="bloom-limitations">
+ <sect2 id="bloom-limitations" xreflabel="Limitations">
<title>Limitations</title>
<para>
<itemizedlist>
@@ -279,7 +279,7 @@ DEFAULT FOR TYPE text USING bloom AS
</para>
</sect2>
- <sect2 id="bloom-authors">
+ <sect2 id="bloom-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml
index 64fb520db7e..8cfdd4de8f5 100644
--- a/doc/src/sgml/brin.sgml
+++ b/doc/src/sgml/brin.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/brin.sgml -->
-<sect1 id="brin">
+<sect1 id="brin" xreflabel="BRIN Indexes">
<title>BRIN Indexes</title>
<indexterm>
@@ -64,7 +64,7 @@
be more precise and more data blocks can be skipped during an index scan.
</para>
- <sect3 id="brin-operation">
+ <sect3 id="brin-operation" xreflabel="Index Maintenance">
<title>Index Maintenance</title>
<para>
@@ -743,7 +743,7 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
</tgroup>
</table>
- <sect3 id="brin-builtin-opclasses--parameters">
+ <sect3 id="brin-builtin-opclasses--parameters" xreflabel="Operator Class Parameters">
<title>Operator Class Parameters</title>
<para>
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index 46117209ce5..cc8129cf334 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -38,7 +38,7 @@
on the current database.
</para>
- <sect2 id="btree-gin-example-usage">
+ <sect2 id="btree-gin-example-usage" xreflabel="Example Usage">
<title>Example Usage</title>
<programlisting>
@@ -51,7 +51,7 @@ SELECT * FROM test WHERE a < 10;
</sect2>
- <sect2 id="btree-gin-authors">
+ <sect2 id="btree-gin-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/btree.sgml b/doc/src/sgml/btree.sgml
index 027361f20bb..abf07f9fc24 100644
--- a/doc/src/sgml/btree.sgml
+++ b/doc/src/sgml/btree.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/btree.sgml -->
-<sect1 id="btree">
+<sect1 id="btree" xreflabel="B-Tree Indexes">
<title>B-Tree Indexes</title>
<indexterm>
@@ -626,7 +626,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
distribution for a much more detailed, internals-focused description
of the B-Tree implementation.
</para>
- <sect3 id="btree-structure">
+ <sect3 id="btree-structure" xreflabel="B-Tree Structure">
<title>B-Tree Structure</title>
<para>
<productname>PostgreSQL</productname> B-Tree indexes are
@@ -658,7 +658,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
</para>
</sect3>
- <sect3 id="btree-deletion">
+ <sect3 id="btree-deletion" xreflabel="Bottom-up Index Deletion">
<title>Bottom-up Index Deletion</title>
<para>
B-Tree indexes are not directly aware that under MVCC, there might
@@ -762,7 +762,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
</para>
</sect3>
- <sect3 id="btree-deduplication">
+ <sect3 id="btree-deduplication" xreflabel="Deduplication">
<title>Deduplication</title>
<para>
A duplicate is a leaf page tuple (a tuple that points to a table
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 2fc63442980..2648d462aef 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -23,7 +23,7 @@
of the system catalogs is ever decreasing.
</para>
- <sect1 id="catalogs-overview">
+ <sect1 id="catalogs-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -375,7 +375,7 @@
</sect1>
- <sect1 id="catalog-pg-aggregate">
+ <sect1 id="catalog-pg-aggregate" xreflabel="pg_aggregate">
<title><structname>pg_aggregate</structname></title>
<indexterm zone="catalog-pg-aggregate">
@@ -662,7 +662,7 @@
</sect1>
- <sect1 id="catalog-pg-am">
+ <sect1 id="catalog-pg-am" xreflabel="pg_am">
<title><structname>pg_am</structname></title>
<indexterm zone="catalog-pg-am">
@@ -749,7 +749,7 @@
</sect1>
- <sect1 id="catalog-pg-amop">
+ <sect1 id="catalog-pg-amop" xreflabel="pg_amop">
<title><structname>pg_amop</structname></title>
<indexterm zone="catalog-pg-amop">
@@ -922,7 +922,7 @@
</sect1>
- <sect1 id="catalog-pg-amproc">
+ <sect1 id="catalog-pg-amproc" xreflabel="pg_amproc">
<title><structname>pg_amproc</structname></title>
<indexterm zone="catalog-pg-amproc">
@@ -1026,7 +1026,7 @@
</sect1>
- <sect1 id="catalog-pg-attrdef">
+ <sect1 id="catalog-pg-attrdef" xreflabel="pg_attrdef">
<title><structname>pg_attrdef</structname></title>
<indexterm zone="catalog-pg-attrdef">
@@ -1102,7 +1102,7 @@
</sect1>
- <sect1 id="catalog-pg-attribute">
+ <sect1 id="catalog-pg-attribute" xreflabel="pg_attribute">
<title><structname>pg_attribute</structname></title>
<indexterm zone="catalog-pg-attribute">
@@ -1434,7 +1434,7 @@
</sect1>
- <sect1 id="catalog-pg-authid">
+ <sect1 id="catalog-pg-authid" xreflabel="pg_authid">
<title><structname>pg_authid</structname></title>
<indexterm zone="catalog-pg-authid">
@@ -1633,7 +1633,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-auth-members">
+ <sect1 id="catalog-pg-auth-members" xreflabel="pg_auth_members">
<title><structname>pg_auth_members</structname></title>
<indexterm zone="catalog-pg-auth-members">
@@ -1744,7 +1744,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-cast">
+ <sect1 id="catalog-pg-cast" xreflabel="pg_cast">
<title><structname>pg_cast</structname></title>
<indexterm zone="catalog-pg-cast">
@@ -1883,7 +1883,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-class">
+ <sect1 id="catalog-pg-class" xreflabel="pg_class">
<title><structname>pg_class</structname></title>
<indexterm zone="catalog-pg-class">
@@ -2332,7 +2332,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-collation">
+ <sect1 id="catalog-pg-collation" xreflabel="pg_collation">
<title><structname>pg_collation</structname></title>
<indexterm zone="catalog-pg-collation">
@@ -2513,7 +2513,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-constraint">
+ <sect1 id="catalog-pg-constraint" xreflabel="pg_constraint">
<title><structname>pg_constraint</structname></title>
<indexterm zone="catalog-pg-constraint">
@@ -2873,7 +2873,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-conversion">
+ <sect1 id="catalog-pg-conversion" xreflabel="pg_conversion">
<title><structname>pg_conversion</structname></title>
<indexterm zone="catalog-pg-conversion">
@@ -2983,7 +2983,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-database">
+ <sect1 id="catalog-pg-database" xreflabel="pg_database">
<title><structname>pg_database</structname></title>
<indexterm zone="catalog-pg-database">
@@ -3221,7 +3221,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-db-role-setting">
+ <sect1 id="catalog-pg-db-role-setting" xreflabel="pg_db_role_setting">
<title><structname>pg_db_role_setting</structname></title>
<indexterm zone="catalog-pg-db-role-setting">
@@ -3290,7 +3290,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-default-acl">
+ <sect1 id="catalog-pg-default-acl" xreflabel="pg_default_acl">
<title><structname>pg_default_acl</structname></title>
<indexterm zone="catalog-pg-default-acl">
@@ -3396,7 +3396,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-depend">
+ <sect1 id="catalog-pg-depend" xreflabel="pg_depend">
<title><structname>pg_depend</structname></title>
<indexterm zone="catalog-pg-depend">
@@ -3673,7 +3673,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-description">
+ <sect1 id="catalog-pg-description" xreflabel="pg_description">
<title><structname>pg_description</structname></title>
<indexterm zone="catalog-pg-description">
@@ -3757,7 +3757,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-enum">
+ <sect1 id="catalog-pg-enum" xreflabel="pg_enum">
<title><structname>pg_enum</structname></title>
<indexterm zone="catalog-pg-enum">
@@ -3848,7 +3848,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-event-trigger">
+ <sect1 id="catalog-pg-event-trigger" xreflabel="pg_event_trigger">
<title><structname>pg_event_trigger</structname></title>
<indexterm zone="catalog-pg-event-trigger">
@@ -3951,7 +3951,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-extension">
+ <sect1 id="catalog-pg-extension" xreflabel="pg_extension">
<title><structname>pg_extension</structname></title>
<indexterm zone="catalog-pg-extension">
@@ -4072,7 +4072,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-data-wrapper">
+ <sect1 id="catalog-pg-foreign-data-wrapper" xreflabel="pg_foreign_data_wrapper">
<title><structname>pg_foreign_data_wrapper</structname></title>
<indexterm zone="catalog-pg-foreign-data-wrapper">
@@ -4178,7 +4178,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-server">
+ <sect1 id="catalog-pg-foreign-server" xreflabel="pg_foreign_server">
<title><structname>pg_foreign_server</structname></title>
<indexterm zone="catalog-pg-foreign-server">
@@ -4286,7 +4286,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-table">
+ <sect1 id="catalog-pg-foreign-table" xreflabel="pg_foreign_table">
<title><structname>pg_foreign_table</structname></title>
<indexterm zone="catalog-pg-foreign-table">
@@ -4352,7 +4352,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-index">
+ <sect1 id="catalog-pg-index" xreflabel="pg_index">
<title><structname>pg_index</structname></title>
<indexterm zone="catalog-pg-index">
@@ -4622,7 +4622,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-inherits">
+ <sect1 id="catalog-pg-inherits" xreflabel="pg_inherits">
<title><structname>pg_inherits</structname></title>
<indexterm zone="catalog-pg-inherits">
@@ -4701,7 +4701,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-init-privs">
+ <sect1 id="catalog-pg-init-privs" xreflabel="pg_init_privs">
<title><structname>pg_init_privs</structname></title>
<indexterm zone="catalog-pg-init-privs">
@@ -4809,7 +4809,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-language">
+ <sect1 id="catalog-pg-language" xreflabel="pg_language">
<title><structname>pg_language</structname></title>
<indexterm zone="catalog-pg-language">
@@ -4944,7 +4944,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-largeobject">
+ <sect1 id="catalog-pg-largeobject" xreflabel="pg_largeobject">
<title><structname>pg_largeobject</structname></title>
<indexterm zone="catalog-pg-largeobject">
@@ -5030,7 +5030,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-largeobject-metadata">
+ <sect1 id="catalog-pg-largeobject-metadata" xreflabel="pg_largeobject_metadata">
<title><structname>pg_largeobject_metadata</structname></title>
<indexterm zone="catalog-pg-largeobject-metadata">
@@ -5092,7 +5092,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-namespace">
+ <sect1 id="catalog-pg-namespace" xreflabel="pg_namespace">
<title><structname>pg_namespace</structname></title>
<indexterm zone="catalog-pg-namespace">
@@ -5164,7 +5164,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-opclass">
+ <sect1 id="catalog-pg-opclass" xreflabel="pg_opclass">
<title><structname>pg_opclass</structname></title>
<indexterm zone="catalog-pg-opclass">
@@ -5302,7 +5302,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-operator">
+ <sect1 id="catalog-pg-operator" xreflabel="pg_operator">
<title><structname>pg_operator</structname></title>
<indexterm zone="catalog-pg-operator">
@@ -5486,7 +5486,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-opfamily">
+ <sect1 id="catalog-pg-opfamily" xreflabel="pg_opfamily">
<title><structname>pg_opfamily</structname></title>
<indexterm zone="catalog-pg-opfamily">
@@ -5586,7 +5586,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-parameter-acl">
+ <sect1 id="catalog-pg-parameter-acl" xreflabel="pg_parameter_acl">
<title><structname>pg_parameter_acl</structname></title>
<indexterm zone="catalog-pg-parameter-acl">
@@ -5654,7 +5654,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-partitioned-table">
+ <sect1 id="catalog-pg-partitioned-table" xreflabel="pg_partitioned_table">
<title><structname>pg_partitioned_table</structname></title>
<indexterm zone="catalog-pg-partitioned-table">
@@ -5779,7 +5779,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-policy">
+ <sect1 id="catalog-pg-policy" xreflabel="pg_policy">
<title><structname>pg_policy</structname></title>
<indexterm zone="catalog-pg-policy">
@@ -5905,7 +5905,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-proc">
+ <sect1 id="catalog-pg-proc" xreflabel="pg_proc">
<title><structname>pg_proc</structname></title>
<indexterm zone="catalog-pg-proc">
@@ -6308,7 +6308,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-publication">
+ <sect1 id="catalog-pg-publication" xreflabel="pg_publication">
<title><structname>pg_publication</structname></title>
<indexterm zone="catalog-pg-publication">
@@ -6453,7 +6453,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-publication-namespace">
+ <sect1 id="catalog-pg-publication-namespace" xreflabel="pg_publication_namespace">
<title><structname>pg_publication_namespace</structname></title>
<indexterm zone="catalog-pg-publication-namespace">
@@ -6514,7 +6514,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-publication-rel">
+ <sect1 id="catalog-pg-publication-rel" xreflabel="pg_publication_rel">
<title><structname>pg_publication_rel</structname></title>
<indexterm zone="catalog-pg-publication-rel">
@@ -6598,7 +6598,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-range">
+ <sect1 id="catalog-pg-range" xreflabel="pg_range">
<title><structname>pg_range</structname></title>
<indexterm zone="catalog-pg-range">
@@ -6711,7 +6711,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-replication-origin">
+ <sect1 id="catalog-pg-replication-origin" xreflabel="pg_replication_origin">
<title><structname>pg_replication_origin</structname></title>
<indexterm zone="catalog-pg-replication-origin">
@@ -6770,7 +6770,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-rewrite">
+ <sect1 id="catalog-pg-rewrite" xreflabel="pg_rewrite">
<title><structname>pg_rewrite</structname></title>
<indexterm zone="catalog-pg-rewrite">
@@ -6892,7 +6892,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-seclabel">
+ <sect1 id="catalog-pg-seclabel" xreflabel="pg_seclabel">
<title><structname>pg_seclabel</structname></title>
<indexterm zone="catalog-pg-seclabel">
@@ -6981,7 +6981,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-sequence">
+ <sect1 id="catalog-pg-sequence" xreflabel="pg_sequence">
<title><structname>pg_sequence</structname></title>
<indexterm zone="catalog-pg-sequence">
@@ -7088,7 +7088,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-shdepend">
+ <sect1 id="catalog-pg-shdepend" xreflabel="pg_shdepend">
<title><structname>pg_shdepend</structname></title>
<indexterm zone="catalog-pg-shdepend">
@@ -7283,7 +7283,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-shdescription">
+ <sect1 id="catalog-pg-shdescription" xreflabel="pg_shdescription">
<title><structname>pg_shdescription</structname></title>
<indexterm zone="catalog-pg-shdescription">
@@ -7359,7 +7359,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-shseclabel">
+ <sect1 id="catalog-pg-shseclabel" xreflabel="pg_shseclabel">
<title><structname>pg_shseclabel</structname></title>
<indexterm zone="catalog-pg-shseclabel">
@@ -7443,7 +7443,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-statistic">
+ <sect1 id="catalog-pg-statistic" xreflabel="pg_statistic">
<title><structname>pg_statistic</structname></title>
<indexterm zone="catalog-pg-statistic">
@@ -7651,7 +7651,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-statistic-ext">
+ <sect1 id="catalog-pg-statistic-ext" xreflabel="pg_statistic_ext">
<title><structname>pg_statistic_ext</structname></title>
<indexterm zone="catalog-pg-statistic-ext">
@@ -7799,7 +7799,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-statistic-ext-data">
+ <sect1 id="catalog-pg-statistic-ext-data" xreflabel="pg_statistic_ext_data">
<title><structname>pg_statistic_ext_data</structname></title>
<indexterm zone="catalog-pg-statistic-ext">
@@ -7919,7 +7919,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-subscription">
+ <sect1 id="catalog-pg-subscription" xreflabel="pg_subscription">
<title><structname>pg_subscription</structname></title>
<indexterm zone="catalog-pg-subscription">
@@ -8191,7 +8191,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-subscription-rel">
+ <sect1 id="catalog-pg-subscription-rel" xreflabel="pg_subscription_rel">
<title><structname>pg_subscription_rel</structname></title>
<indexterm zone="catalog-pg-subscription-rel">
@@ -8286,7 +8286,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-tablespace">
+ <sect1 id="catalog-pg-tablespace" xreflabel="pg_tablespace">
<title><structname>pg_tablespace</structname></title>
<indexterm zone="catalog-pg-tablespace">
@@ -8372,7 +8372,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-transform">
+ <sect1 id="catalog-pg-transform" xreflabel="pg_transform">
<title><structname>pg_transform</structname></title>
<indexterm zone="catalog-pg-transform">
@@ -8458,7 +8458,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-trigger">
+ <sect1 id="catalog-pg-trigger" xreflabel="pg_trigger">
<title><structname>pg_trigger</structname></title>
<indexterm zone="catalog-pg-trigger">
@@ -8715,7 +8715,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-config">
+ <sect1 id="catalog-pg-ts-config" xreflabel="pg_ts_config">
<title><structname>pg_ts_config</structname></title>
<indexterm zone="catalog-pg-ts-config">
@@ -8805,7 +8805,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-config-map">
+ <sect1 id="catalog-pg-ts-config-map" xreflabel="pg_ts_config_map">
<title><structname>pg_ts_config_map</structname></title>
<indexterm zone="catalog-pg-ts-config-map">
@@ -8883,7 +8883,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-dict">
+ <sect1 id="catalog-pg-ts-dict" xreflabel="pg_ts_dict">
<title><structname>pg_ts_dict</structname></title>
<indexterm zone="catalog-pg-ts-dict">
@@ -8983,7 +8983,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-parser">
+ <sect1 id="catalog-pg-ts-parser" xreflabel="pg_ts_parser">
<title><structname>pg_ts_parser</structname></title>
<indexterm zone="catalog-pg-ts-parser">
@@ -9101,7 +9101,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-template">
+ <sect1 id="catalog-pg-ts-template" xreflabel="pg_ts_template">
<title><structname>pg_ts_template</structname></title>
<indexterm zone="catalog-pg-ts-template">
@@ -9189,7 +9189,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-type">
+ <sect1 id="catalog-pg-type" xreflabel="pg_type">
<title><structname>pg_type</structname></title>
<indexterm zone="catalog-pg-type">
@@ -9762,7 +9762,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-user-mapping">
+ <sect1 id="catalog-pg-user-mapping" xreflabel="pg_user_mapping">
<title><structname>pg_user_mapping</structname></title>
<indexterm zone="catalog-pg-user-mapping">
diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml
index 3aabc798012..9f2636c90ca 100644
--- a/doc/src/sgml/charset.sgml
+++ b/doc/src/sgml/charset.sgml
@@ -32,7 +32,7 @@
</para>
- <sect1 id="locale">
+ <sect1 id="locale" xreflabel="Locale Support">
<title>Locale Support</title>
<indexterm zone="locale"><primary>locale</primary></indexterm>
@@ -46,7 +46,7 @@
system.
</para>
- <sect2 id="locale-overview">
+ <sect2 id="locale-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -206,7 +206,7 @@ initdb --locale=sv_SE
</para>
</sect2>
- <sect2 id="locale-behavior">
+ <sect2 id="locale-behavior" xreflabel="Behavior">
<title>Behavior</title>
<para>
@@ -276,7 +276,7 @@ initdb --locale=sv_SE
</para>
</sect2>
- <sect2 id="locale-selecting-locales">
+ <sect2 id="locale-selecting-locales" xreflabel="Selecting Locales">
<title>Selecting Locales</title>
<para>
@@ -338,7 +338,7 @@ initdb --locale=sv_SE
</orderedlist>
</sect2>
- <sect2 id="locale-providers">
+ <sect2 id="locale-providers" xreflabel="Locale Providers">
<title>Locale Providers</title>
<para>
@@ -450,7 +450,7 @@ initdb --locale-provider=icu --icu-locale=en
</variablelist>
</sect2>
- <sect2 id="icu-locales">
+ <sect2 id="icu-locales" xreflabel="ICU Locales">
<title>ICU Locales</title>
<sect3 id="icu-locale-names">
@@ -592,7 +592,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
</sect3>
</sect2>
- <sect2 id="locale-problems">
+ <sect2 id="locale-problems" xreflabel="Problems">
<title>Problems</title>
<para>
@@ -641,7 +641,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
</sect1>
- <sect1 id="collation">
+ <sect1 id="collation" xreflabel="Collation Support">
<title>Collation Support</title>
<indexterm zone="collation"><primary>collation</primary></indexterm>
@@ -654,7 +654,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
of a database cannot be changed after its creation.
</para>
- <sect2 id="collation-concepts">
+ <sect2 id="collation-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -815,7 +815,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
</para>
</sect2>
- <sect2 id="collation-managing">
+ <sect2 id="collation-managing" xreflabel="Managing Collations">
<title>Managing Collations</title>
<para>
@@ -963,7 +963,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
</para>
</sect3>
- <sect3 id="collation-managing-predefined">
+ <sect3 id="collation-managing-predefined" xreflabel="Predefined Collations">
<title>Predefined Collations</title>
<para>
@@ -982,7 +982,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
in <application>psql</application>.
</para>
- <sect4 id="collation-managing-predefined-libc">
+ <sect4 id="collation-managing-predefined-libc" xreflabel="libc Collations">
<title>libc Collations</title>
<para>
@@ -1039,7 +1039,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1;
</para>
</sect4>
- <sect4 id="collation-managing-predefined-icu">
+ <sect4 id="collation-managing-predefined-icu" xreflabel="ICU Collations">
<title>ICU Collations</title>
<para>
@@ -1099,7 +1099,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1;
</sect4>
</sect3>
- <sect3 id="collation-create">
+ <sect3 id="collation-create" xreflabel="Creating New Collation Objects">
<title>Creating New Collation Objects</title>
<para>
@@ -1160,7 +1160,7 @@ CREATE COLLATION german (provider = icu, locale = 'de-DE');
linkend="icu-custom-collations"/> for details and examples.
</para>
</sect4>
- <sect4 id="collation-copy">
+ <sect4 id="collation-copy" xreflabel="Copying Collations">
<title>Copying Collations</title>
<para>
@@ -1238,7 +1238,7 @@ CREATE COLLATION ignore_accents (provider = icu, locale = 'und-u-ks-level1-kc-tr
</sect3>
</sect2>
- <sect2 id="icu-custom-collations">
+ <sect2 id="icu-custom-collations" xreflabel="ICU Custom Collations">
<title>ICU Custom Collations</title>
<para>
@@ -1752,7 +1752,7 @@ ORDER BY c COLLATE ebcdic;
</sect2>
</sect1>
- <sect1 id="multibyte">
+ <sect1 id="multibyte" xreflabel="Character Set Support">
<title>Character Set Support</title>
<indexterm zone="multibyte"><primary>character set</primary></indexterm>
diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml
index 8322885661e..b9125c93cca 100644
--- a/doc/src/sgml/citext.sgml
+++ b/doc/src/sgml/citext.sgml
@@ -30,7 +30,7 @@
on the current database.
</para>
- <sect2 id="citext-rationale">
+ <sect2 id="citext-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -84,7 +84,7 @@ SELECT * FROM tab WHERE lower(col) = LOWER(?);
</sect2>
- <sect2 id="citext-how-to-use-it">
+ <sect2 id="citext-how-to-use-it" xreflabel="How to Use It">
<title>How to Use It</title>
<para>
@@ -111,7 +111,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</para>
</sect2>
- <sect2 id="citext-string-comparison-behavior">
+ <sect2 id="citext-string-comparison-behavior" xreflabel="String Comparison Behavior">
<title>String Comparison Behavior</title>
<para>
@@ -196,7 +196,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</sect2>
- <sect2 id="citext-limitations">
+ <sect2 id="citext-limitations" xreflabel="Limitations">
<title>Limitations</title>
<itemizedlist>
@@ -277,7 +277,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</itemizedlist>
</sect2>
- <sect2 id="citext-author">
+ <sect2 id="citext-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml
index a347ee18980..fe125d093d2 100644
--- a/doc/src/sgml/client-auth.sgml
+++ b/doc/src/sgml/client-auth.sgml
@@ -54,7 +54,7 @@
database user names and OS user names.
</para>
- <sect1 id="auth-pg-hba-conf">
+ <sect1 id="auth-pg-hba-conf" xreflabel="The pg_hba.conf File">
<title>The <filename>pg_hba.conf</filename> File</title>
<indexterm zone="auth-pg-hba-conf">
@@ -903,7 +903,7 @@ local db1,db2,@demodbs all scram-sha-256
</example>
</sect1>
- <sect1 id="auth-username-maps">
+ <sect1 id="auth-username-maps" xreflabel="User Name Maps">
<title>User Name Maps</title>
<indexterm zone="auth-username-maps">
@@ -1070,7 +1070,7 @@ omicron bryanh guest1
</example>
</sect1>
- <sect1 id="auth-methods">
+ <sect1 id="auth-methods" xreflabel="Authentication Methods">
<title>Authentication Methods</title>
<para>
@@ -1177,7 +1177,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-trust">
+ <sect1 id="auth-trust" xreflabel="Trust Authentication">
<title>Trust Authentication</title>
<para>
@@ -1225,7 +1225,7 @@ omicron bryanh guest1
</sect1>
- <sect1 id="auth-password">
+ <sect1 id="auth-password" xreflabel="Password Authentication">
<title>Password Authentication</title>
<indexterm>
@@ -1358,7 +1358,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="gssapi-auth">
+ <sect1 id="gssapi-auth" xreflabel="GSSAPI Authentication">
<title>GSSAPI Authentication</title>
<indexterm zone="gssapi-auth">
@@ -1524,7 +1524,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="sspi-auth">
+ <sect1 id="sspi-auth" xreflabel="SSPI Authentication">
<title>SSPI Authentication</title>
<indexterm zone="sspi-auth">
@@ -1644,7 +1644,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-ident">
+ <sect1 id="auth-ident" xreflabel="Ident Authentication">
<title>Ident Authentication</title>
<indexterm>
@@ -1726,7 +1726,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-peer">
+ <sect1 id="auth-peer" xreflabel="Peer Authentication">
<title>Peer Authentication</title>
<indexterm>
@@ -1767,7 +1767,7 @@ omicron bryanh guest1
</sect1>
- <sect1 id="auth-ldap">
+ <sect1 id="auth-ldap" xreflabel="LDAP Authentication">
<title>LDAP Authentication</title>
<indexterm zone="auth-ldap">
@@ -2096,7 +2096,7 @@ host ... ldap ldapbasedn="dc=example,dc=net"
</sect1>
- <sect1 id="auth-radius">
+ <sect1 id="auth-radius" xreflabel="RADIUS Authentication">
<title>RADIUS Authentication</title>
<indexterm zone="auth-radius">
@@ -2208,7 +2208,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="auth-cert">
+ <sect1 id="auth-cert" xreflabel="Certificate Authentication">
<title>Certificate Authentication</title>
<indexterm zone="auth-cert">
@@ -2252,7 +2252,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="auth-pam">
+ <sect1 id="auth-pam" xreflabel="PAM Authentication">
<title>PAM Authentication</title>
<indexterm zone="auth-pam">
@@ -2310,7 +2310,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</note>
</sect1>
- <sect1 id="auth-bsd">
+ <sect1 id="auth-bsd" xreflabel="BSD Authentication">
<title>BSD Authentication</title>
<indexterm zone="auth-bsd">
@@ -2345,7 +2345,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</note>
</sect1>
- <sect1 id="auth-oauth">
+ <sect1 id="auth-oauth" xreflabel="OAuth Authorization/Authentication">
<title>OAuth Authorization/Authentication</title>
<indexterm zone="auth-oauth">
@@ -2581,7 +2581,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="client-authentication-problems">
+ <sect1 id="client-authentication-problems" xreflabel="Authentication Problems">
<title>Authentication Problems</title>
<para>
diff --git a/doc/src/sgml/color.sgml b/doc/src/sgml/color.sgml
index 5b782f7cc27..7a0756ebb4d 100644
--- a/doc/src/sgml/color.sgml
+++ b/doc/src/sgml/color.sgml
@@ -12,7 +12,7 @@
output. This appendix describes how that is configured.
</para>
- <sect1 id="color-when">
+ <sect1 id="color-when" xreflabel="When Color is Used">
<title>When Color is Used</title>
<para>
@@ -43,7 +43,7 @@
</para>
</sect1>
- <sect1 id="color-which">
+ <sect1 id="color-which" xreflabel="Configuring the Colors">
<title>Configuring the Colors</title>
<para>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 1c23538d3c5..8b548352b63 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -15,7 +15,7 @@
discuss each parameter in detail.
</para>
- <sect1 id="config-setting">
+ <sect1 id="config-setting" xreflabel="Setting Parameters">
<title>Setting Parameters</title>
<sect2 id="config-setting-names-values">
@@ -499,7 +499,7 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-file-locations">
+ <sect1 id="runtime-config-file-locations" xreflabel="File Locations">
<title>File Locations</title>
<para>
@@ -633,7 +633,7 @@ include_dir 'conf.d'
</para>
</sect1>
- <sect1 id="runtime-config-connection">
+ <sect1 id="runtime-config-connection" xreflabel="Connections and Authentication">
<title>Connections and Authentication</title>
<sect2 id="runtime-config-connection-settings">
@@ -1704,7 +1704,7 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-resource">
+ <sect1 id="runtime-config-resource" xreflabel="Resource Consumption">
<title>Resource Consumption</title>
<sect2 id="runtime-config-resource-memory">
@@ -2981,7 +2981,7 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-wal">
+ <sect1 id="runtime-config-wal" xreflabel="Write Ahead Log">
<title>Write Ahead Log</title>
<para>
@@ -4464,7 +4464,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</sect1>
- <sect1 id="runtime-config-replication">
+ <sect1 id="runtime-config-replication" xreflabel="Replication">
<title>Replication</title>
<para>
@@ -5423,7 +5423,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</sect1>
- <sect1 id="runtime-config-query">
+ <sect1 id="runtime-config-query" xreflabel="Query Planning">
<title>Query Planning</title>
<sect2 id="runtime-config-query-enable">
@@ -6593,7 +6593,7 @@ SELECT * FROM parent WHERE key = 2400;
</sect2>
</sect1>
- <sect1 id="runtime-config-logging">
+ <sect1 id="runtime-config-logging" xreflabel="Error Reporting and Logging">
<title>Error Reporting and Logging</title>
<indexterm zone="runtime-config-logging">
@@ -8598,7 +8598,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-statistics">
+ <sect1 id="runtime-config-statistics" xreflabel="Run-time Statistics">
<title>Run-time Statistics</title>
<sect2 id="runtime-config-cumulative-statistics">
@@ -8907,7 +8907,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-vacuum">
+ <sect1 id="runtime-config-vacuum" xreflabel="Vacuuming">
<title>Vacuuming</title>
<indexterm>
@@ -9673,7 +9673,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-client">
+ <sect1 id="runtime-config-client" xreflabel="Client Connection Defaults">
<title>Client Connection Defaults</title>
<sect2 id="runtime-config-client-statement">
@@ -11187,7 +11187,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect2>
</sect1>
- <sect1 id="runtime-config-locks">
+ <sect1 id="runtime-config-locks" xreflabel="Lock Management">
<title>Lock Management</title>
<variablelist>
@@ -11334,7 +11334,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</variablelist>
</sect1>
- <sect1 id="runtime-config-compatible">
+ <sect1 id="runtime-config-compatible" xreflabel="Version and Platform Compatibility">
<title>Version and Platform Compatibility</title>
<sect2 id="runtime-config-compatible-version">
@@ -11626,7 +11626,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect2>
</sect1>
- <sect1 id="runtime-config-error-handling">
+ <sect1 id="runtime-config-error-handling" xreflabel="Error Handling">
<title>Error Handling</title>
<variablelist>
@@ -11746,7 +11746,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect1>
- <sect1 id="runtime-config-preset">
+ <sect1 id="runtime-config-preset" xreflabel="Preset Options">
<title>Preset Options</title>
<para>
@@ -12113,7 +12113,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</variablelist>
</sect1>
- <sect1 id="runtime-config-custom">
+ <sect1 id="runtime-config-custom" xreflabel="Customized Options">
<title>Customized Options</title>
<para>
@@ -12142,7 +12142,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</para>
</sect1>
- <sect1 id="runtime-config-developer">
+ <sect1 id="runtime-config-developer" xreflabel="Developer Options">
<title>Developer Options</title>
<para>
@@ -12981,7 +12981,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</variablelist>
</sect1>
- <sect1 id="runtime-config-short">
+ <sect1 id="runtime-config-short" xreflabel="Short Options">
<title>Short Options</title>
<para>
diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml
index 6fa9479d1b9..e71963ec58c 100644
--- a/doc/src/sgml/contrib-spi.sgml
+++ b/doc/src/sgml/contrib-spi.sgml
@@ -24,7 +24,7 @@
separately-installable extension.
</para>
- <sect2 id="contrib-spi-refint">
+ <sect2 id="contrib-spi-refint" xreflabel="refint — Functions for Implementing Referential Integrity">
<title>refint — Functions for Implementing Referential Integrity</title>
<para>
@@ -75,7 +75,7 @@
</para>
</sect2>
- <sect2 id="contrib-spi-autoinc">
+ <sect2 id="contrib-spi-autoinc" xreflabel="autoinc — Functions for Autoincrementing Fields">
<title>autoinc — Functions for Autoincrementing Fields</title>
<para>
@@ -104,7 +104,7 @@
</sect2>
- <sect2 id="contrib-spi-insert-username">
+ <sect2 id="contrib-spi-insert-username" xreflabel="insert_username — Functions for Tracking Who Changed a Table">
<title>insert_username — Functions for Tracking Who Changed a Table</title>
<para>
@@ -125,7 +125,7 @@
</sect2>
- <sect2 id="contrib-spi-moddatetime">
+ <sect2 id="contrib-spi-moddatetime" xreflabel="moddatetime — Functions for Tracking Last Modification Time">
<title>moddatetime — Functions for Tracking Last Modification Time</title>
<para>
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 24b706b29ad..34b5a48d085 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -207,7 +207,7 @@ pages.
other program.
</para>
- <sect1 id="contrib-prog-client">
+ <sect1 id="contrib-prog-client" xreflabel="Client Applications">
<title>Client Applications</title>
<para>
@@ -223,7 +223,7 @@ pages.
&vacuumlo;
</sect1>
- <sect1 id="contrib-prog-server">
+ <sect1 id="contrib-prog-server" xreflabel="Server Applications">
<title>Server Applications</title>
<para>
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index a11c0cbd767..141d8e55c7f 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -18,7 +18,7 @@
on the current database.
</para>
- <sect2 id="cube-syntax">
+ <sect2 id="cube-syntax" xreflabel="Syntax">
<title>Syntax</title>
<para>
@@ -99,7 +99,7 @@
</para>
</sect2>
- <sect2 id="cube-precision">
+ <sect2 id="cube-precision" xreflabel="Precision">
<title>Precision</title>
<para>
@@ -108,7 +108,7 @@
</para>
</sect2>
- <sect2 id="cube-usage">
+ <sect2 id="cube-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -533,7 +533,7 @@ SELECT c FROM test ORDER BY c ~> 3 DESC LIMIT 5;
</table>
</sect2>
- <sect2 id="cube-defaults">
+ <sect2 id="cube-defaults" xreflabel="Defaults">
<title>Defaults</title>
<para>
@@ -587,7 +587,7 @@ t
</programlisting>
</sect2>
- <sect2 id="cube-notes">
+ <sect2 id="cube-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -601,7 +601,7 @@ t
</para>
</sect2>
- <sect2 id="cube-credits">
+ <sect2 id="cube-credits" xreflabel="Credits">
<title>Credits</title>
<para>
diff --git a/doc/src/sgml/custom-scan.sgml b/doc/src/sgml/custom-scan.sgml
index a200d502cdd..dde182f224a 100644
--- a/doc/src/sgml/custom-scan.sgml
+++ b/doc/src/sgml/custom-scan.sgml
@@ -31,7 +31,7 @@
the same relation.
</para>
- <sect1 id="custom-scan-path">
+ <sect1 id="custom-scan-path" xreflabel="Creating Custom Scan Paths">
<title>Creating Custom Scan Paths</title>
<para>
@@ -131,7 +131,7 @@ extern PGDLLIMPORT set_join_pathlist_hook_type set_join_pathlist_hook;
by the planner as the best path for the <literal>joinrel</literal>.
</para>
- <sect2 id="custom-scan-path-callbacks">
+ <sect2 id="custom-scan-path-callbacks" xreflabel="Custom Scan Path Callbacks">
<title>Custom Scan Path Callbacks</title>
<para>
@@ -167,7 +167,7 @@ List *(*ReparameterizeCustomPathByChild) (PlannerInfo *root,
</sect2>
</sect1>
- <sect1 id="custom-scan-plan">
+ <sect1 id="custom-scan-plan" xreflabel="Creating Custom Scan Plans">
<title>Creating Custom Scan Plans</title>
<para>
@@ -230,7 +230,7 @@ typedef struct CustomScan
for a <structname>CustomPath</structname> or <structname>CustomScanState</structname>.
</para>
- <sect2 id="custom-scan-plan-callbacks">
+ <sect2 id="custom-scan-plan-callbacks" xreflabel="Custom Scan Plan Callbacks">
<title>Custom Scan Plan Callbacks</title>
<para>
<programlisting>
@@ -249,7 +249,7 @@ Node *(*CreateCustomScanState) (CustomScan *cscan);
</sect2>
</sect1>
- <sect1 id="custom-scan-execution">
+ <sect1 id="custom-scan-execution" xreflabel="Executing Custom Scans">
<title>Executing Custom Scans</title>
<para>
@@ -279,7 +279,7 @@ typedef struct CustomScanState
structure embedding the above as its first member.
</para>
- <sect2 id="custom-scan-execution-callbacks">
+ <sect2 id="custom-scan-execution-callbacks" xreflabel="Custom Scan Execution Callbacks">
<title>Custom Scan Execution Callbacks</title>
<para>
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index e5267a8e4be..c9bf8252696 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -335,7 +335,7 @@
the original input.
</para>
- <sect1 id="datatype-numeric">
+ <sect1 id="datatype-numeric" xreflabel="Numeric Types">
<title>Numeric Types</title>
<indexterm zone="datatype-numeric">
@@ -1038,7 +1038,7 @@ ALTER SEQUENCE <replaceable class="parameter">tablename</replaceable>_<replaceab
</sect2>
</sect1>
- <sect1 id="datatype-money">
+ <sect1 id="datatype-money" xreflabel="Monetary Types">
<title>Monetary Types</title>
<para>
@@ -1122,7 +1122,7 @@ SELECT '52093.89'::money::numeric::float8;
</sect1>
- <sect1 id="datatype-character">
+ <sect1 id="datatype-character" xreflabel="Character Types">
<title>Character Types</title>
<indexterm zone="datatype-character">
@@ -1403,7 +1403,7 @@ SELECT b, char_length(b) FROM test2;
</sect1>
- <sect1 id="datatype-binary">
+ <sect1 id="datatype-binary" xreflabel="Binary Data Types">
<title>Binary Data Types</title>
<indexterm zone="datatype-binary">
@@ -1478,7 +1478,7 @@ SELECT b, char_length(b) FROM test2;
mostly the same.
</para>
- <sect2 id="datatype-binary-bytea-hex-format">
+ <sect2 id="datatype-binary-bytea-hex-format" xreflabel="bytea Hex Format">
<title><type>bytea</type> Hex Format</title>
<para>
@@ -1510,7 +1510,7 @@ SELECT '\xDEADBEEF'::bytea;
</para>
</sect2>
- <sect2 id="datatype-binary-bytea-escape-format">
+ <sect2 id="datatype-binary-bytea-escape-format" xreflabel="bytea Escape Format">
<title><type>bytea</type> Escape Format</title>
<para>
@@ -1706,7 +1706,7 @@ SELECT 'abc \153\154\155 \052\251\124'::bytea;
</sect1>
- <sect1 id="datatype-datetime">
+ <sect1 id="datatype-datetime" xreflabel="Date/Time Types">
<title>Date/Time Types</title>
<indexterm zone="datatype-datetime">
@@ -3023,7 +3023,7 @@ SELECT '2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::interval;
ISO 8601 standard.
</para>
- <table id="interval-style-output-table">
+ <table id="interval-style-output-table" xreflabel="Interval Output Style Examples">
<title>Interval Output Style Examples</title>
<tgroup cols="4">
<thead>
@@ -3067,7 +3067,7 @@ SELECT '2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::interval;
</sect1>
- <sect1 id="datatype-boolean">
+ <sect1 id="datatype-boolean" xreflabel="Boolean Type">
<title>Boolean Type</title>
<indexterm zone="datatype-boolean">
@@ -3188,7 +3188,7 @@ SELECT * FROM test1 WHERE a;
</para>
</sect1>
- <sect1 id="datatype-enum">
+ <sect1 id="datatype-enum" xreflabel="Enumerated Types">
<title>Enumerated Types</title>
<indexterm zone="datatype-enum">
@@ -3350,7 +3350,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</sect2>
</sect1>
- <sect1 id="datatype-geometric">
+ <sect1 id="datatype-geometric" xreflabel="Geometric Types">
<title>Geometric Types</title>
<para>
@@ -3686,7 +3686,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</sect1>
- <sect1 id="datatype-net-types">
+ <sect1 id="datatype-net-types" xreflabel="Network Address Types">
<title>Network Address Types</title>
<indexterm zone="datatype-net-types">
@@ -4062,7 +4062,7 @@ SELECT macaddr8_set7bit('08:00:2b:01:02:03');
</sect1>
- <sect1 id="datatype-bit">
+ <sect1 id="datatype-bit" xreflabel="Bit String Types">
<title>Bit String Types</title>
<indexterm zone="datatype-bit">
@@ -4138,7 +4138,7 @@ SELECT * FROM test;
</para>
</sect1>
- <sect1 id="datatype-textsearch">
+ <sect1 id="datatype-textsearch" xreflabel="Text Search Types">
<title>Text Search Types</title>
<indexterm zone="datatype-textsearch">
@@ -4385,7 +4385,7 @@ SELECT to_tsvector( 'postgraduate' ), to_tsquery( 'postgres:*' );
</sect1>
- <sect1 id="datatype-uuid">
+ <sect1 id="datatype-uuid" xreflabel="UUID Type">
<title><acronym>UUID</acronym> Type</title>
<indexterm zone="datatype-uuid">
@@ -4445,7 +4445,7 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
</para>
</sect1>
- <sect1 id="datatype-xml">
+ <sect1 id="datatype-xml" xreflabel="XML Type">
<title><acronym>XML</acronym> Type</title>
<indexterm zone="datatype-xml">
@@ -4616,7 +4616,7 @@ SET xmloption TO { DOCUMENT | CONTENT };
</caution>
</sect2>
- <sect2 id="datatype-xml-accessing-xml-values">
+ <sect2 id="datatype-xml-accessing-xml-values" xreflabel="Accessing XML Values">
<title>Accessing XML Values</title>
<para>
@@ -4659,7 +4659,7 @@ SET xmloption TO { DOCUMENT | CONTENT };
&rangetypes;
- <sect1 id="domains">
+ <sect1 id="domains" xreflabel="Domain Types">
<title>Domain Types</title>
<indexterm zone="domains">
@@ -4712,7 +4712,7 @@ INSERT INTO mytable VALUES(-1); -- fails
</para>
</sect1>
- <sect1 id="datatype-oid">
+ <sect1 id="datatype-oid" xreflabel="Object Identifier Types">
<title>Object Identifier Types</title>
<indexterm zone="datatype-oid">
@@ -5093,7 +5093,7 @@ WHERE ...
</para>
</sect1>
- <sect1 id="datatype-pg-lsn">
+ <sect1 id="datatype-pg-lsn" xreflabel="pg_lsn Type">
<title><type>pg_lsn</type> Type</title>
<indexterm zone="datatype-pg-lsn">
@@ -5125,7 +5125,7 @@ WHERE ...
</para>
</sect1>
- <sect1 id="datatype-pseudo">
+ <sect1 id="datatype-pseudo" xreflabel="Pseudo-Types">
<title>Pseudo-Types</title>
<indexterm zone="datatype-pseudo">
diff --git a/doc/src/sgml/datetime.sgml b/doc/src/sgml/datetime.sgml
index 5905f5fa550..7dddfd006b1 100644
--- a/doc/src/sgml/datetime.sgml
+++ b/doc/src/sgml/datetime.sgml
@@ -20,7 +20,7 @@
dates and times.
</para>
- <sect1 id="datetime-input-rules">
+ <sect1 id="datetime-input-rules" xreflabel="Date/Time Input Interpretation">
<title>Date/Time Input Interpretation</title>
<para>
@@ -177,7 +177,7 @@
</sect1>
- <sect1 id="datetime-invalid-input">
+ <sect1 id="datetime-invalid-input" xreflabel="Handling of Invalid or Ambiguous Timestamps">
<title>Handling of Invalid or Ambiguous Timestamps</title>
<para>
@@ -252,7 +252,7 @@
</sect1>
- <sect1 id="datetime-keywords">
+ <sect1 id="datetime-keywords" xreflabel="Date/Time Key Words">
<title>Date/Time Key Words</title>
<para>
@@ -413,7 +413,7 @@
</table>
</sect1>
- <sect1 id="datetime-config-files">
+ <sect1 id="datetime-config-files" xreflabel="Date/Time Configuration Files">
<title>Date/Time Configuration Files</title>
<indexterm>
@@ -587,7 +587,7 @@
</sect1>
- <sect1 id="datetime-posix-timezone-specs">
+ <sect1 id="datetime-posix-timezone-specs" xreflabel="POSIX Time Zone Specifications">
<title><acronym>POSIX</acronym> Time Zone Specifications</title>
<indexterm zone="datetime-posix-timezone-specs">
@@ -789,7 +789,7 @@
</sect1>
- <sect1 id="datetime-units-history">
+ <sect1 id="datetime-units-history" xreflabel="History of Units">
<title>History of Units</title>
<indexterm zone="datetime-units-history">
@@ -899,7 +899,7 @@ $ <userinput>cal 9 1752</userinput>
</sect1>
- <sect1 id="datetime-julian-dates">
+ <sect1 id="datetime-julian-dates" xreflabel="Julian Dates">
<title>Julian Dates</title>
<indexterm zone="datetime-julian-dates">
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index cea28c00f8a..55161398db2 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -16,7 +16,7 @@
triggers.
</para>
- <sect1 id="ddl-basics">
+ <sect1 id="ddl-basics" xreflabel="Table Basics">
<title>Table Basics</title>
<indexterm zone="ddl-basics">
@@ -168,7 +168,7 @@ DROP TABLE products;
</para>
</sect1>
- <sect1 id="ddl-default">
+ <sect1 id="ddl-default" xreflabel="Default Values">
<title>Default Values</title>
<indexterm zone="ddl-default">
@@ -233,7 +233,7 @@ CREATE TABLE products (
</para>
</sect1>
- <sect1 id="ddl-identity-columns">
+ <sect1 id="ddl-identity-columns" xreflabel="Identity Columns">
<title>Identity Columns</title>
<indexterm zone="ddl-identity-columns">
@@ -345,7 +345,7 @@ INSERT INTO people (id, name, address) VALUES (<emphasis>DEFAULT</emphasis>, 'C'
</para>
</sect1>
- <sect1 id="ddl-generated-columns">
+ <sect1 id="ddl-generated-columns" xreflabel="Generated Columns">
<title>Generated Columns</title>
<indexterm zone="ddl-generated-columns">
@@ -562,7 +562,7 @@ CREATE TABLE people (
</para>
</sect1>
- <sect1 id="ddl-constraints">
+ <sect1 id="ddl-constraints" xreflabel="Constraints">
<title>Constraints</title>
<indexterm zone="ddl-constraints">
@@ -588,7 +588,7 @@ CREATE TABLE people (
even if the value came from the default value definition.
</para>
- <sect2 id="ddl-constraints-check-constraints">
+ <sect2 id="ddl-constraints-check-constraints" xreflabel="Check Constraints">
<title>Check Constraints</title>
<indexterm>
@@ -787,7 +787,7 @@ CREATE TABLE products (
</note>
</sect2>
- <sect2 id="ddl-constraints-not-null">
+ <sect2 id="ddl-constraints-not-null" xreflabel="Not-Null Constraints">
<title>Not-Null Constraints</title>
<indexterm>
@@ -890,7 +890,7 @@ CREATE TABLE products (
</tip>
</sect2>
- <sect2 id="ddl-constraints-unique-constraints">
+ <sect2 id="ddl-constraints-unique-constraints" xreflabel="Unique Constraints">
<title>Unique Constraints</title>
<indexterm>
@@ -999,7 +999,7 @@ CREATE TABLE products (
</para>
</sect2>
- <sect2 id="ddl-constraints-primary-keys">
+ <sect2 id="ddl-constraints-primary-keys" xreflabel="Primary Keys">
<title>Primary Keys</title>
<indexterm>
@@ -1074,7 +1074,7 @@ CREATE TABLE example (
</para>
</sect2>
- <sect2 id="ddl-constraints-fk">
+ <sect2 id="ddl-constraints-fk" xreflabel="Foreign Keys">
<title>Foreign Keys</title>
<indexterm>
@@ -1409,7 +1409,7 @@ CREATE TABLE posts (
</para>
</sect2>
- <sect2 id="ddl-constraints-exclusion">
+ <sect2 id="ddl-constraints-exclusion" xreflabel="Exclusion Constraints">
<title>Exclusion Constraints</title>
<indexterm>
@@ -1446,7 +1446,7 @@ CREATE TABLE circles (
</sect2>
</sect1>
- <sect1 id="ddl-system-columns">
+ <sect1 id="ddl-system-columns" xreflabel="System Columns">
<title>System Columns</title>
<para>
@@ -1585,7 +1585,7 @@ CREATE TABLE circles (
</para>
</sect1>
- <sect1 id="ddl-temporal-tables">
+ <sect1 id="ddl-temporal-tables" xreflabel="Temporal Tables">
<title>Temporal Tables</title>
<indexterm zone="ddl-temporal-tables">
@@ -1601,7 +1601,7 @@ CREATE TABLE circles (
to express and manage such histories in temporal tables.
</para>
- <sect2 id="ddl-application-time">
+ <sect2 id="ddl-application-time" xreflabel="Application Time">
<title>Application Time</title>
<indexterm zone="ddl-application-time">
@@ -1855,7 +1855,7 @@ CREATE TABLE variants (
</sect3>
</sect2>
- <sect2 id="ddl-system-time">
+ <sect2 id="ddl-system-time" xreflabel="System Time">
<title>System Time</title>
<indexterm zone="ddl-system-time">
@@ -1876,7 +1876,7 @@ CREATE TABLE variants (
</sect2>
</sect1>
- <sect1 id="ddl-alter">
+ <sect1 id="ddl-alter" xreflabel="Modifying Tables">
<title>Modifying Tables</title>
<indexterm zone="ddl-alter">
@@ -1932,7 +1932,7 @@ CREATE TABLE variants (
here.
</para>
- <sect2 id="ddl-alter-adding-a-column">
+ <sect2 id="ddl-alter-adding-a-column" xreflabel="Adding a Column">
<title>Adding a Column</title>
<indexterm>
@@ -1986,7 +1986,7 @@ ALTER TABLE products ADD COLUMN description text CHECK (description <> '')
</sect2>
- <sect2 id="ddl-alter-removing-a-column">
+ <sect2 id="ddl-alter-removing-a-column" xreflabel="Removing a Column">
<title>Removing a Column</title>
<indexterm>
@@ -2013,7 +2013,7 @@ ALTER TABLE products DROP COLUMN description CASCADE;
</para>
</sect2>
- <sect2 id="ddl-alter-adding-a-constraint">
+ <sect2 id="ddl-alter-adding-a-constraint" xreflabel="Adding a Constraint">
<title>Adding a Constraint</title>
<indexterm>
@@ -2046,7 +2046,7 @@ ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
</para>
</sect2>
- <sect2 id="ddl-alter-removing-a-constraint">
+ <sect2 id="ddl-alter-removing-a-constraint" xreflabel="Removing a Constraint">
<title>Removing a Constraint</title>
<indexterm>
@@ -2087,7 +2087,7 @@ ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
</para>
</sect2>
- <sect2 id="ddl-alter-column-default">
+ <sect2 id="ddl-alter-column-default" xreflabel="Changing a Column's Default Value">
<title>Changing a Column's Default Value</title>
<indexterm>
@@ -2116,7 +2116,7 @@ ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
</para>
</sect2>
- <sect2 id="ddl-alter-column-type">
+ <sect2 id="ddl-alter-column-type" xreflabel="Changing a Column's Data Type">
<title>Changing a Column's Data Type</title>
<indexterm>
@@ -2145,7 +2145,7 @@ ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
</para>
</sect2>
- <sect2 id="ddl-alter-renaming-column">
+ <sect2 id="ddl-alter-renaming-column" xreflabel="Renaming a Column">
<title>Renaming a Column</title>
<indexterm>
@@ -2161,7 +2161,7 @@ ALTER TABLE products RENAME COLUMN product_no TO product_number;
</para>
</sect2>
- <sect2 id="ddl-alter-renaming-table">
+ <sect2 id="ddl-alter-renaming-table" xreflabel="Renaming a Table">
<title>Renaming a Table</title>
<indexterm>
@@ -2178,7 +2178,7 @@ ALTER TABLE products RENAME TO items;
</sect2>
</sect1>
- <sect1 id="ddl-priv">
+ <sect1 id="ddl-priv" xreflabel="Privileges">
<title>Privileges</title>
<indexterm zone="ddl-priv">
@@ -2888,7 +2888,7 @@ GRANT SELECT (col1), UPDATE (col1) ON mytable TO miriam_rw;
</para>
</sect1>
- <sect1 id="ddl-rowsecurity">
+ <sect1 id="ddl-rowsecurity" xreflabel="Row Security Policies">
<title>Row Security Policies</title>
<indexterm zone="ddl-rowsecurity">
@@ -3354,7 +3354,7 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE;
</sect1>
- <sect1 id="ddl-schemas">
+ <sect1 id="ddl-schemas" xreflabel="Schemas">
<title>Schemas</title>
<indexterm zone="ddl-schemas">
@@ -3425,7 +3425,7 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE;
except that schemas cannot be nested.
</para>
- <sect2 id="ddl-schemas-create">
+ <sect2 id="ddl-schemas-create" xreflabel="Creating a Schema">
<title>Creating a Schema</title>
<indexterm zone="ddl-schemas-create">
@@ -3521,7 +3521,7 @@ CREATE SCHEMA <replaceable>schema_name</replaceable> AUTHORIZATION <replaceable>
</para>
</sect2>
- <sect2 id="ddl-schemas-public">
+ <sect2 id="ddl-schemas-public" xreflabel="The Public Schema">
<title>The Public Schema</title>
<indexterm zone="ddl-schemas-public">
@@ -3544,7 +3544,7 @@ CREATE TABLE public.products ( ... );
</para>
</sect2>
- <sect2 id="ddl-schemas-path">
+ <sect2 id="ddl-schemas-path" xreflabel="The Schema Search Path">
<title>The Schema Search Path</title>
<indexterm>
@@ -3678,7 +3678,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</para>
</sect2>
- <sect2 id="ddl-schemas-priv">
+ <sect2 id="ddl-schemas-priv" xreflabel="Schemas and Privileges">
<title>Schemas and Privileges</title>
<indexterm zone="ddl-schemas-priv">
@@ -3714,7 +3714,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-catalog">
+ <sect2 id="ddl-schemas-catalog" xreflabel="The System Catalog Schema">
<title>The System Catalog Schema</title>
<indexterm zone="ddl-schemas-catalog">
@@ -3748,7 +3748,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-patterns">
+ <sect2 id="ddl-schemas-patterns" xreflabel="Usage Patterns">
<title>Usage Patterns</title>
<para>
@@ -3837,7 +3837,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-portability">
+ <sect2 id="ddl-schemas-portability" xreflabel="Portability">
<title>Portability</title>
<para>
@@ -3870,7 +3870,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</sect2>
</sect1>
- <sect1 id="ddl-inherit">
+ <sect1 id="ddl-inherit" xreflabel="Inheritance">
<title>Inheritance</title>
<indexterm>
@@ -4154,7 +4154,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
the foreign table are not supported on the whole hierarchy either.
</para>
- <sect2 id="ddl-inherit-caveats">
+ <sect2 id="ddl-inherit-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -4227,7 +4227,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
</sect2>
</sect1>
- <sect1 id="ddl-partitioning">
+ <sect1 id="ddl-partitioning" xreflabel="Table Partitioning">
<title>Table Partitioning</title>
<indexterm>
@@ -4362,7 +4362,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
</para>
</sect2>
- <sect2 id="ddl-partitioning-declarative">
+ <sect2 id="ddl-partitioning-declarative" xreflabel="Declarative Partitioning">
<title>Declarative Partitioning</title>
<para>
@@ -5314,7 +5314,7 @@ ANALYZE ONLY measurement;
</sect3>
</sect2>
- <sect2 id="ddl-partition-pruning">
+ <sect2 id="ddl-partition-pruning" xreflabel="Partition Pruning">
<title>Partition Pruning</title>
<indexterm>
@@ -5452,7 +5452,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect2>
- <sect2 id="ddl-partitioning-constraint-exclusion">
+ <sect2 id="ddl-partitioning-constraint-exclusion" xreflabel="Partitioning and Constraint Exclusion">
<title>Partitioning and Constraint Exclusion</title>
<indexterm>
@@ -5545,7 +5545,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect2>
- <sect2 id="ddl-partitioning-declarative-best-practices">
+ <sect2 id="ddl-partitioning-declarative-best-practices" xreflabel="Best Practices for Declarative Partitioning">
<title>Best Practices for Declarative Partitioning</title>
<para>
@@ -5629,7 +5629,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</sect1>
- <sect1 id="ddl-foreign-data">
+ <sect1 id="ddl-foreign-data" xreflabel="Foreign Data">
<title>Foreign Data</title>
<indexterm>
@@ -5693,7 +5693,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect1>
- <sect1 id="ddl-others">
+ <sect1 id="ddl-others" xreflabel="Other Database Objects">
<title>Other Database Objects</title>
<para>
@@ -5737,7 +5737,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect1>
- <sect1 id="ddl-depend">
+ <sect1 id="ddl-depend" xreflabel="Dependency Tracking">
<title>Dependency Tracking</title>
<indexterm zone="ddl-depend">
diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml
index b4ce5484823..3cc064a0e64 100644
--- a/doc/src/sgml/dict-int.sgml
+++ b/doc/src/sgml/dict-int.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="dict-int-config">
+ <sect2 id="dict-int-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -59,7 +59,7 @@
</itemizedlist>
</sect2>
- <sect2 id="dict-int-usage">
+ <sect2 id="dict-int-usage" xreflabel="Usage">
<title>Usage</title>
<para>
diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml
index a94c6430ed4..6da50a856c6 100644
--- a/doc/src/sgml/dict-xsyn.sgml
+++ b/doc/src/sgml/dict-xsyn.sgml
@@ -14,7 +14,7 @@
search for a word using any of its synonyms.
</para>
- <sect2 id="dict-xsyn-config">
+ <sect2 id="dict-xsyn-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -83,7 +83,7 @@ word syn1 syn2 syn3
</para>
</sect2>
- <sect2 id="dict-xsyn-usage">
+ <sect2 id="dict-xsyn-usage" xreflabel="Usage">
<title>Usage</title>
<para>
diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml
index 61c64cf6c49..a06e329f96b 100644
--- a/doc/src/sgml/dml.sgml
+++ b/doc/src/sgml/dml.sgml
@@ -12,7 +12,7 @@
from the database.
</para>
- <sect1 id="dml-insert">
+ <sect1 id="dml-insert" xreflabel="Inserting Data">
<title>Inserting Data</title>
<indexterm zone="dml-insert">
@@ -122,7 +122,7 @@ INSERT INTO products (product_no, name, price)
</tip>
</sect1>
- <sect1 id="dml-update">
+ <sect1 id="dml-update" xreflabel="Updating Data">
<title>Updating Data</title>
<indexterm zone="dml-update">
@@ -217,7 +217,7 @@ UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;
</para>
</sect1>
- <sect1 id="dml-delete">
+ <sect1 id="dml-delete" xreflabel="Deleting Data">
<title>Deleting Data</title>
<indexterm zone="dml-delete">
@@ -261,7 +261,7 @@ DELETE FROM products;
</para>
</sect1>
- <sect1 id="dml-returning">
+ <sect1 id="dml-returning" xreflabel="Returning Data from Modified Rows">
<title>Returning Data from Modified Rows</title>
<indexterm zone="dml-returning">
diff --git a/doc/src/sgml/docguide.sgml b/doc/src/sgml/docguide.sgml
index 7b61b4841aa..c6ff70a22da 100644
--- a/doc/src/sgml/docguide.sgml
+++ b/doc/src/sgml/docguide.sgml
@@ -42,7 +42,7 @@
download.
</para>
- <sect1 id="docguide-docbook">
+ <sect1 id="docguide-docbook" xreflabel="DocBook">
<title>DocBook</title>
<para>
The documentation sources are written in
@@ -69,7 +69,7 @@
</sect1>
- <sect1 id="docguide-toolsets">
+ <sect1 id="docguide-toolsets" xreflabel="Tool Sets">
<title>Tool Sets</title>
<para>
@@ -150,7 +150,7 @@
here.
</para>
- <sect2 id="docguide-toolsets-inst-fedora-et-al">
+ <sect2 id="docguide-toolsets-inst-fedora-et-al" xreflabel="Installation on Fedora, RHEL, and Derivatives">
<title>Installation on Fedora, RHEL, and Derivatives</title>
<para>
@@ -161,7 +161,7 @@ yum install docbook-dtds docbook-style-xsl libxslt fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-freebsd">
+ <sect2 id="docguide-toolsets-inst-freebsd" xreflabel="Installation on FreeBSD">
<title>Installation on FreeBSD</title>
<para>
@@ -178,7 +178,7 @@ pkg install docbook-xml docbook-xsl libxslt fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-debian">
+ <sect2 id="docguide-toolsets-inst-debian" xreflabel="Debian Packages">
<title>Debian Packages</title>
<para>
@@ -191,7 +191,7 @@ apt-get install docbook-xml docbook-xsl libxml2-utils xsltproc fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-macos">
+ <sect2 id="docguide-toolsets-inst-macos" xreflabel="macOS">
<title>macOS</title>
<para>
@@ -232,7 +232,7 @@ postgres.sgml:21: warning: failed to load external entity "http://www.oasis-open
</para>
</sect2>
- <sect2 id="docguide-toolsets-configure">
+ <sect2 id="docguide-toolsets-configure" xreflabel="Detection by configure">
<title>Detection by <command>configure</command></title>
<para>
@@ -272,7 +272,7 @@ checking for dbtoepub... dbtoepub
</sect2>
</sect1>
- <sect1 id="docguide-build">
+ <sect1 id="docguide-build" xreflabel="Building the Documentation with Make">
<title>Building the Documentation with Make</title>
<para>
@@ -282,7 +282,7 @@ checking for dbtoepub... dbtoepub
documentation. (Remember to use GNU make.)
</para>
- <sect2 id="docguide-build-html">
+ <sect2 id="docguide-build-html" xreflabel="HTML">
<title>HTML</title>
<para>
@@ -311,7 +311,7 @@ checking for dbtoepub... dbtoepub
</para>
</sect2>
- <sect2 id="docguide-build-manpages">
+ <sect2 id="docguide-build-manpages" xreflabel="Manpages">
<title>Manpages</title>
<para>
@@ -325,7 +325,7 @@ checking for dbtoepub... dbtoepub
</para>
</sect2>
- <sect2 id="docguide-build-pdf">
+ <sect2 id="docguide-build-pdf" xreflabel="PDF">
<title>PDF</title>
<para>
@@ -391,7 +391,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</para>
</sect2>
- <sect2 id="docguide-build-syntax-check">
+ <sect2 id="docguide-build-syntax-check" xreflabel="Syntax Check">
<title>Syntax Check</title>
<para>
@@ -406,7 +406,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-build-meson">
+ <sect1 id="docguide-build-meson" xreflabel="Building the Documentation with Meson">
<title>Building the Documentation with Meson</title>
<para>
@@ -429,7 +429,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-authoring">
+ <sect1 id="docguide-authoring" xreflabel="Documentation Authoring">
<title>Documentation Authoring</title>
<para>
@@ -469,10 +469,10 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-style">
+ <sect1 id="docguide-style" xreflabel="Style Guide">
<title>Style Guide</title>
- <sect2 id="docguide-style-ref-pages">
+ <sect2 id="docguide-style-ref-pages" xreflabel="Reference Pages">
<title>Reference Pages</title>
<para>
diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml
index 5a709e3d476..b0414b13129 100644
--- a/doc/src/sgml/earthdistance.sgml
+++ b/doc/src/sgml/earthdistance.sgml
@@ -44,7 +44,7 @@
</para>
</caution>
- <sect2 id="earthdistance-cube-based">
+ <sect2 id="earthdistance-cube-based" xreflabel="Cube-Based Earth Distances">
<title>Cube-Based Earth Distances</title>
<para>
@@ -202,7 +202,7 @@
</sect2>
- <sect2 id="earthdistance-point-based">
+ <sect2 id="earthdistance-point-based" xreflabel="Point-Based Earth Distances">
<title>Point-Based Earth Distances</title>
<para>
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 807dadcb4a3..6919fbee540 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -22,7 +22,7 @@
many resources about SQL.
</para>
- <sect1 id="ecpg-concept">
+ <sect1 id="ecpg-concept" xreflabel="The Concept">
<title>The Concept</title>
<para>
@@ -86,7 +86,7 @@ EXEC SQL ...;
</para>
</sect1>
- <sect1 id="ecpg-connect">
+ <sect1 id="ecpg-connect" xreflabel="Managing Database Connections">
<title>Managing Database Connections</title>
<para>
@@ -94,7 +94,7 @@ EXEC SQL ...;
connections.
</para>
- <sect2 id="ecpg-connecting">
+ <sect2 id="ecpg-connecting" xreflabel="Connecting to the Database Server">
<title>Connecting to the Database Server</title>
<para>
@@ -271,7 +271,7 @@ EXEC SQL CONNECT TO :target USER :user USING :passwd;
</para>
</sect2>
- <sect2 id="ecpg-set-connection">
+ <sect2 id="ecpg-set-connection" xreflabel="Choosing a Connection">
<title>Choosing a Connection</title>
<para>
@@ -394,7 +394,7 @@ postgres
</para>
</sect2>
- <sect2 id="ecpg-disconnect">
+ <sect2 id="ecpg-disconnect" xreflabel="Closing a Connection">
<title>Closing a Connection</title>
<para>
@@ -437,7 +437,7 @@ EXEC SQL DISCONNECT <optional><replaceable>connection</replaceable></optional>;
</sect1>
- <sect1 id="ecpg-commands">
+ <sect1 id="ecpg-commands" xreflabel="Running SQL Commands">
<title>Running SQL Commands</title>
<para>
@@ -445,7 +445,7 @@ EXEC SQL DISCONNECT <optional><replaceable>connection</replaceable></optional>;
Below are some examples of how to do that.
</para>
- <sect2 id="ecpg-executing">
+ <sect2 id="ecpg-executing" xreflabel="Executing SQL Statements">
<title>Executing SQL Statements</title>
<para>
@@ -517,7 +517,7 @@ EXEC SQL SHOW search_path INTO :var;
</para>
</sect2>
- <sect2 id="ecpg-cursors">
+ <sect2 id="ecpg-cursors" xreflabel="Using Cursors">
<title>Using Cursors</title>
<para>
@@ -558,7 +558,7 @@ EXEC SQL COMMIT;
</note>
</sect2>
- <sect2 id="ecpg-transactions">
+ <sect2 id="ecpg-transactions" xreflabel="Managing Transactions">
<title>Managing Transactions</title>
<para>
@@ -644,7 +644,7 @@ EXEC SQL COMMIT;
</para>
</sect2>
- <sect2 id="ecpg-prepared">
+ <sect2 id="ecpg-prepared" xreflabel="Prepared Statements">
<title>Prepared Statements</title>
<para>
@@ -714,7 +714,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
</sect2>
</sect1>
- <sect1 id="ecpg-variables">
+ <sect1 id="ecpg-variables" xreflabel="Using Host Variables">
<title>Using Host Variables</title>
<para>
@@ -739,7 +739,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
in <xref linkend="ecpg-descriptors"/>.
</para>
- <sect2 id="ecpg-variables-overview">
+ <sect2 id="ecpg-variables-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -764,7 +764,7 @@ EXEC SQL INSERT INTO sometable VALUES (:v1, 'foo', :v2);
</para>
</sect2>
- <sect2 id="ecpg-declare-sections">
+ <sect2 id="ecpg-declare-sections" xreflabel="Declare Sections">
<title>Declare Sections</title>
<para>
@@ -815,7 +815,7 @@ EXEC SQL int i = 4;
</para>
</sect2>
- <sect2 id="ecpg-retrieving">
+ <sect2 id="ecpg-retrieving" xreflabel="Retrieving Query Results">
<title>Retrieving Query Results</title>
<para>
@@ -882,7 +882,7 @@ do
</sect2>
- <sect2 id="ecpg-variables-type-mapping">
+ <sect2 id="ecpg-variables-type-mapping" xreflabel="Type Mapping">
<title>Type Mapping</title>
<para>
@@ -1554,7 +1554,7 @@ EXEC SQL END DECLARE SECTION;
</sect3>
</sect2>
- <sect2 id="ecpg-variables-nonprimitive-sql">
+ <sect2 id="ecpg-variables-nonprimitive-sql" xreflabel="Handling Nonprimitive SQL Data Types">
<title>Handling Nonprimitive SQL Data Types</title>
<para>
@@ -1895,7 +1895,7 @@ EXEC SQL INSERT INTO test_complex VALUES ('(1,2)', '(3,4)');
</sect3>
</sect2>
- <sect2 id="ecpg-indicators">
+ <sect2 id="ecpg-indicators" xreflabel="Indicators">
<title>Indicators</title>
<para>
@@ -1943,7 +1943,7 @@ EXEC SQL SELECT b INTO :val :val_ind FROM test1;
</sect2>
</sect1>
- <sect1 id="ecpg-dynamic">
+ <sect1 id="ecpg-dynamic" xreflabel="Dynamic SQL">
<title>Dynamic SQL</title>
<para>
@@ -1956,7 +1956,7 @@ EXEC SQL SELECT b INTO :val :val_ind FROM test1;
provide in a string variable.
</para>
- <sect2 id="ecpg-dynamic-without-result">
+ <sect2 id="ecpg-dynamic-without-result" xreflabel="Executing Statements without a Result Set">
<title>Executing Statements without a Result Set</title>
<para>
@@ -1978,7 +1978,7 @@ EXEC SQL EXECUTE IMMEDIATE :stmt;
</para>
</sect2>
- <sect2 id="ecpg-dynamic-input">
+ <sect2 id="ecpg-dynamic-input" xreflabel="Executing a Statement with Input Parameters">
<title>Executing a Statement with Input Parameters</title>
<para>
@@ -2009,7 +2009,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
</para>
</sect2>
- <sect2 id="ecpg-dynamic-with-result">
+ <sect2 id="ecpg-dynamic-with-result" xreflabel="Executing a Statement with a Result Set">
<title>Executing a Statement with a Result Set</title>
<para>
@@ -2072,7 +2072,7 @@ EXEC SQL DISCONNECT ALL;
</sect2>
</sect1>
- <sect1 id="ecpg-pgtypes">
+ <sect1 id="ecpg-pgtypes" xreflabel="pgtypes Library">
<title>pgtypes Library</title>
<para>
@@ -2099,7 +2099,7 @@ PGTYPESchar_free(out);
</programlisting>
</para>
- <sect2 id="ecpg-pgtypes-cstrings">
+ <sect2 id="ecpg-pgtypes-cstrings" xreflabel="Character Strings">
<title>Character Strings</title>
<para>
Some functions such as <function>PGTYPESnumeric_to_asc</function> return
@@ -2111,7 +2111,7 @@ PGTYPESchar_free(out);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-numeric">
+ <sect2 id="ecpg-pgtypes-numeric" xreflabel="The numeric Type">
<title>The numeric Type</title>
<para>
The numeric type offers to do calculations with arbitrary precision. See
@@ -2436,7 +2436,7 @@ int PGTYPESnumeric_from_decimal(decimal *src, numeric *dst);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-date">
+ <sect2 id="ecpg-pgtypes-date" xreflabel="The date Type">
<title>The date Type</title>
<para>
The date type in C enables your programs to deal with data of the SQL type
@@ -2914,7 +2914,7 @@ int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-timestamp">
+ <sect2 id="ecpg-pgtypes-timestamp" xreflabel="The timestamp Type">
<title>The timestamp Type</title>
<para>
The timestamp type in C enables your programs to deal with data of the SQL
@@ -3444,7 +3444,7 @@ int PGTYPEStimestamp_sub_interval(timestamp *tin, interval *span, timestamp *tou
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-interval">
+ <sect2 id="ecpg-pgtypes-interval" xreflabel="The interval Type">
<title>The interval Type</title>
<para>
The interval type in C enables your programs to deal with data of the SQL
@@ -3532,7 +3532,7 @@ int PGTYPESinterval_copy(interval *intvlsrc, interval *intvldest);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-decimal">
+ <sect2 id="ecpg-pgtypes-decimal" xreflabel="The decimal Type">
<title>The decimal Type</title>
<para>
The decimal type is similar to the numeric type. However it is limited to
@@ -3744,7 +3744,7 @@ void PGTYPESdecimal_free(decimal *var);
</sect2>
</sect1>
- <sect1 id="ecpg-descriptors">
+ <sect1 id="ecpg-descriptors" xreflabel="Using Descriptor Areas">
<title>Using Descriptor Areas</title>
<para>
@@ -3759,7 +3759,7 @@ void PGTYPESdecimal_free(decimal *var);
SQLDAs.
</para>
- <sect2 id="ecpg-named-descriptors">
+ <sect2 id="ecpg-named-descriptors" xreflabel="Named SQL Descriptor Areas">
<title>Named SQL Descriptor Areas</title>
<para>
@@ -4017,7 +4017,7 @@ EXEC SQL GET DESCRIPTOR mydesc VALUE 1 :id = DATA;
</sect2>
- <sect2 id="ecpg-sqlda-descriptors">
+ <sect2 id="ecpg-sqlda-descriptors" xreflabel="SQLDA Descriptor Areas">
<title>SQLDA Descriptor Areas</title>
<para>
@@ -4813,7 +4813,7 @@ tup_deleted = 0 (type: 9)
</sect2>
</sect1>
- <sect1 id="ecpg-errors">
+ <sect1 id="ecpg-errors" xreflabel="Error Handling">
<title>Error Handling</title>
<para>
@@ -4838,7 +4838,7 @@ tup_deleted = 0 (type: 9)
</itemizedlist>
</para>
- <sect2 id="ecpg-whenever">
+ <sect2 id="ecpg-whenever" xreflabel="Setting Callbacks">
<title>Setting Callbacks</title>
<para>
@@ -5029,7 +5029,7 @@ static void set_error_handler(void)
</para>
</sect2>
- <sect2 id="ecpg-sqlca">
+ <sect2 id="ecpg-sqlca" xreflabel="sqlca">
<title>sqlca</title>
<para>
@@ -5172,7 +5172,7 @@ sqlstate: 42P01
</para>
</sect2>
- <sect2 id="ecpg-sqlstate-sqlcode">
+ <sect2 id="ecpg-sqlstate-sqlcode" xreflabel="SQLSTATE vs. SQLCODE">
<title><literal>SQLSTATE</literal> vs. <literal>SQLCODE</literal></title>
<para>
@@ -5684,7 +5684,7 @@ while (1)
</sect2>
</sect1>
- <sect1 id="ecpg-preproc">
+ <sect1 id="ecpg-preproc" xreflabel="Preprocessor Directives">
<title>Preprocessor Directives</title>
<para>
@@ -5693,7 +5693,7 @@ while (1)
file.
</para>
- <sect2 id="ecpg-include">
+ <sect2 id="ecpg-include" xreflabel="Including Files">
<title>Including Files</title>
<para>
@@ -5752,7 +5752,7 @@ EXEC SQL INCLUDE "<replaceable>filename</replaceable>";
</note>
</sect2>
- <sect2 id="ecpg-define">
+ <sect2 id="ecpg-define" xreflabel="The define and undef Directives">
<title>The define and undef Directives</title>
<para>
Similar to the directive <literal>#define</literal> that is known from C,
@@ -5803,7 +5803,7 @@ EXEC SQL UPDATE Tbl SET col = MYNUMBER;
</para>
</sect2>
- <sect2 id="ecpg-ifdef">
+ <sect2 id="ecpg-ifdef" xreflabel="ifdef, ifndef, elif, else, and endif Directives">
<title>ifdef, ifndef, elif, else, and endif Directives</title>
<para>
You can use the following directives to compile code sections conditionally:
@@ -5898,7 +5898,7 @@ EXEC SQL endif;
</sect2>
</sect1>
- <sect1 id="ecpg-process">
+ <sect1 id="ecpg-process" xreflabel="Processing Embedded SQL Programs">
<title>Processing Embedded SQL Programs</title>
<para>
@@ -5986,7 +5986,7 @@ ECPG = ecpg
</para>
</sect1>
- <sect1 id="ecpg-library">
+ <sect1 id="ecpg-library" xreflabel="Library Functions">
<title>Library Functions</title>
<para>
@@ -6060,7 +6060,7 @@ ECPG = ecpg
</itemizedlist>
</sect1>
- <sect1 id="ecpg-lo">
+ <sect1 id="ecpg-lo" xreflabel="Large Objects">
<title>Large Objects</title>
<para>
@@ -6175,7 +6175,7 @@ main(void)
</example>
</sect1>
- <sect1 id="ecpg-cpp">
+ <sect1 id="ecpg-cpp" xreflabel="C++ Applications">
<title><acronym>C++</acronym> Applications</title>
<para>
@@ -6211,7 +6211,7 @@ main(void)
about that.
</para>
- <sect2 id="ecpg-cpp-scope">
+ <sect2 id="ecpg-cpp-scope" xreflabel="Scope for Host Variables">
<title>Scope for Host Variables</title>
<para>
@@ -6290,7 +6290,7 @@ void TestCpp::test()
</para>
</sect2>
- <sect2 id="ecpg-cpp-and-c">
+ <sect2 id="ecpg-cpp-and-c" xreflabel="C++ Application Development with External C Module">
<title>C++ Application Development with External C Module</title>
<para>
@@ -6458,7 +6458,7 @@ c++ test_cpp.o test_mod.o -lecpg -o test_cpp
</sect2>
</sect1>
- <sect1 id="ecpg-sql-commands">
+ <sect1 id="ecpg-sql-commands" xreflabel="Embedded SQL Commands">
<title>Embedded SQL Commands</title>
<para>
@@ -8215,7 +8215,7 @@ main(void)
</refentry>
</sect1>
- <sect1 id="ecpg-informix-compat">
+ <sect1 id="ecpg-informix-compat" xreflabel="Informix Compatibility Mode">
<title><productname>Informix</productname> Compatibility Mode</title>
<para>
<command>ecpg</command> can be run in a so-called <firstterm>Informix compatibility mode</firstterm>. If
@@ -8269,7 +8269,7 @@ $COMMIT;
find support in ECPG for that either.
</para>
- <sect2 id="ecpg-informix-types">
+ <sect2 id="ecpg-informix-types" xreflabel="Additional Types">
<title>Additional Types</title>
<para>
The Informix-special "string" pseudo-type for storing right-trimmed character string data is now
@@ -8285,7 +8285,7 @@ EXEC SQL FETCH MYCUR INTO :userid;
</para>
</sect2>
- <sect2 id="ecpg-informix-statements">
+ <sect2 id="ecpg-informix-statements" xreflabel="Additional/Missing Embedded SQL Statements">
<title>Additional/Missing Embedded SQL Statements</title>
<para>
<variablelist>
@@ -8327,7 +8327,7 @@ EXEC SQL CLOSE DATABASE;
</para>
</sect2>
- <sect2 id="ecpg-informix-sqlda">
+ <sect2 id="ecpg-informix-sqlda" xreflabel="Informix-compatible SQLDA Descriptor Areas">
<title>Informix-compatible SQLDA Descriptor Areas</title>
<para>
Informix-compatible mode supports a different structure than the one described in
@@ -8604,7 +8604,7 @@ EXEC SQL INCLUDE sqlda.h;
</para>
</sect2>
- <sect2 id="ecpg-informix-functions">
+ <sect2 id="ecpg-informix-functions" xreflabel="Additional Functions">
<title>Additional Functions</title>
<para>
<variablelist>
@@ -9662,7 +9662,7 @@ risnull(CINTTYPE, (char *) &i);
</para>
</sect2>
- <sect2 id="ecpg-informix-constants">
+ <sect2 id="ecpg-informix-constants" xreflabel="Additional Constants">
<title>Additional Constants</title>
<para>
Note that all constants here describe errors and all of them are defined
@@ -9830,7 +9830,7 @@ risnull(CINTTYPE, (char *) &i);
</sect2>
</sect1>
- <sect1 id="ecpg-oracle-compat">
+ <sect1 id="ecpg-oracle-compat" xreflabel="Oracle Compatibility Mode">
<title><productname>Oracle</productname> Compatibility Mode</title>
<para>
<command>ecpg</command> can be run in a so-called <firstterm>Oracle
@@ -9866,7 +9866,7 @@ risnull(CINTTYPE, (char *) &i);
</para>
</sect1>
- <sect1 id="ecpg-develop">
+ <sect1 id="ecpg-develop" xreflabel="Internals">
<title>Internals</title>
<para>
diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml
index c10627554bd..4d18e387103 100644
--- a/doc/src/sgml/event-trigger.sgml
+++ b/doc/src/sgml/event-trigger.sgml
@@ -21,7 +21,7 @@
SQL.
</para>
- <sect1 id="event-trigger-definition">
+ <sect1 id="event-trigger-definition" xreflabel="Overview of Event Trigger Behavior">
<title>Overview of Event Trigger Behavior</title>
<para>
@@ -203,7 +203,7 @@
</sect2>
</sect1>
- <sect1 id="event-trigger-interface">
+ <sect1 id="event-trigger-interface" xreflabel="Writing Event Trigger Functions in C">
<title>Writing Event Trigger Functions in C</title>
<indexterm zone="event-trigger-interface">
@@ -317,7 +317,7 @@ typedef struct EventTriggerData
</para>
</sect1>
- <sect1 id="event-trigger-example">
+ <sect1 id="event-trigger-example" xreflabel="A Complete Event Trigger Example">
<title>A Complete Event Trigger Example</title>
<para>
@@ -410,7 +410,7 @@ COMMIT;
</para>
</sect1>
- <sect1 id="event-trigger-table-rewrite-example">
+ <sect1 id="event-trigger-table-rewrite-example" xreflabel="A Table Rewrite Event Trigger Example">
<title>A Table Rewrite Event Trigger Example</title>
<para>
@@ -464,7 +464,7 @@ CREATE EVENT TRIGGER no_rewrite_allowed
</para>
</sect1>
- <sect1 id="event-trigger-database-login-example">
+ <sect1 id="event-trigger-database-login-example" xreflabel="A Database Login Event Trigger Example">
<title>A Database Login Event Trigger Example</title>
<para>
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 63c5ec6d1eb..ce4bc0ee473 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -46,7 +46,7 @@
</itemizedlist>
</para>
- <sect1 id="extend-how">
+ <sect1 id="extend-how" xreflabel="How Extensibility Works">
<title>How Extensibility Works</title>
<para>
@@ -85,7 +85,7 @@
</para>
</sect1>
- <sect1 id="extend-type-system">
+ <sect1 id="extend-type-system" xreflabel="The PostgreSQL Type System">
<title>The <productname>PostgreSQL</productname> Type System</title>
<indexterm zone="extend-type-system">
@@ -515,7 +515,7 @@ RETURNS anycompatible AS ...
&xindex;
- <sect1 id="extend-extensions">
+ <sect1 id="extend-extensions" xreflabel="Packaging Related Objects into an Extension">
<title>Packaging Related Objects into an Extension</title>
<indexterm zone="extend-extensions">
@@ -1439,7 +1439,7 @@ include $(PGXS)
</sect2>
</sect1>
- <sect1 id="extend-pgxs">
+ <sect1 id="extend-pgxs" xreflabel="Extension Building Infrastructure">
<title>Extension Building Infrastructure</title>
<indexterm zone="extend-pgxs">
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
index 50872dfd88e..850943ba7b6 100644
--- a/doc/src/sgml/external-projects.sgml
+++ b/doc/src/sgml/external-projects.sgml
@@ -10,7 +10,7 @@
efficiently developed separately from the core project.
</para>
- <sect1 id="external-interfaces">
+ <sect1 id="external-interfaces" xreflabel="Client Interfaces">
<title>Client Interfaces</title>
<indexterm>
@@ -53,7 +53,7 @@
</para>
</sect1>
- <sect1 id="external-admin-tools">
+ <sect1 id="external-admin-tools" xreflabel="Administration Tools">
<title>Administration Tools</title>
<indexterm>
@@ -69,7 +69,7 @@
</para>
</sect1>
- <sect1 id="external-pl">
+ <sect1 id="external-pl" xreflabel="Procedural Languages">
<title>Procedural Languages</title>
<indexterm>
@@ -102,7 +102,7 @@
</para>
</sect1>
- <sect1 id="external-extensions">
+ <sect1 id="external-extensions" xreflabel="Extensions">
<title>Extensions</title>
<indexterm>
diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml
index c6d66414b8e..50e1e1fce97 100644
--- a/doc/src/sgml/fdwhandler.sgml
+++ b/doc/src/sgml/fdwhandler.sgml
@@ -35,7 +35,7 @@
</para>
</note>
- <sect1 id="fdw-functions">
+ <sect1 id="fdw-functions" xreflabel="Foreign Data Wrapper Functions">
<title>Foreign Data Wrapper Functions</title>
<para>
@@ -83,7 +83,7 @@
</sect1>
- <sect1 id="fdw-callbacks">
+ <sect1 id="fdw-callbacks" xreflabel="Foreign Data Wrapper Callback Routines">
<title>Foreign Data Wrapper Callback Routines</title>
<para>
@@ -1686,7 +1686,7 @@ ReparameterizeForeignPathByChild(PlannerInfo *root, List *fdw_private,
</sect1>
- <sect1 id="fdw-helpers">
+ <sect1 id="fdw-helpers" xreflabel="Foreign Data Wrapper Helper Functions">
<title>Foreign Data Wrapper Helper Functions</title>
<para>
@@ -1825,7 +1825,7 @@ GetForeignServerByName(const char *name, bool missing_ok);
</sect1>
- <sect1 id="fdw-planning">
+ <sect1 id="fdw-planning" xreflabel="Foreign Data Wrapper Query Planning">
<title>Foreign Data Wrapper Query Planning</title>
<para>
@@ -2051,7 +2051,7 @@ GetForeignServerByName(const char *name, bool missing_ok);
</sect1>
- <sect1 id="fdw-row-locking">
+ <sect1 id="fdw-row-locking" xreflabel="Row Locking in Foreign Data Wrappers">
<title>Row Locking in Foreign Data Wrappers</title>
<para>
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index 966fd398827..7eff9bb8841 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -106,7 +106,7 @@
</para>
</note>
- <sect1 id="features-sql-standard">
+ <sect1 id="features-sql-standard" xreflabel="Supported Features">
<title>Supported Features</title>
<para>
@@ -132,7 +132,7 @@
</para>
</sect1>
- <sect1 id="unsupported-features-sql-standard">
+ <sect1 id="unsupported-features-sql-standard" xreflabel="Unsupported Features">
<title>Unsupported Features</title>
<para>
@@ -163,7 +163,7 @@
</para>
</sect1>
- <sect1 id="xml-limits-conformance">
+ <sect1 id="xml-limits-conformance" xreflabel="XML Limits and Conformance to SQL/XML">
<title>XML Limits and Conformance to SQL/XML</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-admin.sgml b/doc/src/sgml/func/func-admin.sgml
index 2896cd9e429..53640905bf5 100644
--- a/doc/src/sgml/func/func-admin.sgml
+++ b/doc/src/sgml/func/func-admin.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-admin">
+ <sect1 id="functions-admin" xreflabel="System Administration Functions">
<title>System Administration Functions</title>
<para>
@@ -6,7 +6,7 @@
monitor a <productname>PostgreSQL</productname> installation.
</para>
- <sect2 id="functions-admin-set">
+ <sect2 id="functions-admin-set" xreflabel="Configuration Settings Functions">
<title>Configuration Settings Functions</title>
<indexterm>
@@ -105,7 +105,7 @@
</sect2>
- <sect2 id="functions-admin-signal">
+ <sect2 id="functions-admin-signal" xreflabel="Server Signaling Functions">
<title>Server Signaling Functions</title>
<indexterm>
@@ -304,7 +304,7 @@ LOG: Grand total: 1651920 bytes in 201 blocks; 622360 free (88 chunks); 1029560
</sect2>
- <sect2 id="functions-admin-backup">
+ <sect2 id="functions-admin-backup" xreflabel="Backup Control Functions">
<title>Backup Control Functions</title>
<indexterm>
@@ -631,7 +631,7 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
</sect2>
- <sect2 id="functions-recovery-control">
+ <sect2 id="functions-recovery-control" xreflabel="Recovery Control Functions">
<title>Recovery Control Functions</title>
<para>
@@ -888,7 +888,7 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
</sect2>
- <sect2 id="functions-snapshot-synchronization">
+ <sect2 id="functions-snapshot-synchronization" xreflabel="Snapshot Synchronization Functions">
<title>Snapshot Synchronization Functions</title>
<para>
@@ -981,7 +981,7 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
</sect2>
- <sect2 id="functions-replication">
+ <sect2 id="functions-replication" xreflabel="Replication Management Functions">
<title>Replication Management Functions</title>
<para>
@@ -1525,7 +1525,7 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
</sect2>
- <sect2 id="functions-admin-dbobject">
+ <sect2 id="functions-admin-dbobject" xreflabel="Database Object Management Functions">
<title>Database Object Management Functions</title>
<para>
@@ -2259,7 +2259,7 @@ SELECT pg_size_pretty(sum(pg_relation_size(relid))) AS total_size
</sect2>
- <sect2 id="functions-admin-index">
+ <sect2 id="functions-admin-index" xreflabel="Index Maintenance Functions">
<title>Index Maintenance Functions</title>
<para>
@@ -2360,7 +2360,7 @@ SELECT pg_size_pretty(sum(pg_relation_size(relid))) AS total_size
</sect2>
- <sect2 id="functions-admin-genfile">
+ <sect2 id="functions-admin-genfile" xreflabel="Generic File Access Functions">
<title>Generic File Access Functions</title>
<para>
@@ -2725,7 +2725,7 @@ SELECT convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
</sect2>
- <sect2 id="functions-advisory-locks">
+ <sect2 id="functions-advisory-locks" xreflabel="Advisory Lock Functions">
<title>Advisory Lock Functions</title>
<para>
diff --git a/doc/src/sgml/func/func-aggregate.sgml b/doc/src/sgml/func/func-aggregate.sgml
index f50b692516b..fbd8913ab8b 100644
--- a/doc/src/sgml/func/func-aggregate.sgml
+++ b/doc/src/sgml/func/func-aggregate.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-aggregate">
+ <sect1 id="functions-aggregate" xreflabel="Aggregate Functions">
<title>Aggregate Functions</title>
<indexterm zone="functions-aggregate">
diff --git a/doc/src/sgml/func/func-array.sgml b/doc/src/sgml/func/func-array.sgml
index 7f162bd7670..e70c7754092 100644
--- a/doc/src/sgml/func/func-array.sgml
+++ b/doc/src/sgml/func/func-array.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-array">
+ <sect1 id="functions-array" xreflabel="Array Functions and Operators">
<title>Array Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-binarystring.sgml b/doc/src/sgml/func/func-binarystring.sgml
index b256381e01f..6cc41b76a9a 100644
--- a/doc/src/sgml/func/func-binarystring.sgml
+++ b/doc/src/sgml/func/func-binarystring.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-binarystring">
+ <sect1 id="functions-binarystring" xreflabel="Binary String Functions and Operators">
<title>Binary String Functions and Operators</title>
<indexterm zone="functions-binarystring">
diff --git a/doc/src/sgml/func/func-bitstring.sgml b/doc/src/sgml/func/func-bitstring.sgml
index 3f59de464a4..b0cdcd03763 100644
--- a/doc/src/sgml/func/func-bitstring.sgml
+++ b/doc/src/sgml/func/func-bitstring.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-bitstring">
+ <sect1 id="functions-bitstring" xreflabel="Bit String Functions and Operators">
<title>Bit String Functions and Operators</title>
<indexterm zone="functions-bitstring">
diff --git a/doc/src/sgml/func/func-comparison.sgml b/doc/src/sgml/func/func-comparison.sgml
index ecb1d89463a..1a34538e38d 100644
--- a/doc/src/sgml/func/func-comparison.sgml
+++ b/doc/src/sgml/func/func-comparison.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-comparison">
+ <sect1 id="functions-comparison" xreflabel="Comparison Functions and Operators">
<title>Comparison Functions and Operators</title>
<indexterm zone="functions-comparison">
diff --git a/doc/src/sgml/func/func-comparisons.sgml b/doc/src/sgml/func/func-comparisons.sgml
index 6a6e0bd4019..7516dab6f6d 100644
--- a/doc/src/sgml/func/func-comparisons.sgml
+++ b/doc/src/sgml/func/func-comparisons.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-comparisons">
+ <sect1 id="functions-comparisons" xreflabel="Row and Array Comparisons">
<title>Row and Array Comparisons</title>
<indexterm>
@@ -60,7 +60,7 @@
Boolean (true/false) results.
</para>
- <sect2 id="functions-comparisons-in-scalar">
+ <sect2 id="functions-comparisons-in-scalar" xreflabel="IN">
<title><literal>IN</literal></title>
<synopsis>
@@ -91,7 +91,7 @@ OR
</para>
</sect2>
- <sect2 id="functions-comparisons-not-in">
+ <sect2 id="functions-comparisons-not-in" xreflabel="NOT IN">
<title><literal>NOT IN</literal></title>
<synopsis>
@@ -132,7 +132,7 @@ AND
</tip>
</sect2>
- <sect2 id="functions-comparisons-any-some">
+ <sect2 id="functions-comparisons-any-some" xreflabel="ANY/SOME (array)">
<title><literal>ANY</literal>/<literal>SOME</literal> (array)</title>
<synopsis>
@@ -169,7 +169,7 @@ AND
</para>
</sect2>
- <sect2 id="functions-comparisons-all">
+ <sect2 id="functions-comparisons-all" xreflabel="ALL (array)">
<title><literal>ALL</literal> (array)</title>
<synopsis>
@@ -201,7 +201,7 @@ AND
</para>
</sect2>
- <sect2 id="row-wise-comparison">
+ <sect2 id="row-wise-comparison" xreflabel="Row Constructor Comparison">
<title>Row Constructor Comparison</title>
<synopsis>
@@ -275,7 +275,7 @@ AND
</sect2>
- <sect2 id="composite-type-comparison">
+ <sect2 id="composite-type-comparison" xreflabel="Composite Type Comparison">
<title>Composite Type Comparison</title>
<synopsis>
diff --git a/doc/src/sgml/func/func-conditional.sgml b/doc/src/sgml/func/func-conditional.sgml
index 7ca53dbf1ab..728812443cb 100644
--- a/doc/src/sgml/func/func-conditional.sgml
+++ b/doc/src/sgml/func/func-conditional.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-conditional">
+ <sect1 id="functions-conditional" xreflabel="Conditional Expressions">
<title>Conditional Expressions</title>
<indexterm>
@@ -31,7 +31,7 @@
</para>
</note>
- <sect2 id="functions-case">
+ <sect2 id="functions-case" xreflabel="CASE">
<title><literal>CASE</literal></title>
<para>
@@ -155,7 +155,7 @@ SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END;
</note>
</sect2>
- <sect2 id="functions-coalesce-nvl-ifnull">
+ <sect2 id="functions-coalesce-nvl-ifnull" xreflabel="COALESCE">
<title><literal>COALESCE</literal></title>
<indexterm>
@@ -202,7 +202,7 @@ SELECT COALESCE(description, short_description, '(none)') ...
</para>
</sect2>
- <sect2 id="functions-nullif">
+ <sect2 id="functions-nullif" xreflabel="NULLIF">
<title><literal>NULLIF</literal></title>
<indexterm>
@@ -248,7 +248,7 @@ SELECT NULLIF(value, '(none)') ...
</sect2>
- <sect2 id="functions-greatest-least">
+ <sect2 id="functions-greatest-least" xreflabel="GREATEST and LEAST">
<title><literal>GREATEST</literal> and <literal>LEAST</literal></title>
<indexterm>
diff --git a/doc/src/sgml/func/func-datetime.sgml b/doc/src/sgml/func/func-datetime.sgml
index 39dddde4fe1..f444a53a9bf 100644
--- a/doc/src/sgml/func/func-datetime.sgml
+++ b/doc/src/sgml/func/func-datetime.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-datetime">
+ <sect1 id="functions-datetime" xreflabel="Date/Time Functions and Operators">
<title>Date/Time Functions and Operators</title>
<para>
@@ -1154,7 +1154,7 @@ SELECT age(timestamptz '2013-07-01 12:00:00', timestamptz '2013-03-01 12:00:00')
<lineannotation>Result: </lineannotation><computeroutput>4 mons</computeroutput>
</screen>
- <sect2 id="functions-datetime-extract">
+ <sect2 id="functions-datetime-extract" xreflabel="EXTRACT, date_part">
<title><function>EXTRACT</function>, <function>date_part</function></title>
<indexterm>
@@ -1663,7 +1663,7 @@ SELECT date_part('hour', INTERVAL '4 hours 3 minutes');
</sect2>
- <sect2 id="functions-datetime-trunc">
+ <sect2 id="functions-datetime-trunc" xreflabel="date_trunc">
<title><function>date_trunc</function></title>
<indexterm>
@@ -1746,7 +1746,7 @@ SELECT date_trunc('hour', INTERVAL '3 days 02:47:33');
</para>
</sect2>
- <sect2 id="functions-datetime-bin">
+ <sect2 id="functions-datetime-bin" xreflabel="date_bin">
<title><function>date_bin</function></title>
<indexterm>
@@ -1795,7 +1795,7 @@ SELECT date_bin('15 minutes', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-0
</para>
</sect2>
- <sect2 id="functions-datetime-zoneconvert">
+ <sect2 id="functions-datetime-zoneconvert" xreflabel="AT TIME ZONE and AT LOCAL">
<title><literal>AT TIME ZONE</literal> and <literal>AT LOCAL</literal></title>
<indexterm>
@@ -2024,7 +2024,7 @@ SELECT TIME WITH TIME ZONE '20:38:40-05' AT LOCAL;
</para>
</sect2>
- <sect2 id="functions-datetime-current">
+ <sect2 id="functions-datetime-current" xreflabel="Current Date/Time">
<title>Current Date/Time</title>
<indexterm>
@@ -2169,7 +2169,7 @@ SELECT TIMESTAMP 'now'; -- but see tip below
</tip>
</sect2>
- <sect2 id="functions-datetime-delay">
+ <sect2 id="functions-datetime-delay" xreflabel="Delaying Execution">
<title>Delaying Execution</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-enum.sgml b/doc/src/sgml/func/func-enum.sgml
index 6227afe4057..9322cb16463 100644
--- a/doc/src/sgml/func/func-enum.sgml
+++ b/doc/src/sgml/func/func-enum.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-enum">
+ <sect1 id="functions-enum" xreflabel="Enum Support Functions">
<title>Enum Support Functions</title>
<para>
diff --git a/doc/src/sgml/func/func-event-triggers.sgml b/doc/src/sgml/func/func-event-triggers.sgml
index 9f3f51e9f51..9b6b7c60172 100644
--- a/doc/src/sgml/func/func-event-triggers.sgml
+++ b/doc/src/sgml/func/func-event-triggers.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-event-triggers">
+ <sect1 id="functions-event-triggers" xreflabel="Event Trigger Functions">
<title>Event Trigger Functions</title>
<para>
@@ -11,7 +11,7 @@
see <xref linkend="event-triggers"/>.
</para>
- <sect2 id="pg-event-trigger-ddl-command-end-functions">
+ <sect2 id="pg-event-trigger-ddl-command-end-functions" xreflabel="Capturing Changes at Command End">
<title>Capturing Changes at Command End</title>
<indexterm>
@@ -106,7 +106,7 @@
</para>
</sect2>
- <sect2 id="pg-event-trigger-sql-drop-functions">
+ <sect2 id="pg-event-trigger-sql-drop-functions" xreflabel="Processing Objects Dropped by a DDL Command">
<title>Processing Objects Dropped by a DDL Command</title>
<indexterm>
@@ -249,7 +249,7 @@ CREATE EVENT TRIGGER test_event_trigger_for_drops
</para>
</sect2>
- <sect2 id="pg-event-trigger-table-rewrite-functions">
+ <sect2 id="pg-event-trigger-table-rewrite-functions" xreflabel="Handling a Table Rewrite Event">
<title>Handling a Table Rewrite Event</title>
<para>
diff --git a/doc/src/sgml/func/func-formatting.sgml b/doc/src/sgml/func/func-formatting.sgml
index af9e2223998..070d876f7c3 100644
--- a/doc/src/sgml/func/func-formatting.sgml
+++ b/doc/src/sgml/func/func-formatting.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-formatting">
+ <sect1 id="functions-formatting" xreflabel="Data Type Formatting Functions">
<title>Data Type Formatting Functions</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-geometry.sgml b/doc/src/sgml/func/func-geometry.sgml
index ba203af3bd2..8b4c84d36dd 100644
--- a/doc/src/sgml/func/func-geometry.sgml
+++ b/doc/src/sgml/func/func-geometry.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-geometry">
+ <sect1 id="functions-geometry" xreflabel="Geometric Functions and Operators">
<title>Geometric Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-info.sgml b/doc/src/sgml/func/func-info.sgml
index d4508114a48..901cbfa1e40 100644
--- a/doc/src/sgml/func/func-info.sgml
+++ b/doc/src/sgml/func/func-info.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-info">
+ <sect1 id="functions-info" xreflabel="System Information Functions and Operators">
<title>System Information Functions and Operators</title>
<para>
@@ -6,7 +6,7 @@
information about a <productname>PostgreSQL</productname> installation.
</para>
- <sect2 id="functions-info-session">
+ <sect2 id="functions-info-session" xreflabel="Session Information Functions">
<title>Session Information Functions</title>
<para>
@@ -575,7 +575,7 @@
</sect2>
- <sect2 id="functions-info-access">
+ <sect2 id="functions-info-access" xreflabel="Access Privilege Inquiry Functions">
<title>Access Privilege Inquiry Functions</title>
<indexterm>
@@ -1146,7 +1146,7 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
</sect2>
- <sect2 id="functions-info-schema">
+ <sect2 id="functions-info-schema" xreflabel="Schema Visibility Inquiry Functions">
<title>Schema Visibility Inquiry Functions</title>
<para>
@@ -1378,7 +1378,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
</sect2>
- <sect2 id="functions-info-catalog">
+ <sect2 id="functions-info-catalog" xreflabel="System Catalog Information Functions">
<title>System Catalog Information Functions</title>
<para>
@@ -2376,7 +2376,7 @@ SELECT currval(pg_get_serial_sequence('sometable', 'id'));
</sect2>
- <sect2 id="functions-info-object">
+ <sect2 id="functions-info-object" xreflabel="Object Information and Addressing Functions">
<title>Object Information and Addressing Functions</title>
<para>
@@ -2555,7 +2555,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-comment">
+ <sect2 id="functions-info-comment" xreflabel="Comment Information Functions">
<title>Comment Information Functions</title>
<indexterm>
@@ -2654,7 +2654,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-validity">
+ <sect2 id="functions-info-validity" xreflabel="Data Validity Checking Functions">
<title>Data Validity Checking Functions</title>
<para>
@@ -2760,7 +2760,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-snapshot">
+ <sect2 id="functions-info-snapshot" xreflabel="Transaction ID and Snapshot Information Functions">
<title>Transaction ID and Snapshot Information Functions</title>
<para>
@@ -3178,7 +3178,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-commit-timestamp">
+ <sect2 id="functions-info-commit-timestamp" xreflabel="Committed Transaction Information Functions">
<title>Committed Transaction Information Functions</title>
<para>
@@ -3256,7 +3256,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-controldata">
+ <sect2 id="functions-info-controldata" xreflabel="Control Data Functions">
<title>Control Data Functions</title>
<para>
@@ -3604,7 +3604,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-version">
+ <sect2 id="functions-info-version" xreflabel="Version Information Functions">
<title>Version Information Functions</title>
<para>
@@ -3678,7 +3678,7 @@ acl | {postgres=arwdDxtm/postgres,foo=r/postgres}
</sect2>
- <sect2 id="functions-info-wal-summary">
+ <sect2 id="functions-info-wal-summary" xreflabel="WAL Summarization Information Functions">
<title>WAL Summarization Information Functions</title>
<para>
diff --git a/doc/src/sgml/func/func-json.sgml b/doc/src/sgml/func/func-json.sgml
index 1ec73cff464..5c015d24946 100644
--- a/doc/src/sgml/func/func-json.sgml
+++ b/doc/src/sgml/func/func-json.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-json">
+ <sect1 id="functions-json" xreflabel="JSON Functions and Operators">
<title>JSON Functions and Operators</title>
<indexterm zone="functions-json">
@@ -75,7 +75,7 @@
see <xref linkend="datatype-json"/>.
</para>
- <sect2 id="functions-json-processing">
+ <sect2 id="functions-json-processing" xreflabel="Processing and Creating JSON Data">
<title>Processing and Creating JSON Data</title>
<para>
@@ -1850,7 +1850,7 @@ ERROR: value too long for type character(2)
</table>
</sect2>
- <sect2 id="functions-sqljson-path">
+ <sect2 id="functions-sqljson-path" xreflabel="The SQL/JSON Path Language">
<title>The SQL/JSON Path Language</title>
<indexterm zone="functions-sqljson-path">
@@ -2088,14 +2088,14 @@ SELECT '{
</screen>
</para>
- <sect3 id="functions-sqljson-deviations">
+ <sect3 id="functions-sqljson-deviations" xreflabel="Deviations from the SQL Standard">
<title>Deviations from the SQL Standard</title>
<para>
<productname>PostgreSQL</productname>'s implementation of the SQL/JSON path
language has the following deviations from the SQL/JSON standard.
</para>
- <sect4 id="functions-sqljson-check-expressions">
+ <sect4 id="functions-sqljson-check-expressions" xreflabel="Boolean Predicate Check Expressions">
<title>Boolean Predicate Check Expressions</title>
<para>
As an extension to the SQL standard,
@@ -2144,7 +2144,7 @@ SELECT '{
</sect4>
</sect3>
- <sect3 id="functions-sqljson-strict-and-lax-modes">
+ <sect3 id="functions-sqljson-strict-and-lax-modes" xreflabel="Strict and Lax Modes">
<title>Strict and Lax Modes</title>
<para>
When you query JSON data, the path expression may not match the
@@ -2294,7 +2294,7 @@ ERROR: jsonpath member accessor can only be applied to an object
</para>
</sect3>
- <sect3 id="functions-sqljson-path-operators">
+ <sect3 id="functions-sqljson-path-operators" xreflabel="SQL/JSON Path Operators and Methods">
<title>SQL/JSON Path Operators and Methods</title>
<para>
@@ -3455,7 +3455,7 @@ DETAIL: Missing "]" after array dimensions.
</note>
</sect2>
- <sect2 id="functions-sqljson-table">
+ <sect2 id="functions-sqljson-table" xreflabel="JSON_TABLE">
<title>JSON_TABLE</title>
<indexterm>
<primary>json_table</primary>
diff --git a/doc/src/sgml/func/func-logical.sgml b/doc/src/sgml/func/func-logical.sgml
index 65e50e65a81..751b3e71b00 100644
--- a/doc/src/sgml/func/func-logical.sgml
+++ b/doc/src/sgml/func/func-logical.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-logical">
+ <sect1 id="functions-logical" xreflabel="Logical Operators">
<title>Logical Operators</title>
<indexterm zone="functions-logical">
diff --git a/doc/src/sgml/func/func-matching.sgml b/doc/src/sgml/func/func-matching.sgml
index f466860ddb0..a92826baccd 100644
--- a/doc/src/sgml/func/func-matching.sgml
+++ b/doc/src/sgml/func/func-matching.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-matching">
+ <sect1 id="functions-matching" xreflabel="Pattern Matching">
<title>Pattern Matching</title>
<indexterm zone="functions-matching">
@@ -53,7 +53,7 @@
to work around this limitation.
</para>
- <sect2 id="functions-like">
+ <sect2 id="functions-like" xreflabel="LIKE">
<title><function>LIKE</function></title>
<indexterm>
@@ -218,7 +218,7 @@
</sect2>
- <sect2 id="functions-similarto-regexp">
+ <sect2 id="functions-similarto-regexp" xreflabel="SIMILAR TO Regular Expressions">
<title><function>SIMILAR TO</function> Regular Expressions</title>
<indexterm>
@@ -418,7 +418,7 @@ substring('foobar' SIMILAR '#"o_b#"%' ESCAPE '#') <lineannotation>NULL</linea
</para>
</sect2>
- <sect2 id="functions-posix-regexp">
+ <sect2 id="functions-posix-regexp" xreflabel="POSIX Regular Expressions">
<title><acronym>POSIX</acronym> Regular Expressions</title>
<indexterm zone="functions-posix-regexp">
@@ -2269,7 +2269,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
<!-- end re_syntax.n man page -->
- <sect3 id="posix-vs-xquery">
+ <sect3 id="posix-vs-xquery" xreflabel="Differences from SQL Standard and XQuery">
<title>Differences from SQL Standard and XQuery</title>
<indexterm zone="posix-vs-xquery">
diff --git a/doc/src/sgml/func/func-math.sgml b/doc/src/sgml/func/func-math.sgml
index 9dcf97e7c9e..f5944c87843 100644
--- a/doc/src/sgml/func/func-math.sgml
+++ b/doc/src/sgml/func/func-math.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-math">
+ <sect1 id="functions-math" xreflabel="Mathematical Functions and Operators">
<title>Mathematical Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-merge-support.sgml b/doc/src/sgml/func/func-merge-support.sgml
index 7f084271c13..c4e788d79d3 100644
--- a/doc/src/sgml/func/func-merge-support.sgml
+++ b/doc/src/sgml/func/func-merge-support.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-merge-support">
+ <sect1 id="functions-merge-support" xreflabel="Merge Support Functions">
<title>Merge Support Functions</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-net.sgml b/doc/src/sgml/func/func-net.sgml
index 1361a44c197..5294c0f45da 100644
--- a/doc/src/sgml/func/func-net.sgml
+++ b/doc/src/sgml/func/func-net.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-net">
+ <sect1 id="functions-net" xreflabel="Network Address Functions and Operators">
<title>Network Address Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-range.sgml b/doc/src/sgml/func/func-range.sgml
index 3c5a34796a1..02a7de1abe1 100644
--- a/doc/src/sgml/func/func-range.sgml
+++ b/doc/src/sgml/func/func-range.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-range">
+ <sect1 id="functions-range" xreflabel="Range/Multirange Functions and Operators">
<title>Range/Multirange Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-sequence.sgml b/doc/src/sgml/func/func-sequence.sgml
index 4a2a6dc9369..9f2656735c6 100644
--- a/doc/src/sgml/func/func-sequence.sgml
+++ b/doc/src/sgml/func/func-sequence.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-sequence">
+ <sect1 id="functions-sequence" xreflabel="Sequence Manipulation Functions">
<title>Sequence Manipulation Functions</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-srf.sgml b/doc/src/sgml/func/func-srf.sgml
index 34a45971aad..5d79b124cee 100644
--- a/doc/src/sgml/func/func-srf.sgml
+++ b/doc/src/sgml/func/func-srf.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-srf">
+ <sect1 id="functions-srf" xreflabel="Set Returning Functions">
<title>Set Returning Functions</title>
<indexterm zone="functions-srf">
diff --git a/doc/src/sgml/func/func-statistics.sgml b/doc/src/sgml/func/func-statistics.sgml
index 22dee263cc2..7e745e4a04e 100644
--- a/doc/src/sgml/func/func-statistics.sgml
+++ b/doc/src/sgml/func/func-statistics.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-statistics">
+ <sect1 id="functions-statistics" xreflabel="Statistics Information Functions">
<title>Statistics Information Functions</title>
<indexterm zone="functions-statistics">
@@ -11,7 +11,7 @@
statistics defined using the <command>CREATE STATISTICS</command> command.
</para>
- <sect2 id="functions-statistics-mcv">
+ <sect2 id="functions-statistics-mcv" xreflabel="Inspecting MCV Lists">
<title>Inspecting MCV Lists</title>
<indexterm>
diff --git a/doc/src/sgml/func/func-string.sgml b/doc/src/sgml/func/func-string.sgml
index 7ad1436e5f8..ac7a58044ff 100644
--- a/doc/src/sgml/func/func-string.sgml
+++ b/doc/src/sgml/func/func-string.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-string">
+ <sect1 id="functions-string" xreflabel="String Functions and Operators">
<title>String Functions and Operators</title>
<para>
diff --git a/doc/src/sgml/func/func-subquery.sgml b/doc/src/sgml/func/func-subquery.sgml
index a9f2b12e48c..df67f51b525 100644
--- a/doc/src/sgml/func/func-subquery.sgml
+++ b/doc/src/sgml/func/func-subquery.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-subquery">
+ <sect1 id="functions-subquery" xreflabel="Subquery Expressions">
<title>Subquery Expressions</title>
<indexterm>
@@ -36,7 +36,7 @@
Boolean (true/false) results.
</para>
- <sect2 id="functions-subquery-exists">
+ <sect2 id="functions-subquery-exists" xreflabel="EXISTS">
<title><literal>EXISTS</literal></title>
<synopsis>
@@ -86,7 +86,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2);
</para>
</sect2>
- <sect2 id="functions-subquery-in">
+ <sect2 id="functions-subquery-in" xreflabel="IN">
<title><literal>IN</literal></title>
<synopsis>
@@ -142,7 +142,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2);
</para>
</sect2>
- <sect2 id="functions-subquery-notin">
+ <sect2 id="functions-subquery-notin" xreflabel="NOT IN">
<title><literal>NOT IN</literal></title>
<synopsis>
@@ -198,7 +198,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2);
</para>
</sect2>
- <sect2 id="functions-subquery-any-some">
+ <sect2 id="functions-subquery-any-some" xreflabel="ANY/SOME">
<title><literal>ANY</literal>/<literal>SOME</literal></title>
<synopsis>
@@ -263,7 +263,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2);
</para>
</sect2>
- <sect2 id="functions-subquery-all">
+ <sect2 id="functions-subquery-all" xreflabel="ALL">
<title><literal>ALL</literal></title>
<synopsis>
@@ -319,7 +319,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2);
</para>
</sect2>
- <sect2 id="functions-subquery-single-row-comp">
+ <sect2 id="functions-subquery-single-row-comp" xreflabel="Single-Row Comparison">
<title>Single-Row Comparison</title>
<indexterm zone="functions-subquery">
diff --git a/doc/src/sgml/func/func-textsearch.sgml b/doc/src/sgml/func/func-textsearch.sgml
index 290ad81d697..473f7d8a19c 100644
--- a/doc/src/sgml/func/func-textsearch.sgml
+++ b/doc/src/sgml/func/func-textsearch.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-textsearch">
+ <sect1 id="functions-textsearch" xreflabel="Text Search Functions and Operators">
<title>Text Search Functions and Operators</title>
<indexterm zone="datatype-textsearch">
diff --git a/doc/src/sgml/func/func-trigger.sgml b/doc/src/sgml/func/func-trigger.sgml
index 94b40adbdb8..61a4eb11488 100644
--- a/doc/src/sgml/func/func-trigger.sgml
+++ b/doc/src/sgml/func/func-trigger.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-trigger">
+ <sect1 id="functions-trigger" xreflabel="Trigger Functions">
<title>Trigger Functions</title>
<para>
diff --git a/doc/src/sgml/func/func-uuid.sgml b/doc/src/sgml/func/func-uuid.sgml
index 2638e2bf855..7cc54a22c9b 100644
--- a/doc/src/sgml/func/func-uuid.sgml
+++ b/doc/src/sgml/func/func-uuid.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-uuid">
+ <sect1 id="functions-uuid" xreflabel="UUID Functions">
<title>UUID Functions</title>
<indexterm zone="functions-uuid">
diff --git a/doc/src/sgml/func/func-window.sgml b/doc/src/sgml/func/func-window.sgml
index bcf755c9ebc..9c774e7ab03 100644
--- a/doc/src/sgml/func/func-window.sgml
+++ b/doc/src/sgml/func/func-window.sgml
@@ -1,4 +1,4 @@
- <sect1 id="functions-window">
+ <sect1 id="functions-window" xreflabel="Window Functions">
<title>Window Functions</title>
<indexterm zone="functions-window">
diff --git a/doc/src/sgml/func/func-xml.sgml b/doc/src/sgml/func/func-xml.sgml
index 511bc90852a..701a52de96d 100644
--- a/doc/src/sgml/func/func-xml.sgml
+++ b/doc/src/sgml/func/func-xml.sgml
@@ -21,7 +21,7 @@
with <command>configure --with-libxml</command>.
</para>
- <sect2 id="functions-producing-xml">
+ <sect2 id="functions-producing-xml" xreflabel="Producing XML Content">
<title>Producing XML Content</title>
<para>
@@ -382,7 +382,7 @@ SELECT xmlroot(xmlparse(document '<?xml version="1.1"?><content>abc</content>'),
</para>
</sect3>
- <sect3 id="functions-xml-xmlagg">
+ <sect3 id="functions-xml-xmlagg" xreflabel="xmlagg">
<title><literal>xmlagg</literal></title>
<indexterm>
@@ -617,7 +617,7 @@ SELECT xml_is_well_formed_document('<pg:foo xmlns:pg="http://postgresql.org/stuf
</sect3>
</sect2>
- <sect2 id="functions-xml-processing">
+ <sect2 id="functions-xml-processing" xreflabel="Processing XML">
<title>Processing XML</title>
<para>
@@ -1012,7 +1012,7 @@ SELECT xmltable.*
</sect3>
</sect2>
- <sect2 id="functions-xml-mapping">
+ <sect2 id="functions-xml-mapping" xreflabel="Mapping Tables to XML">
<title>Mapping Tables to XML</title>
<indexterm zone="functions-xml-mapping">
diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml
index bcadc440e39..f8053a8fa95 100644
--- a/doc/src/sgml/fuzzystrmatch.sgml
+++ b/doc/src/sgml/fuzzystrmatch.sgml
@@ -28,7 +28,7 @@
on the current database.
</para>
- <sect2 id="fuzzystrmatch-soundex">
+ <sect2 id="fuzzystrmatch-soundex" xreflabel="Soundex">
<title>Soundex</title>
<para>
@@ -90,7 +90,7 @@ SELECT * FROM s WHERE difference(s.nm, 'john') > 2;
</programlisting>
</sect2>
- <sect2 id="fuzzystrmatch-daitch-mokotoff">
+ <sect2 id="fuzzystrmatch-daitch-mokotoff" xreflabel="Daitch-Mokotoff Soundex">
<title>Daitch-Mokotoff Soundex</title>
<para>
@@ -243,7 +243,7 @@ SELECT * FROM s WHERE soundex_tsvector(nm) @@ soundex_tsquery('Jameson John');
</para>
</sect2>
- <sect2 id="fuzzystrmatch-levenshtein">
+ <sect2 id="fuzzystrmatch-levenshtein" xreflabel="Levenshtein">
<title>Levenshtein</title>
<para>
@@ -314,7 +314,7 @@ test=# SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
</screen>
</sect2>
- <sect2 id="fuzzystrmatch-metaphone">
+ <sect2 id="fuzzystrmatch-metaphone" xreflabel="Metaphone">
<title>Metaphone</title>
<para>
@@ -355,7 +355,7 @@ test=# SELECT metaphone('GUMBO', 4);
</screen>
</sect2>
- <sect2 id="fuzzystrmatch-double-metaphone">
+ <sect2 id="fuzzystrmatch-double-metaphone" xreflabel="Double Metaphone">
<title>Double Metaphone</title>
<para>
diff --git a/doc/src/sgml/generic-wal.sgml b/doc/src/sgml/generic-wal.sgml
index 41f97ad7dc8..0bcaf48604c 100644
--- a/doc/src/sgml/generic-wal.sgml
+++ b/doc/src/sgml/generic-wal.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/generic-wal.sgml -->
-<sect1 id="generic-wal">
+<sect1 id="generic-wal" xreflabel="Generic WAL Records">
<title>Generic WAL Records</title>
<para>
diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml
index 82bf3b690d8..045deb3c063 100644
--- a/doc/src/sgml/geqo.sgml
+++ b/doc/src/sgml/geqo.sgml
@@ -13,7 +13,7 @@
</note>
</para>
- <sect1 id="geqo-intro">
+ <sect1 id="geqo-intro" xreflabel="Query Handling as a Complex Optimization Problem">
<title>Query Handling as a Complex Optimization Problem</title>
<para>
@@ -59,7 +59,7 @@
</para>
</sect1>
- <sect1 id="geqo-intro2">
+ <sect1 id="geqo-intro2" xreflabel="Genetic Algorithms">
<title>Genetic Algorithms</title>
<para>
@@ -106,7 +106,7 @@
</sect1>
- <sect1 id="geqo-pg-intro">
+ <sect1 id="geqo-pg-intro" xreflabel="Genetic Query Optimization (GEQO) in PostgreSQL">
<title>Genetic Query Optimization (<acronym>GEQO</acronym>) in PostgreSQL</title>
<para>
@@ -173,7 +173,7 @@
non-exhaustive search.
</para>
- <sect2 id="geqo-pg-intro-gen-possible-plans">
+ <sect2 id="geqo-pg-intro-gen-possible-plans" xreflabel="Generating Possible Plans with GEQO">
<title>Generating Possible Plans with <acronym>GEQO</acronym></title>
<para>
@@ -261,7 +261,7 @@
</sect2>
</sect1>
- <sect1 id="geqo-biblio">
+ <sect1 id="geqo-biblio" xreflabel="Further Reading">
<title>Further Reading</title>
<para>
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 82410b1fbdf..33c8fd23b9d 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/gin.sgml -->
-<sect1 id="gin">
+<sect1 id="gin" xreflabel="GIN Indexes">
<title>GIN Indexes</title>
<indexterm>
@@ -501,7 +501,7 @@
</mediaobject>
</figure>
- <sect3 id="gin-fast-update">
+ <sect3 id="gin-fast-update" xreflabel="GIN Fast Update Technique">
<title>GIN Fast Update Technique</title>
<para>
@@ -541,7 +541,7 @@
</para>
</sect3>
- <sect3 id="gin-partial-match">
+ <sect3 id="gin-partial-match" xreflabel="Partial Match Algorithm">
<title>Partial Match Algorithm</title>
<para>
@@ -562,7 +562,7 @@
</sect2>
-<sect2 id="gin-tips">
+<sect2 id="gin-tips" xreflabel="GIN Tips and Tricks">
<title>GIN Tips and Tricks</title>
<variablelist>
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index 1871f742721..a439e5040d9 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/gist.sgml -->
-<sect1 id="gist">
+<sect1 id="gist" xreflabel="GiST Indexes">
<title>GiST Indexes</title>
<indexterm>
@@ -1273,7 +1273,7 @@ my_translate_cmptype(PG_FUNCTION_ARGS)
<sect2 id="gist-implementation">
<title>Implementation</title>
- <sect3 id="gist-buffering-build">
+ <sect3 id="gist-buffering-build" xreflabel="GiST Index Build Methods">
<title>GiST Index Build Methods</title>
<para>
diff --git a/doc/src/sgml/hash.sgml b/doc/src/sgml/hash.sgml
index 34f3b2cb0c1..c601f6fa7de 100644
--- a/doc/src/sgml/hash.sgml
+++ b/doc/src/sgml/hash.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/hash.sgml -->
-<sect1 id="hash-index">
+<sect1 id="hash-index" xreflabel="Hash Indexes">
<title>Hash Indexes</title>
<indexterm>
diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml
index 33ca3f0286c..86cb2764f28 100644
--- a/doc/src/sgml/high-availability.sgml
+++ b/doc/src/sgml/high-availability.sgml
@@ -576,7 +576,7 @@ protocol to make nodes agree on a serializable transactional order.
<primary>STONITH</primary>
</indexterm>
- <sect2 id="standby-planning">
+ <sect2 id="standby-planning" xreflabel="Planning">
<title>Planning</title>
<para>
@@ -660,7 +660,7 @@ protocol to make nodes agree on a serializable transactional order.
</para>
</sect2>
- <sect2 id="preparing-primary-for-standby">
+ <sect2 id="preparing-primary-for-standby" xreflabel="Preparing the Primary for Standby Servers">
<title>Preparing the Primary for Standby Servers</title>
<para>
@@ -690,7 +690,7 @@ protocol to make nodes agree on a serializable transactional order.
</para>
</sect2>
- <sect2 id="standby-server-setup">
+ <sect2 id="standby-server-setup" xreflabel="Setting Up a Standby Server">
<title>Setting Up a Standby Server</title>
<para>
@@ -758,7 +758,7 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive "%r"'
</sect2>
- <sect2 id="streaming-replication">
+ <sect2 id="streaming-replication" xreflabel="Streaming Replication">
<title>Streaming Replication</title>
<indexterm zone="high-availability">
@@ -925,7 +925,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</sect3>
</sect2>
- <sect2 id="streaming-replication-slots">
+ <sect2 id="streaming-replication-slots" xreflabel="Replication Slots">
<title>Replication Slots</title>
<indexterm>
<primary>replication slot</primary>
@@ -1009,7 +1009,7 @@ primary_slot_name = 'node_a_slot'
</sect3>
</sect2>
- <sect2 id="cascading-replication">
+ <sect2 id="cascading-replication" xreflabel="Cascading Replication">
<title>Cascading Replication</title>
<indexterm zone="high-availability">
@@ -1066,7 +1066,7 @@ primary_slot_name = 'node_a_slot'
</para>
</sect2>
- <sect2 id="synchronous-replication">
+ <sect2 id="synchronous-replication" xreflabel="Synchronous Replication">
<title>Synchronous Replication</title>
<indexterm zone="high-availability">
@@ -1384,7 +1384,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)'
</sect3>
</sect2>
- <sect2 id="read-your-writes-consistency">
+ <sect2 id="read-your-writes-consistency" xreflabel="Read-Your-Writes Consistency">
<title>Read-Your-Writes Consistency</title>
<para>
@@ -1438,7 +1438,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="continuous-archiving-in-standby">
+ <sect2 id="continuous-archiving-in-standby" xreflabel="Continuous Archiving in Standby">
<title>Continuous Archiving in Standby</title>
<indexterm>
@@ -1480,7 +1480,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</sect2>
</sect1>
- <sect1 id="warm-standby-failover">
+ <sect1 id="warm-standby-failover" xreflabel="Failover">
<title>Failover</title>
<para>
@@ -1567,7 +1567,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect1>
- <sect1 id="hot-standby">
+ <sect1 id="hot-standby" xreflabel="Hot Standby">
<title>Hot Standby</title>
<indexterm zone="high-availability">
@@ -1591,7 +1591,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
explained below.
</para>
- <sect2 id="hot-standby-users">
+ <sect2 id="hot-standby-users" xreflabel="User's Overview">
<title>User's Overview</title>
<para>
@@ -1807,7 +1807,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="hot-standby-conflict">
+ <sect2 id="hot-standby-conflict" xreflabel="Handling Query Conflicts">
<title>Handling Query Conflicts</title>
<para>
@@ -2009,7 +2009,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="hot-standby-admin">
+ <sect2 id="hot-standby-admin" xreflabel="Administrator's Overview">
<title>Administrator's Overview</title>
<para>
@@ -2325,7 +2325,7 @@ HINT: You can then restart the server after making the necessary configuration
</para>
</sect2>
- <sect2 id="hot-standby-parameters">
+ <sect2 id="hot-standby-parameters" xreflabel="Hot Standby Parameter Reference">
<title>Hot Standby Parameter Reference</title>
<para>
@@ -2348,7 +2348,7 @@ HINT: You can then restart the server after making the necessary configuration
</para>
</sect2>
- <sect2 id="hot-standby-caveats">
+ <sect2 id="hot-standby-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml
index 8bfa1db670d..a051b816b4b 100644
--- a/doc/src/sgml/history.sgml
+++ b/doc/src/sgml/history.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/history.sgml -->
-<sect1 id="history">
+<sect1 id="history" xreflabel="A Brief History of PostgreSQL">
<title>A Brief History of <productname>PostgreSQL</productname></title>
<indexterm zone="history">
@@ -23,7 +23,7 @@
<xref linkend="hell18"/>.
</para>
- <sect2 id="history-berkeley">
+ <sect2 id="history-berkeley" xreflabel="The Berkeley POSTGRES Project">
<title>The Berkeley <productname>POSTGRES</productname> Project</title>
<indexterm zone="history-berkeley">
@@ -90,7 +90,7 @@
</para>
</sect2>
- <sect2 id="history-postgres95">
+ <sect2 id="history-postgres95" xreflabel="Postgres95">
<title><productname>Postgres95</productname></title>
<indexterm zone="history-postgres95">
@@ -188,7 +188,7 @@
</para>
</sect2>
- <sect2 id="history-postgresql">
+ <sect2 id="history-postgresql" xreflabel="PostgreSQL">
<title><productname>PostgreSQL</productname></title>
<para>
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 5f8d1d1ff43..bae5a68b898 100644
--- a/doc/src/sgml/hstore.sgml
+++ b/doc/src/sgml/hstore.sgml
@@ -21,7 +21,7 @@
on the current database.
</para>
- <sect2 id="hstore-external-rep">
+ <sect2 id="hstore-external-rep" xreflabel="hstore External Representation">
<title><type>hstore</type> External Representation</title>
<para>
@@ -88,7 +88,7 @@ key => NULL
</sect2>
- <sect2 id="hstore-ops-funcs">
+ <sect2 id="hstore-ops-funcs" xreflabel="hstore Operators and Functions">
<title><type>hstore</type> Operators and Functions</title>
<para>
@@ -738,7 +738,7 @@ SELECT h FROM mytable;
</para>
</sect2>
- <sect2 id="hstore-indexes">
+ <sect2 id="hstore-indexes" xreflabel="Indexes">
<title>Indexes</title>
<para>
@@ -784,7 +784,7 @@ CREATE INDEX hidx ON testhstore USING HASH (h);
</programlisting>
</sect2>
- <sect2 id="hstore-examples">
+ <sect2 id="hstore-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -853,7 +853,7 @@ SELECT (r).* FROM (SELECT t #= '"col3"=>"baz"' AS r FROM test t) s;
</para>
</sect2>
- <sect2 id="hstore-statistics">
+ <sect2 id="hstore-statistics" xreflabel="Statistics">
<title>Statistics</title>
<para>
@@ -900,7 +900,7 @@ SELECT key, count(*) FROM
</para>
</sect2>
- <sect2 id="hstore-compatibility">
+ <sect2 id="hstore-compatibility" xreflabel="Compatibility">
<title>Compatibility</title>
<para>
@@ -933,7 +933,7 @@ ALTER TABLE tablename ALTER hstorecol TYPE hstore USING hstorecol || '';
</sect2>
- <sect2 id="hstore-transforms">
+ <sect2 id="hstore-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -948,7 +948,7 @@ ALTER TABLE tablename ALTER hstorecol TYPE hstore USING hstorecol || '';
</para>
</sect2>
- <sect2 id="hstore-authors">
+ <sect2 id="hstore-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/indexam.sgml b/doc/src/sgml/indexam.sgml
index 63d7e376f19..521279f33a6 100644
--- a/doc/src/sgml/indexam.sgml
+++ b/doc/src/sgml/indexam.sgml
@@ -52,7 +52,7 @@
are reclaimed.
</para>
- <sect1 id="index-api">
+ <sect1 id="index-api" xreflabel="Basic API Structure for Indexes">
<title>Basic API Structure for Indexes</title>
<para>
@@ -276,7 +276,7 @@ typedef struct IndexAmRoutine
</sect1>
- <sect1 id="index-functions">
+ <sect1 id="index-functions" xreflabel="Index Access Method Functions">
<title>Index Access Method Functions</title>
<para>
@@ -911,7 +911,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-scanning">
+ <sect1 id="index-scanning" xreflabel="Index Scanning">
<title>Index Scanning</title>
<para>
@@ -1066,7 +1066,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-locking">
+ <sect1 id="index-locking" xreflabel="Index Locking Considerations">
<title>Index Locking Considerations</title>
<para>
@@ -1182,7 +1182,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-unique-checks">
+ <sect1 id="index-unique-checks" xreflabel="Index Uniqueness Checks">
<title>Index Uniqueness Checks</title>
<para>
@@ -1331,7 +1331,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-cost-estimation">
+ <sect1 id="index-cost-estimation" xreflabel="Index Cost Estimation Functions">
<title>Index Cost Estimation Functions</title>
<para>
diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml
index 55f39b0df2f..93f9617b4c1 100644
--- a/doc/src/sgml/indices.sgml
+++ b/doc/src/sgml/indices.sgml
@@ -16,7 +16,7 @@
</para>
- <sect1 id="indexes-intro">
+ <sect1 id="indexes-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -145,7 +145,7 @@ CREATE INDEX test1_id_index ON test1 (id);
</sect1>
- <sect1 id="indexes-types">
+ <sect1 id="indexes-types" xreflabel="Index Types">
<title>Index Types</title>
<para>
@@ -165,7 +165,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</programlisting>
</para>
- <sect2 id="indexes-types-btree">
+ <sect2 id="indexes-types-btree" xreflabel="B-Tree">
<title>B-Tree</title>
<indexterm>
@@ -217,7 +217,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</para>
</sect2>
- <sect2 id="indexes-types-hash">
+ <sect2 id="indexes-types-hash" xreflabel="Hash">
<title>Hash</title>
<indexterm>
@@ -243,7 +243,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</para>
</sect2>
- <sect2 id="indexes-type-gist">
+ <sect2 id="indexes-type-gist" xreflabel="GiST">
<title>GiST</title>
<indexterm>
@@ -292,7 +292,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-type-spgist">
+ <sect2 id="indexes-type-spgist" xreflabel="SP-GiST">
<title>SP-GiST</title>
<indexterm>
@@ -332,7 +332,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-types-gin">
+ <sect2 id="indexes-types-gin" xreflabel="GIN">
<title>GIN</title>
<indexterm>
@@ -375,7 +375,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-types-brin">
+ <sect2 id="indexes-types-brin" xreflabel="BRIN">
<title>BRIN</title>
<indexterm>
@@ -413,7 +413,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</sect1>
- <sect1 id="indexes-multicolumn">
+ <sect1 id="indexes-multicolumn" xreflabel="Multicolumn Indexes">
<title>Multicolumn Indexes</title>
<indexterm zone="indexes-multicolumn">
@@ -555,7 +555,7 @@ CREATE INDEX test2_mm_idx ON test2 (major, minor);
</sect1>
- <sect1 id="indexes-ordering">
+ <sect1 id="indexes-ordering" xreflabel="Indexes and ORDER BY">
<title>Indexes and <literal>ORDER BY</literal></title>
<indexterm zone="indexes-ordering">
@@ -639,7 +639,7 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);
</sect1>
- <sect1 id="indexes-bitmap-scans">
+ <sect1 id="indexes-bitmap-scans" xreflabel="Combining Multiple Indexes">
<title>Combining Multiple Indexes</title>
<indexterm zone="indexes-bitmap-scans">
@@ -725,7 +725,7 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);
</sect1>
- <sect1 id="indexes-unique">
+ <sect1 id="indexes-unique" xreflabel="Unique Indexes">
<title>Unique Indexes</title>
<indexterm zone="indexes-unique">
@@ -769,7 +769,7 @@ CREATE UNIQUE INDEX <replaceable>name</replaceable> ON <replaceable>table</repla
</sect1>
- <sect1 id="indexes-expressional">
+ <sect1 id="indexes-expressional" xreflabel="Indexes on Expressions">
<title>Indexes on Expressions</title>
<indexterm zone="indexes-expressional">
@@ -838,7 +838,7 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name));
</sect1>
- <sect1 id="indexes-partial">
+ <sect1 id="indexes-partial" xreflabel="Partial Indexes">
<title>Partial Indexes</title>
<indexterm zone="indexes-partial">
@@ -1118,7 +1118,7 @@ CREATE INDEX mytable_cat_data ON mytable (category, data);
</sect1>
- <sect1 id="indexes-index-only-scans">
+ <sect1 id="indexes-index-only-scans" xreflabel="Index-Only Scans and Covering Indexes">
<title>Index-Only Scans and Covering Indexes</title>
<indexterm zone="indexes-index-only-scans">
@@ -1378,7 +1378,7 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success;
</sect1>
- <sect1 id="indexes-opclass">
+ <sect1 id="indexes-opclass" xreflabel="Operator Classes and Operator Families">
<title>Operator Classes and Operator Families</title>
<indexterm zone="indexes-opclass">
@@ -1516,7 +1516,7 @@ SELECT am.amname AS index_method,
</sect1>
- <sect1 id="indexes-collations">
+ <sect1 id="indexes-collations" xreflabel="Indexes and Collations">
<title>Indexes and Collations</title>
<para>
@@ -1554,7 +1554,7 @@ CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");
</sect1>
- <sect1 id="indexes-examine">
+ <sect1 id="indexes-examine" xreflabel="Examining Index Usage">
<title>Examining Index Usage</title>
<indexterm zone="indexes-examine">
diff --git a/doc/src/sgml/info.sgml b/doc/src/sgml/info.sgml
index 6b9f1b5d814..9f6aef4014f 100644
--- a/doc/src/sgml/info.sgml
+++ b/doc/src/sgml/info.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/info.sgml -->
-<sect1 id="resources">
+<sect1 id="resources" xreflabel="Further Information">
<title>Further Information</title>
<para>
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 60b4c4ae8c0..8c5b5fe6d69 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -45,7 +45,7 @@
</note>
- <sect1 id="infoschema-schema">
+ <sect1 id="infoschema-schema" xreflabel="The Schema">
<title>The Schema</title>
<para>
@@ -67,7 +67,7 @@
</para>
</sect1>
- <sect1 id="infoschema-datatypes">
+ <sect1 id="infoschema-datatypes" xreflabel="Data Types">
<title>Data Types</title>
<para>
@@ -141,7 +141,7 @@
</para>
</sect1>
- <sect1 id="infoschema-information-schema-catalog-name">
+ <sect1 id="infoschema-information-schema-catalog-name" xreflabel="information_schema_catalog_name">
<title><literal>information_schema_catalog_name</literal></title>
<para>
@@ -178,7 +178,7 @@
</table>
</sect1>
- <sect1 id="infoschema-administrable-role-authorizations">
+ <sect1 id="infoschema-administrable-role-authorizations" xreflabel="administrable_role_authorizations">
<title><literal>administrable_role_&zwsp;authorizations</literal></title>
<para>
@@ -235,7 +235,7 @@
</table>
</sect1>
- <sect1 id="infoschema-applicable-roles">
+ <sect1 id="infoschema-applicable-roles" xreflabel="applicable_roles">
<title><literal>applicable_roles</literal></title>
<para>
@@ -297,7 +297,7 @@
</table>
</sect1>
- <sect1 id="infoschema-attributes">
+ <sect1 id="infoschema-attributes" xreflabel="attributes">
<title><literal>attributes</literal></title>
<para>
@@ -666,7 +666,7 @@
</para>
</sect1>
- <sect1 id="infoschema-character-sets">
+ <sect1 id="infoschema-character-sets" xreflabel="character_sets">
<title><literal>character_sets</literal></title>
<para>
@@ -824,7 +824,7 @@
</table>
</sect1>
- <sect1 id="infoschema-check-constraint-routine-usage">
+ <sect1 id="infoschema-check-constraint-routine-usage" xreflabel="check_constraint_routine_usage">
<title><literal>check_constraint_routine_usage</literal></title>
<para>
@@ -907,7 +907,7 @@
</table>
</sect1>
- <sect1 id="infoschema-check-constraints">
+ <sect1 id="infoschema-check-constraints" xreflabel="check_constraints">
<title><literal>check_constraints</literal></title>
<para>
@@ -979,7 +979,7 @@
</table>
</sect1>
- <sect1 id="infoschema-collations">
+ <sect1 id="infoschema-collations" xreflabel="collations">
<title><literal>collations</literal></title>
<para>
@@ -1128,7 +1128,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-column-usage">
+ <sect1 id="infoschema-column-column-usage" xreflabel="column_column_usage">
<title><literal>column_column_usage</literal></title>
<para>
@@ -1201,7 +1201,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-domain-usage">
+ <sect1 id="infoschema-column-domain-usage" xreflabel="column_domain_usage">
<title><literal>column_domain_usage</literal></title>
<para>
@@ -1292,7 +1292,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-options">
+ <sect1 id="infoschema-column-options" xreflabel="column_options">
<title><literal>column_options</literal></title>
<para>
@@ -1375,7 +1375,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-privileges">
+ <sect1 id="infoschema-column-privileges" xreflabel="column_privileges">
<title><literal>column_privileges</literal></title>
<para>
@@ -1486,7 +1486,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-udt-usage">
+ <sect1 id="infoschema-column-udt-usage" xreflabel="column_udt_usage">
<title><literal>column_udt_usage</literal></title>
<para>
@@ -1583,7 +1583,7 @@
</table>
</sect1>
- <sect1 id="infoschema-columns">
+ <sect1 id="infoschema-columns" xreflabel="columns">
<title><literal>columns</literal></title>
<para>
@@ -2115,7 +2115,7 @@
</para>
</sect1>
- <sect1 id="infoschema-constraint-column-usage">
+ <sect1 id="infoschema-constraint-column-usage" xreflabel="constraint_column_usage">
<title><literal>constraint_column_usage</literal></title>
<para>
@@ -2217,7 +2217,7 @@
</table>
</sect1>
- <sect1 id="infoschema-constraint-table-usage">
+ <sect1 id="infoschema-constraint-table-usage" xreflabel="constraint_table_usage">
<title><literal>constraint_table_usage</literal></title>
<para>
@@ -2308,7 +2308,7 @@
</table>
</sect1>
- <sect1 id="infoschema-data-type-privileges">
+ <sect1 id="infoschema-data-type-privileges" xreflabel="data_type_privileges">
<title><literal>data_type_privileges</literal></title>
<para>
@@ -2397,7 +2397,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domain-constraints">
+ <sect1 id="infoschema-domain-constraints" xreflabel="domain_constraints">
<title><literal>domain_constraints</literal></title>
<para>
@@ -2498,7 +2498,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domain-udt-usage">
+ <sect1 id="infoschema-domain-udt-usage" xreflabel="domain_udt_usage">
<title><literal>domain_udt_usage</literal></title>
<para>
@@ -2582,7 +2582,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domains">
+ <sect1 id="infoschema-domains" xreflabel="domains">
<title><literal>domains</literal></title>
<para>
@@ -2904,7 +2904,7 @@
</table>
</sect1>
- <sect1 id="infoschema-element-types">
+ <sect1 id="infoschema-element-types" xreflabel="element_types">
<title><literal>element_types</literal></title>
<para>
@@ -3222,7 +3222,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-enabled-roles">
+ <sect1 id="infoschema-enabled-roles" xreflabel="enabled_roles">
<title><literal>enabled_roles</literal></title>
<para>
@@ -3273,7 +3273,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-data-wrapper-options">
+ <sect1 id="infoschema-foreign-data-wrapper-options" xreflabel="foreign_data_wrapper_options">
<title><literal>foreign_data_wrapper_options</literal></title>
<para>
@@ -3339,7 +3339,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-data-wrappers">
+ <sect1 id="infoschema-foreign-data-wrappers" xreflabel="foreign_data_wrappers">
<title><literal>foreign_data_wrappers</literal></title>
<para>
@@ -3414,7 +3414,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-server-options">
+ <sect1 id="infoschema-foreign-server-options" xreflabel="foreign_server_options">
<title><literal>foreign_server_options</literal></title>
<para>
@@ -3479,7 +3479,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-servers">
+ <sect1 id="infoschema-foreign-servers" xreflabel="foreign_servers">
<title><literal>foreign_servers</literal></title>
<para>
@@ -3572,7 +3572,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-table-options">
+ <sect1 id="infoschema-foreign-table-options" xreflabel="foreign_table_options">
<title><literal>foreign_table_options</literal></title>
<para>
@@ -3646,7 +3646,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-tables">
+ <sect1 id="infoschema-foreign-tables" xreflabel="foreign_tables">
<title><literal>foreign_tables</literal></title>
<para>
@@ -3720,7 +3720,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-key-column-usage">
+ <sect1 id="infoschema-key-column-usage" xreflabel="key_column_usage">
<title><literal>key_column_usage</literal></title>
<para>
@@ -3838,7 +3838,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-parameters">
+ <sect1 id="infoschema-parameters" xreflabel="parameters">
<title><literal>parameters</literal></title>
<para>
@@ -4171,7 +4171,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-referential-constraints">
+ <sect1 id="infoschema-referential-constraints" xreflabel="referential_constraints">
<title><literal>referential_constraints</literal></title>
<para>
@@ -4295,7 +4295,7 @@ ORDER BY c.ordinal_position;
</sect1>
- <sect1 id="infoschema-role-column-grants">
+ <sect1 id="infoschema-role-column-grants" xreflabel="role_column_grants">
<title><literal>role_column_grants</literal></title>
<para>
@@ -4402,7 +4402,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-routine-grants">
+ <sect1 id="infoschema-role-routine-grants" xreflabel="role_routine_grants">
<title><literal>role_routine_grants</literal></title>
<para>
@@ -4525,7 +4525,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-table-grants">
+ <sect1 id="infoschema-role-table-grants" xreflabel="role_table_grants">
<title><literal>role_table_grants</literal></title>
<para>
@@ -4638,7 +4638,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-udt-grants">
+ <sect1 id="infoschema-role-udt-grants" xreflabel="role_udt_grants">
<title><literal>role_udt_grants</literal></title>
<para>
@@ -4736,7 +4736,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-usage-grants">
+ <sect1 id="infoschema-role-usage-grants" xreflabel="role_usage_grants">
<title><literal>role_usage_grants</literal></title>
<para>
@@ -4842,7 +4842,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-column-usage">
+ <sect1 id="infoschema-routine-column-usage" xreflabel="routine_column_usage">
<title><literal>routine_column_usage</literal></title>
<para>
@@ -4964,7 +4964,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-privileges">
+ <sect1 id="infoschema-routine-privileges" xreflabel="routine_privileges">
<title><literal>routine_privileges</literal></title>
<para>
@@ -5083,7 +5083,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-routine-usage">
+ <sect1 id="infoschema-routine-routine-usage" xreflabel="routine_routine_usage">
<title><literal>routine_routine_usage</literal></title>
<para>
@@ -5182,7 +5182,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-sequence-usage">
+ <sect1 id="infoschema-routine-sequence-usage" xreflabel="routine_sequence_usage">
<title><literal>routine_sequence_usage</literal></title>
<para>
@@ -5295,7 +5295,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-table-usage">
+ <sect1 id="infoschema-routine-table-usage" xreflabel="routine_table_usage">
<title><literal>routine_table_usage</literal></title>
<para>
@@ -5406,7 +5406,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routines">
+ <sect1 id="infoschema-routines" xreflabel="routines">
<title><literal>routines</literal></title>
<para>
@@ -6215,7 +6215,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-schemata">
+ <sect1 id="infoschema-schemata" xreflabel="schemata">
<title><literal>schemata</literal></title>
<para>
@@ -6306,7 +6306,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sequences">
+ <sect1 id="infoschema-sequences" xreflabel="sequences">
<title><literal>sequences</literal></title>
<para>
@@ -6460,7 +6460,7 @@ ORDER BY c.ordinal_position;
</para>
</sect1>
- <sect1 id="infoschema-sql-features">
+ <sect1 id="infoschema-sql-features" xreflabel="sql_features">
<title><structname>sql_features</structname></title>
<para>
@@ -6555,7 +6555,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-implementation-info">
+ <sect1 id="infoschema-sql-implementation-info" xreflabel="sql_implementation_info">
<title><structname>sql_implementation_info</structname></title>
<para>
@@ -6637,7 +6637,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-parts">
+ <sect1 id="infoschema-sql-parts" xreflabel="sql_parts">
<title><structname>sql_parts</structname></title>
<para>
@@ -6713,7 +6713,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-sizing">
+ <sect1 id="infoschema-sql-sizing" xreflabel="sql_sizing">
<title><structname>sql_sizing</structname></title>
<para>
@@ -6784,7 +6784,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-table-constraints">
+ <sect1 id="infoschema-table-constraints" xreflabel="table_constraints">
<title><literal>table_constraints</literal></title>
<para>
@@ -6916,7 +6916,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-table-privileges">
+ <sect1 id="infoschema-table-privileges" xreflabel="table_privileges">
<title><literal>table_privileges</literal></title>
<para>
@@ -7025,7 +7025,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-tables">
+ <sect1 id="infoschema-tables" xreflabel="tables">
<title><literal>tables</literal></title>
<para>
@@ -7172,7 +7172,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-transforms">
+ <sect1 id="infoschema-transforms" xreflabel="transforms">
<title><literal>transforms</literal></title>
<para>
@@ -7276,7 +7276,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-triggered-update-columns">
+ <sect1 id="infoschema-triggered-update-columns" xreflabel="triggered_update_columns">
<title><literal>triggered_update_columns</literal></title>
<para>
@@ -7372,7 +7372,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-triggers">
+ <sect1 id="infoschema-triggers" xreflabel="triggers">
<title><literal>triggers</literal></title>
<para>
@@ -7613,7 +7613,7 @@ ORDER BY c.ordinal_position;
</note>
</sect1>
- <sect1 id="infoschema-udt-privileges">
+ <sect1 id="infoschema-udt-privileges" xreflabel="udt_privileges">
<title><literal>udt_privileges</literal></title>
<para>
@@ -7708,7 +7708,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-usage-privileges">
+ <sect1 id="infoschema-usage-privileges" xreflabel="usage_privileges">
<title><literal>usage_privileges</literal></title>
<para>
@@ -7827,7 +7827,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-defined-types">
+ <sect1 id="infoschema-user-defined-types" xreflabel="user_defined_types">
<title><literal>user_defined_types</literal></title>
<para>
@@ -8130,7 +8130,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-mapping-options">
+ <sect1 id="infoschema-user-mapping-options" xreflabel="user_mapping_options">
<title><literal>user_mapping_options</literal></title>
<para>
@@ -8212,7 +8212,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-mappings">
+ <sect1 id="infoschema-user-mappings" xreflabel="user_mappings">
<title><literal>user_mappings</literal></title>
<para>
@@ -8271,7 +8271,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-column-usage">
+ <sect1 id="infoschema-view-column-usage" xreflabel="view_column_usage">
<title><literal>view_column_usage</literal></title>
<para>
@@ -8374,7 +8374,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-routine-usage">
+ <sect1 id="infoschema-view-routine-usage" xreflabel="view_routine_usage">
<title><literal>view_routine_usage</literal></title>
<para>
@@ -8458,7 +8458,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-table-usage">
+ <sect1 id="infoschema-view-table-usage" xreflabel="view_table_usage">
<title><literal>view_table_usage</literal></title>
<para>
@@ -8550,7 +8550,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-views">
+ <sect1 id="infoschema-views" xreflabel="views">
<title><literal>views</literal></title>
<para>
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index fe8d73e1f8c..a8283793dac 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -15,7 +15,7 @@
and see <xref linkend="install-binaries" /> instead.
</para>
- <sect1 id="install-requirements">
+ <sect1 id="install-requirements" xreflabel="Requirements">
<title>Requirements</title>
<para>
@@ -357,7 +357,7 @@
</para>
</sect1>
- <sect1 id="install-getsource">
+ <sect1 id="install-getsource" xreflabel="Getting the Source">
<title>Getting the Source</title>
<para>
@@ -383,10 +383,10 @@
</para>
</sect1>
- <sect1 id="install-make">
+ <sect1 id="install-make" xreflabel="Building and Installation with Autoconf and Make">
<title>Building and Installation with Autoconf and Make</title>
- <sect2 id="install-short-make">
+ <sect2 id="install-short-make" xreflabel="Short Version">
<title>Short Version</title>
<para>
@@ -410,7 +410,7 @@ su - postgres
</sect2>
- <sect2 id="install-procedure-make">
+ <sect2 id="install-procedure-make" xreflabel="Installation Procedure">
<title>Installation Procedure</title>
<procedure>
@@ -661,7 +661,7 @@ build-postgresql:
</para>
</sect2>
- <sect2 id="configure-options">
+ <sect2 id="configure-options" xreflabel="configure Options">
<title><filename>configure</filename> Options</title>
<indexterm zone="configure-options">
@@ -1715,7 +1715,7 @@ build-postgresql:
</sect2>
- <sect2 id="configure-envvars">
+ <sect2 id="configure-envvars" xreflabel="configure Environment Variables">
<title><filename>configure</filename> Environment Variables</title>
<indexterm zone="configure-envvars">
@@ -1999,10 +1999,10 @@ build-postgresql:
</sect2>
</sect1>
- <sect1 id="install-meson">
+ <sect1 id="install-meson" xreflabel="Building and Installation with Meson">
<title>Building and Installation with Meson</title>
- <sect2 id="install-short-meson">
+ <sect2 id="install-short-meson" xreflabel="Short Version">
<title>Short Version</title>
<para>
@@ -2026,7 +2026,7 @@ su - postgres
</para>
</sect2>
- <sect2 id="install-procedure-meson">
+ <sect2 id="install-procedure-meson" xreflabel="Installation Procedure">
<title>Installation Procedure</title>
<procedure>
@@ -2204,7 +2204,7 @@ ninja install
</formalpara>
</sect2>
- <sect2 id="meson-options">
+ <sect2 id="meson-options" xreflabel="meson setup Options">
<title><literal>meson setup</literal> Options</title>
<para>
@@ -3248,7 +3248,7 @@ ninja install
</sect3>
</sect2>
- <sect2 id="targets-meson">
+ <sect2 id="targets-meson" xreflabel="meson Build Targets">
<title><literal>meson</literal> Build Targets</title>
<para>
@@ -3264,10 +3264,10 @@ ninja install
</sect1>
- <sect1 id="install-post">
+ <sect1 id="install-post" xreflabel="Post-Installation Setup">
<title>Post-Installation Setup</title>
- <sect2 id="install-post-shlibs">
+ <sect2 id="install-post-shlibs" xreflabel="Shared Libraries">
<title>Shared Libraries</title>
<indexterm>
@@ -3355,7 +3355,7 @@ libpq.so.2.1: cannot open shared object file: No such file or directory
</para>
</sect2>
- <sect2 id="install-post-env-vars">
+ <sect2 id="install-post-env-vars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<indexterm>
@@ -3412,7 +3412,7 @@ export MANPATH
</sect2>
</sect1>
- <sect1 id="supported-platforms">
+ <sect1 id="supported-platforms" xreflabel="Supported Platforms">
<title>Supported Platforms</title>
<para>
@@ -3467,7 +3467,7 @@ export MANPATH
</para>
</sect1>
- <sect1 id="installation-platform-notes">
+ <sect1 id="installation-platform-notes" xreflabel="Platform-Specific Notes">
<title>Platform-Specific Notes</title>
<para>
@@ -3484,7 +3484,7 @@ export MANPATH
installation issues.
</para>
- <sect2 id="installation-notes-cygwin">
+ <sect2 id="installation-notes-cygwin" xreflabel="Cygwin">
<title>Cygwin</title>
<indexterm zone="installation-notes-cygwin">
@@ -3585,7 +3585,7 @@ make MAX_CONNECTIONS=5 check
</para>
</sect2>
- <sect2 id="installation-notes-macos">
+ <sect2 id="installation-notes-macos" xreflabel="macOS">
<title>macOS</title>
<indexterm zone="installation-notes-macos">
@@ -3660,7 +3660,7 @@ xcrun --show-sdk-path
</para>
</sect2>
- <sect2 id="installation-notes-mingw">
+ <sect2 id="installation-notes-mingw" xreflabel="MinGW">
<title>MinGW</title>
<indexterm zone="installation-notes-mingw">
@@ -3692,7 +3692,7 @@ xcrun --show-sdk-path
</sect3>
</sect2>
- <sect2 id="installation-notes-solaris">
+ <sect2 id="installation-notes-solaris" xreflabel="Solaris">
<title>Solaris</title>
<indexterm zone="installation-notes-solaris">
@@ -3748,7 +3748,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
</sect3>
</sect2>
- <sect2 id="installation-notes-visual-studio">
+ <sect2 id="installation-notes-visual-studio" xreflabel="Visual Studio">
<title>Visual Studio</title>
<indexterm zone="installation-notes-visual-studio">
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
index 29e74ce146c..f7d2076a079 100644
--- a/doc/src/sgml/intagg.sgml
+++ b/doc/src/sgml/intagg.sgml
@@ -15,7 +15,7 @@
the built-in functions.
</para>
- <sect2 id="intagg-functions">
+ <sect2 id="intagg-functions" xreflabel="Functions">
<title>Functions</title>
<indexterm>
@@ -50,7 +50,7 @@
</sect2>
- <sect2 id="intagg-samples">
+ <sect2 id="intagg-samples" xreflabel="Sample Uses">
<title>Sample Uses</title>
<para>
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index c72d49b01d8..26c812a5b79 100644
--- a/doc/src/sgml/intarray.sgml
+++ b/doc/src/sgml/intarray.sgml
@@ -30,7 +30,7 @@
on the current database.
</para>
- <sect2 id="intarray-funcs-ops">
+ <sect2 id="intarray-funcs-ops" xreflabel="intarray Functions and Operators">
<title><filename>intarray</filename> Functions and Operators</title>
<para>
@@ -391,7 +391,7 @@
</para>
</sect2>
- <sect2 id="intarray-index">
+ <sect2 id="intarray-index" xreflabel="Index Support">
<title>Index Support</title>
<para>
@@ -443,7 +443,7 @@
</para>
</sect2>
- <sect2 id="intarray-example">
+ <sect2 id="intarray-example" xreflabel="Example">
<title>Example</title>
<programlisting>
@@ -464,7 +464,7 @@ SELECT message.mid FROM message WHERE message.sections @@ '1&2'::query_int;
</programlisting>
</sect2>
- <sect2 id="intarray-benchmark">
+ <sect2 id="intarray-benchmark" xreflabel="Benchmark">
<title>Benchmark</title>
<para>
@@ -488,7 +488,7 @@ psql -c "CREATE EXTENSION intarray" TEST
</para>
</sect2>
- <sect2 id="intarray-Authors">
+ <sect2 id="intarray-Authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml
index fec72481b54..cf6340c0643 100644
--- a/doc/src/sgml/intro.sgml
+++ b/doc/src/sgml/intro.sgml
@@ -81,7 +81,7 @@
</itemizedlist>
</para>
- <sect1 id="intro-whatis">
+ <sect1 id="intro-whatis" xreflabel=" What Is PostgreSQL?">
<title> What Is <productname>PostgreSQL</productname>?</title>
<para>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index d0ab06ca8d0..37dae676f54 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -27,7 +27,7 @@
on the current database.
</para>
- <sect2 id="isn-data-types">
+ <sect2 id="isn-data-types" xreflabel="Data Types">
<title>Data Types</title>
<para>
@@ -156,7 +156,7 @@
</para>
</sect2>
- <sect2 id="isn-casts">
+ <sect2 id="isn-casts" xreflabel="Casts">
<title>Casts</title>
<para>
@@ -224,7 +224,7 @@
</para>
</sect2>
- <sect2 id="isn-funcs-ops">
+ <sect2 id="isn-funcs-ops" xreflabel="Functions and Operators">
<title>Functions and Operators</title>
<para>
@@ -303,7 +303,7 @@
</table>
</sect2>
- <sect2 id="isn-configuration-parameters">
+ <sect2 id="isn-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -360,7 +360,7 @@
</para>
</sect2>
- <sect2 id="isn-examples">
+ <sect2 id="isn-examples" xreflabel="Examples">
<title>Examples</title>
<programlisting>
@@ -404,7 +404,7 @@ SELECT isbn13(id) FROM test;
</programlisting>
</sect2>
- <sect2 id="isn-bibliography">
+ <sect2 id="isn-bibliography" xreflabel="Bibliography">
<title>Bibliography</title>
<para>
@@ -432,7 +432,7 @@ SELECT isbn13(id) FROM test;
</para>
</sect2>
- <sect2 id="isn-author">
+ <sect2 id="isn-author" xreflabel="Author">
<title>Author</title>
<para>
Germán Méndez Bravo (Kronuz), 2004–2006
diff --git a/doc/src/sgml/jit.sgml b/doc/src/sgml/jit.sgml
index 44e18bf1a6f..1089c2b3098 100644
--- a/doc/src/sgml/jit.sgml
+++ b/doc/src/sgml/jit.sgml
@@ -17,7 +17,7 @@
configured in <productname>PostgreSQL</productname>.
</para>
- <sect1 id="jit-reason">
+ <sect1 id="jit-reason" xreflabel="What Is JIT compilation?">
<title>What Is <acronym>JIT</acronym> compilation?</title>
<para>
@@ -43,7 +43,7 @@
See <filename>src/backend/jit/README</filename> for further details.
</para>
- <sect2 id="jit-accelerated-operations">
+ <sect2 id="jit-accelerated-operations" xreflabel="JIT Accelerated Operations">
<title><acronym>JIT</acronym> Accelerated Operations</title>
<para>
Currently <productname>PostgreSQL</productname>'s <acronym>JIT</acronym>
@@ -64,7 +64,7 @@
</para>
</sect2>
- <sect2 id="jit-inlining">
+ <sect2 id="jit-inlining" xreflabel="Inlining">
<title>Inlining</title>
<para>
<productname>PostgreSQL</productname> is very extensible and allows new
@@ -78,7 +78,7 @@
</para>
</sect2>
- <sect2 id="jit-optimization">
+ <sect2 id="jit-optimization" xreflabel="Optimization">
<title>Optimization</title>
<para>
<productname>LLVM</productname> has support for optimizing generated
@@ -92,7 +92,7 @@
</sect1>
- <sect1 id="jit-decision">
+ <sect1 id="jit-decision" xreflabel="When to JIT?">
<title>When to <acronym>JIT</acronym>?</title>
<para>
@@ -212,10 +212,10 @@ SET
</para>
</sect1>
- <sect1 id="jit-extensibility">
+ <sect1 id="jit-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
- <sect2 id="jit-extensibility-bitcode">
+ <sect2 id="jit-extensibility-bitcode" xreflabel="Inlining Support for Extensions">
<title>Inlining Support for Extensions</title>
<para>
<productname>PostgreSQL</productname>'s <acronym>JIT</acronym>
@@ -246,7 +246,7 @@ SET
</para>
</sect2>
- <sect2 id="jit-pluggable">
+ <sect2 id="jit-pluggable" xreflabel="Pluggable JIT Providers">
<title>Pluggable <acronym>JIT</acronym> Providers</title>
<para>
diff --git a/doc/src/sgml/json.sgml b/doc/src/sgml/json.sgml
index 206eadb8f7b..2844bfae7fb 100644
--- a/doc/src/sgml/json.sgml
+++ b/doc/src/sgml/json.sgml
@@ -168,7 +168,7 @@
</tgroup>
</table>
- <sect2 id="json-keys-elements">
+ <sect2 id="json-keys-elements" xreflabel="JSON Input and Output Syntax">
<title>JSON Input and Output Syntax</title>
<para>
The input/output syntax for the JSON data types is as specified in
@@ -234,7 +234,7 @@ SELECT '{"reading": 1.230e-5}'::json, '{"reading": 1.230e-5}'::jsonb;
</para>
</sect2>
- <sect2 id="json-doc-design">
+ <sect2 id="json-doc-design" xreflabel="Designing JSON Documents">
<title>Designing JSON Documents</title>
<para>
Representing data as JSON can be considerably more flexible than
@@ -263,7 +263,7 @@ SELECT '{"reading": 1.230e-5}'::json, '{"reading": 1.230e-5}'::jsonb;
</para>
</sect2>
- <sect2 id="json-containment">
+ <sect2 id="json-containment" xreflabel="jsonb Containment and Existence">
<title><type>jsonb</type> Containment and Existence</title>
<indexterm>
<primary>jsonb</primary>
@@ -399,7 +399,7 @@ SELECT doc->'site_name' FROM websites
</para>
</sect2>
- <sect2 id="json-indexing">
+ <sect2 id="json-indexing" xreflabel="jsonb Indexing">
<title><type>jsonb</type> Indexing</title>
<indexterm>
<primary>jsonb</primary>
@@ -613,7 +613,7 @@ SELECT jdoc->'guid', jdoc->'name' FROM api WHERE jdoc @@ '$.tags[*] == "qui"';
</para>
</sect2>
- <sect2 id="jsonb-subscripting">
+ <sect2 id="jsonb-subscripting" xreflabel="jsonb Subscripting">
<title><type>jsonb</type> Subscripting</title>
<para>
The <type>jsonb</type> data type supports array-style subscripting expressions
@@ -712,7 +712,7 @@ UPDATE table_name SET jsonb_field[1]['a'] = '1';
</para>
</sect2>
- <sect2 id="datatype-json-transforms">
+ <sect2 id="datatype-json-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -740,7 +740,7 @@ UPDATE table_name SET jsonb_field[1]['a'] = '1';
</para>
</sect2>
- <sect2 id="datatype-jsonpath">
+ <sect2 id="datatype-jsonpath" xreflabel="jsonpath Type">
<title>jsonpath Type</title>
<indexterm zone="datatype-jsonpath">
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 7d05938feda..0c11426fa3a 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -46,7 +46,7 @@
and must link with the <application>libpq</application> library.
</para>
- <sect1 id="libpq-connect">
+ <sect1 id="libpq-connect" xreflabel="Database Connection Control Functions">
<title>Database Connection Control Functions</title>
<para>
@@ -933,7 +933,7 @@ PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void);
</variablelist>
</para>
- <sect2 id="libpq-connstring">
+ <sect2 id="libpq-connstring" xreflabel="Connection Strings">
<title>Connection Strings</title>
<indexterm zone="libpq-connstring">
@@ -1122,7 +1122,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
</sect3>
</sect2>
- <sect2 id="libpq-paramkeywords">
+ <sect2 id="libpq-paramkeywords" xreflabel="Parameter Key Words">
<title>Parameter Key Words</title>
<para>
@@ -2573,7 +2573,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
</sect2>
</sect1>
- <sect1 id="libpq-status">
+ <sect1 id="libpq-status" xreflabel="Connection Status Functions">
<title>Connection Status Functions</title>
<para>
@@ -3342,7 +3342,7 @@ void *PQgetssl(const PGconn *conn);
</sect1>
- <sect1 id="libpq-exec">
+ <sect1 id="libpq-exec" xreflabel="Command Execution Functions">
<title>Command Execution Functions</title>
<para>
@@ -3351,7 +3351,7 @@ void *PQgetssl(const PGconn *conn);
SQL queries and commands.
</para>
- <sect2 id="libpq-exec-main">
+ <sect2 id="libpq-exec-main" xreflabel="Main Functions">
<title>Main Functions</title>
<para>
@@ -4383,7 +4383,7 @@ void PQclear(PGresult *res);
</para>
</sect2>
- <sect2 id="libpq-exec-select-info">
+ <sect2 id="libpq-exec-select-info" xreflabel="Retrieving Query Result Information">
<title>Retrieving Query Result Information</title>
<para>
@@ -4829,7 +4829,7 @@ typedef struct
</variablelist>
</sect2>
- <sect2 id="libpq-exec-nonselect">
+ <sect2 id="libpq-exec-nonselect" xreflabel="Retrieving Other Result Information">
<title>Retrieving Other Result Information</title>
<para>
@@ -4931,7 +4931,7 @@ char *PQoidStatus(const PGresult *res);
</sect2>
- <sect2 id="libpq-exec-escape-string">
+ <sect2 id="libpq-exec-escape-string" xreflabel="Escaping Strings for Inclusion in SQL Commands">
<title>Escaping Strings for Inclusion in SQL Commands</title>
<indexterm zone="libpq-exec-escape-string">
@@ -5257,7 +5257,7 @@ unsigned char *PQunescapeBytea(const unsigned char *from, size_t *to_length);
</sect1>
- <sect1 id="libpq-async">
+ <sect1 id="libpq-async" xreflabel="Asynchronous Command Processing">
<title>Asynchronous Command Processing</title>
<indexterm zone="libpq-async">
@@ -5796,7 +5796,7 @@ int PQflush(PGconn *conn);
</sect1>
- <sect1 id="libpq-pipeline-mode">
+ <sect1 id="libpq-pipeline-mode" xreflabel="Pipeline Mode">
<title>Pipeline Mode</title>
<indexterm zone="libpq-pipeline-mode">
@@ -5844,7 +5844,7 @@ int PQflush(PGconn *conn);
<xref linkend="protocol-flow-pipelining"/>.
</para>
- <sect2 id="libpq-pipeline-using">
+ <sect2 id="libpq-pipeline-using" xreflabel="Using Pipeline Mode">
<title>Using Pipeline Mode</title>
<para>
@@ -6080,7 +6080,7 @@ int PQflush(PGconn *conn);
</sect3>
</sect2>
- <sect2 id="libpq-pipeline-functions">
+ <sect2 id="libpq-pipeline-functions" xreflabel="Functions Associated with Pipeline Mode">
<title>Functions Associated with Pipeline Mode</title>
<variablelist>
@@ -6269,7 +6269,7 @@ int PQsendFlushRequest(PGconn *conn);
</variablelist>
</sect2>
- <sect2 id="libpq-pipeline-tips">
+ <sect2 id="libpq-pipeline-tips" xreflabel="When to Use Pipeline Mode">
<title>When to Use Pipeline Mode</title>
<para>
@@ -6327,7 +6327,7 @@ UPDATE mytable SET x = x + 1 WHERE id = 42;
</sect1>
<!-- keep this not-too-apropos sect1 ID for stability of doc URLs -->
- <sect1 id="libpq-single-row-mode">
+ <sect1 id="libpq-single-row-mode" xreflabel="Retrieving Query Results in Chunks">
<title>Retrieving Query Results in Chunks</title>
<indexterm zone="libpq-single-row-mode">
@@ -6464,7 +6464,7 @@ int PQsetChunkedRowsMode(PGconn *conn, int chunkSize);
</sect1>
- <sect1 id="libpq-cancel">
+ <sect1 id="libpq-cancel" xreflabel="Canceling Queries in Progress">
<title>Canceling Queries in Progress</title>
<indexterm zone="libpq-cancel">
@@ -6474,7 +6474,7 @@ int PQsetChunkedRowsMode(PGconn *conn, int chunkSize);
<primary>query cancellation</primary>
</indexterm>
- <sect2 id="libpq-cancel-functions">
+ <sect2 id="libpq-cancel-functions" xreflabel="Functions for Sending Cancel Requests">
<title>Functions for Sending Cancel Requests</title>
<variablelist>
<varlistentry id="libpq-PQcancelCreate">
@@ -6879,7 +6879,7 @@ void PQcancelReset(PGcancelConn *cancelConn);
</variablelist>
</sect2>
- <sect2 id="libpq-cancel-deprecated">
+ <sect2 id="libpq-cancel-deprecated" xreflabel="Obsolete Functions for Sending Cancel Requests">
<title>Obsolete Functions for Sending Cancel Requests</title>
<para>
@@ -7017,7 +7017,7 @@ int PQrequestCancel(PGconn *conn);
</sect2>
</sect1>
- <sect1 id="libpq-fastpath">
+ <sect1 id="libpq-fastpath" xreflabel="The Fast-Path Interface">
<title>The Fast-Path Interface</title>
<indexterm zone="libpq-fastpath">
@@ -7127,7 +7127,7 @@ typedef struct
</sect1>
- <sect1 id="libpq-notify">
+ <sect1 id="libpq-notify" xreflabel="Asynchronous Notification">
<title>Asynchronous Notification</title>
<indexterm zone="libpq-notify">
@@ -7219,7 +7219,7 @@ typedef struct pgNotify
</sect1>
- <sect1 id="libpq-copy">
+ <sect1 id="libpq-copy" xreflabel="Functions Associated with the COPY Command">
<title>Functions Associated with the <command>COPY</command> Command</title>
<indexterm zone="libpq-copy">
@@ -7322,7 +7322,7 @@ typedef struct pgNotify
</variablelist>
</para>
- <sect2 id="libpq-copy-send">
+ <sect2 id="libpq-copy-send" xreflabel="Functions for Sending COPY Data">
<title>Functions for Sending <command>COPY</command> Data</title>
<para>
@@ -7415,7 +7415,7 @@ int PQputCopyEnd(PGconn *conn,
</sect2>
- <sect2 id="libpq-copy-receive">
+ <sect2 id="libpq-copy-receive" xreflabel="Functions for Receiving COPY Data">
<title>Functions for Receiving <command>COPY</command> Data</title>
<para>
@@ -7486,7 +7486,7 @@ int PQgetCopyData(PGconn *conn,
</sect2>
- <sect2 id="libpq-copy-deprecated">
+ <sect2 id="libpq-copy-deprecated" xreflabel="Obsolete Functions for COPY">
<title>Obsolete Functions for <command>COPY</command></title>
<para>
@@ -7695,7 +7695,7 @@ int PQendcopy(PGconn *conn);
</sect1>
- <sect1 id="libpq-control">
+ <sect1 id="libpq-control" xreflabel="Control Functions">
<title>Control Functions</title>
<para>
@@ -7911,7 +7911,7 @@ void PQuntrace(PGconn *conn);
</sect1>
- <sect1 id="libpq-misc">
+ <sect1 id="libpq-misc" xreflabel="Miscellaneous Functions">
<title>Miscellaneous Functions</title>
<para>
@@ -8348,7 +8348,7 @@ pg_usec_time_t PQgetCurrentTimeUSec(void);
</sect1>
- <sect1 id="libpq-notice-processing">
+ <sect1 id="libpq-notice-processing" xreflabel="Notice Processing">
<title>Notice Processing</title>
<indexterm zone="libpq-notice-processing">
@@ -8458,7 +8458,7 @@ defaultNoticeProcessor(void *arg, const char *message)
</sect1>
- <sect1 id="libpq-events">
+ <sect1 id="libpq-events" xreflabel="Event System">
<title>Event System</title>
<para>
@@ -8494,7 +8494,7 @@ defaultNoticeProcessor(void *arg, const char *message)
to free them — that is the responsibility of the event handler.
</para>
- <sect2 id="libpq-events-types">
+ <sect2 id="libpq-events-types" xreflabel="Event Types">
<title>Event Types</title>
<para>
@@ -8695,7 +8695,7 @@ typedef struct
</variablelist>
</sect2>
- <sect2 id="libpq-events-proc">
+ <sect2 id="libpq-events-proc" xreflabel="Event Callback Procedure">
<title>Event Callback Procedure</title>
<variablelist>
@@ -8745,7 +8745,7 @@ int eventproc(PGEventId evtId, void *evtInfo, void *passThrough)
</variablelist>
</sect2>
- <sect2 id="libpq-events-funcs">
+ <sect2 id="libpq-events-funcs" xreflabel="Event Support Functions">
<title>Event Support Functions</title>
<variablelist>
@@ -8858,7 +8858,7 @@ void *PQresultInstanceData(const PGresult *res, PGEventProc proc);
</variablelist>
</sect2>
- <sect2 id="libpq-events-example">
+ <sect2 id="libpq-events-example" xreflabel="Event Example">
<title>Event Example</title>
<para>
@@ -9015,7 +9015,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect2>
</sect1>
- <sect1 id="libpq-envars">
+ <sect1 id="libpq-envars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<indexterm zone="libpq-envars">
@@ -9490,7 +9490,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect1>
- <sect1 id="libpq-pgpass">
+ <sect1 id="libpq-pgpass" xreflabel="The Password File">
<title>The Password File</title>
<indexterm zone="libpq-pgpass">
@@ -9553,7 +9553,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect1>
- <sect1 id="libpq-pgservice">
+ <sect1 id="libpq-pgservice" xreflabel="The Connection Service File">
<title>The Connection Service File</title>
<indexterm zone="libpq-pgservice">
@@ -9628,7 +9628,7 @@ user=admin
</sect1>
- <sect1 id="libpq-ldap">
+ <sect1 id="libpq-ldap" xreflabel="LDAP Lookup of Connection Parameters">
<title>LDAP Lookup of Connection Parameters</title>
<indexterm zone="libpq-ldap">
@@ -9710,7 +9710,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</sect1>
- <sect1 id="libpq-ssl">
+ <sect1 id="libpq-ssl" xreflabel="SSL Support">
<title>SSL Support</title>
<indexterm zone="libpq-ssl">
@@ -9736,7 +9736,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
file.
</para>
- <sect2 id="libq-ssl-certificates">
+ <sect2 id="libq-ssl-certificates" xreflabel="Client Verification of Server Certificates">
<title>Client Verification of Server Certificates</title>
<para>
@@ -9843,7 +9843,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</note>
</sect2>
- <sect2 id="libpq-ssl-clientcert">
+ <sect2 id="libpq-ssl-clientcert" xreflabel="Client Certificates">
<title>Client Certificates</title>
<para>
@@ -9912,7 +9912,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</para>
</sect2>
- <sect2 id="libpq-ssl-protection">
+ <sect2 id="libpq-ssl-protection" xreflabel="Protection Provided in Different Modes">
<title>Protection Provided in Different Modes</title>
<para>
@@ -10085,7 +10085,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</sect2>
- <sect2 id="libpq-ssl-fileusage">
+ <sect2 id="libpq-ssl-fileusage" xreflabel="SSL Client File Usage">
<title>SSL Client File Usage</title>
<para>
@@ -10137,7 +10137,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</table>
</sect2>
- <sect2 id="libpq-ssl-initialize">
+ <sect2 id="libpq-ssl-initialize" xreflabel="SSL Library Initialization">
<title>SSL Library Initialization</title>
<para>
@@ -10212,7 +10212,7 @@ void PQinitSSL(int do_ssl);
</sect1>
- <sect1 id="libpq-oauth">
+ <sect1 id="libpq-oauth" xreflabel="OAuth Support">
<title>OAuth Support</title>
<para>
@@ -10267,7 +10267,7 @@ Visit https://example.com/device and enter the code: ABCD-EFGH
</para>
</note>
- <sect2 id="libpq-oauth-authdata-hooks">
+ <sect2 id="libpq-oauth-authdata-hooks" xreflabel="Authdata Hooks">
<title>Authdata Hooks</title>
<para>
@@ -10509,7 +10509,7 @@ typedef struct PGoauthBearerRequest
</sect3>
</sect2>
- <sect2 id="libpq-oauth-debugging">
+ <sect2 id="libpq-oauth-debugging" xreflabel="Debugging and Developer Settings">
<title>Debugging and Developer Settings</title>
<para>
@@ -10554,7 +10554,7 @@ typedef struct PGoauthBearerRequest
</sect1>
- <sect1 id="libpq-threading">
+ <sect1 id="libpq-threading" xreflabel="Behavior in Threaded Programs">
<title>Behavior in Threaded Programs</title>
<indexterm zone="libpq-threading">
@@ -10640,7 +10640,7 @@ int PQisthreadsafe();
</sect1>
- <sect1 id="libpq-build">
+ <sect1 id="libpq-build" xreflabel="Building libpq Programs">
<title>Building <application>libpq</application> Programs</title>
<indexterm zone="libpq-build">
@@ -10783,7 +10783,7 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
</sect1>
- <sect1 id="libpq-example">
+ <sect1 id="libpq-example" xreflabel="Example Programs">
<title>Example Programs</title>
<para>
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
index 6d9bcebd42b..8fe2e8bd200 100644
--- a/doc/src/sgml/lo.sgml
+++ b/doc/src/sgml/lo.sgml
@@ -19,7 +19,7 @@
on the current database.
</para>
- <sect2 id="lo-rationale">
+ <sect2 id="lo-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -66,7 +66,7 @@
</para>
</sect2>
- <sect2 id="lo-how-to-use">
+ <sect2 id="lo-how-to-use" xreflabel="How to Use It">
<title>How to Use It</title>
<para>
@@ -92,7 +92,7 @@ CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
</para>
</sect2>
- <sect2 id="lo-limitations">
+ <sect2 id="lo-limitations" xreflabel="Limitations">
<title>Limitations</title>
<itemizedlist>
@@ -125,7 +125,7 @@ CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
</itemizedlist>
</sect2>
- <sect2 id="lo-author">
+ <sect2 id="lo-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/lobj.sgml b/doc/src/sgml/lobj.sgml
index 79731c6553f..30a305195fa 100644
--- a/doc/src/sgml/lobj.sgml
+++ b/doc/src/sgml/lobj.sgml
@@ -25,7 +25,7 @@
values. This is not described here.
</para>
- <sect1 id="lo-intro">
+ <sect1 id="lo-intro" xreflabel="Introduction">
<title>Introduction</title>
<indexterm>
@@ -58,7 +58,7 @@
</sect1>
- <sect1 id="lo-implementation">
+ <sect1 id="lo-implementation" xreflabel="Implementation Features">
<title>Implementation Features</title>
<para>
@@ -96,7 +96,7 @@
</para>
</sect1>
- <sect1 id="lo-interfaces">
+ <sect1 id="lo-interfaces" xreflabel="Client Interfaces">
<title>Client Interfaces</title>
<para>
@@ -320,7 +320,7 @@ inv_fd = lo_open(conn, inv_oid, INV_READ|INV_WRITE);
</para>
</sect2>
-<sect2 id="lo-write">
+<sect2 id="lo-write" xreflabel="Writing Data to a Large Object">
<title>Writing Data to a Large Object</title>
<para>
@@ -346,7 +346,7 @@ int lo_write(PGconn *conn, int fd, const char *buf, size_t len);
</para>
</sect2>
-<sect2 id="lo-read">
+<sect2 id="lo-read" xreflabel="Reading Data from a Large Object">
<title>Reading Data from a Large Object</title>
<para>
@@ -373,7 +373,7 @@ int lo_read(PGconn *conn, int fd, char *buf, size_t len);
</para>
</sect2>
-<sect2 id="lo-seek">
+<sect2 id="lo-seek" xreflabel="Seeking in a Large Object">
<title>Seeking in a Large Object</title>
<para>
@@ -416,7 +416,7 @@ int64_t lo_lseek64(PGconn *conn, int fd, int64_t offset, int whence);
</sect2>
-<sect2 id="lo-tell">
+<sect2 id="lo-tell" xreflabel="Obtaining the Seek Position of a Large Object">
<title>Obtaining the Seek Position of a Large Object</title>
<para>
@@ -450,7 +450,7 @@ int64_t lo_tell64(PGconn *conn, int fd);
</para>
</sect2>
-<sect2 id="lo-truncate">
+<sect2 id="lo-truncate" xreflabel="Truncating a Large Object">
<title>Truncating a Large Object</title>
<para>
@@ -505,7 +505,7 @@ int lo_truncate64(PGconn *conn, int fd, int64_t len);
</para>
</sect2>
-<sect2 id="lo-close">
+<sect2 id="lo-close" xreflabel="Closing a Large Object Descriptor">
<title>Closing a Large Object Descriptor</title>
<para>
@@ -542,7 +542,7 @@ int lo_unlink(PGconn *conn, Oid lobjId);
</sect1>
-<sect1 id="lo-funcs">
+<sect1 id="lo-funcs" xreflabel="Server-Side Functions">
<title>Server-Side Functions</title>
<para>
@@ -705,7 +705,7 @@ SELECT lo_export(image.raster, '/tmp/motd') FROM image
</sect1>
-<sect1 id="lo-examplesect">
+<sect1 id="lo-examplesect" xreflabel="Example Program">
<title>Example Program</title>
<para>
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index b3faaa675ef..e8832ad58fe 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -96,7 +96,7 @@
subscribers to the same set of tables, conflicts can arise.
</para>
- <sect1 id="logical-replication-publication">
+ <sect1 id="logical-replication-publication" xreflabel="Publication">
<title>Publication</title>
<para>
@@ -146,7 +146,7 @@
snapshot once the transaction has committed.
</para>
- <sect2 id="logical-replication-publication-replica-identity">
+ <sect2 id="logical-replication-publication-replica-identity" xreflabel="Replica Identity">
<title>Replica Identity</title>
<para>
@@ -200,7 +200,7 @@
</sect1>
- <sect1 id="logical-replication-subscription">
+ <sect1 id="logical-replication-subscription" xreflabel="Subscription">
<title>Subscription</title>
<para>
@@ -289,7 +289,7 @@
option of <command>CREATE SUBSCRIPTION</command> for details.
</para>
- <sect2 id="logical-replication-subscription-slot">
+ <sect2 id="logical-replication-subscription-slot" xreflabel="Logical Replication Slot Management">
<title>Logical Replication Slot Management</title>
<para>
@@ -539,7 +539,7 @@
</programlisting></para>
</sect2>
- <sect2 id="logical-replication-subscription-examples-deferred-slot">
+ <sect2 id="logical-replication-subscription-examples-deferred-slot" xreflabel="Examples: Deferred Logical Replication Slot Creation">
<title>Examples: Deferred Logical Replication Slot Creation</title>
<para>
@@ -689,7 +689,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect1>
- <sect1 id="logical-replication-failover">
+ <sect1 id="logical-replication-failover" xreflabel="Logical Replication Failover">
<title>Logical Replication Failover</title>
<para>
@@ -827,7 +827,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</programlisting></para>
</sect1>
- <sect1 id="logical-replication-row-filter">
+ <sect1 id="logical-replication-row-filter" xreflabel="Row Filters">
<title>Row Filters</title>
<para>
@@ -843,7 +843,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
<xref linkend="sql-createpublication"/> for details.
</para>
- <sect2 id="logical-replication-row-filter-rules">
+ <sect2 id="logical-replication-row-filter-rules" xreflabel="Row Filter Rules">
<title>Row Filter Rules</title>
<para>
@@ -859,7 +859,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-restrictions">
+ <sect2 id="logical-replication-row-filter-restrictions" xreflabel="Expression Restrictions">
<title>Expression Restrictions</title>
<para>
@@ -879,7 +879,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-transformations">
+ <sect2 id="logical-replication-row-filter-transformations" xreflabel="UPDATE Transformations">
<title>UPDATE Transformations</title>
<para>
@@ -940,7 +940,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-partitioned-table">
+ <sect2 id="logical-replication-row-filter-partitioned-table" xreflabel="Partitioned Tables">
<title>Partitioned Tables</title>
<para>
@@ -955,7 +955,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-initial-data-sync">
+ <sect2 id="logical-replication-row-filter-initial-data-sync" xreflabel="Initial Data Synchronization">
<title>Initial Data Synchronization</title>
<para>
@@ -992,7 +992,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-combining">
+ <sect2 id="logical-replication-row-filter-combining" xreflabel="Combining Multiple Row Filters">
<title>Combining Multiple Row Filters</title>
<para>
@@ -1027,7 +1027,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-examples">
+ <sect2 id="logical-replication-row-filter-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1375,7 +1375,7 @@ Publications:
</sect1>
- <sect1 id="logical-replication-col-lists">
+ <sect1 id="logical-replication-col-lists" xreflabel="Column Lists">
<title>Column Lists</title>
<para>
@@ -1475,7 +1475,7 @@ Publications:
</para>
</warning>
- <sect2 id="logical-replication-col-list-examples">
+ <sect2 id="logical-replication-col-list-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1571,7 +1571,7 @@ Publications:
</sect1>
- <sect1 id="logical-replication-gencols">
+ <sect1 id="logical-replication-gencols" xreflabel="Generated Column Replication">
<title>Generated Column Replication</title>
<para>
@@ -1750,7 +1750,7 @@ Publications:
</note>
</sect1>
- <sect1 id="logical-replication-sequences">
+ <sect1 id="logical-replication-sequences" xreflabel="Replicating Sequences">
<title>Replicating Sequences</title>
<para>
@@ -1797,7 +1797,7 @@ Publications:
configuration.
</para>
- <sect2 id="sequence-definition-mismatches">
+ <sect2 id="sequence-definition-mismatches" xreflabel="Sequence Definition Mismatches">
<title>Sequence Definition Mismatches</title>
<para>
The sequence synchronization worker validates that sequence definitions
@@ -1814,7 +1814,7 @@ Publications:
</para>
</sect2>
- <sect2 id="sequences-out-of-sync">
+ <sect2 id="sequences-out-of-sync" xreflabel="Refreshing Out-of-Sync Sequences">
<title>Refreshing Out-of-Sync Sequences</title>
<para>
Subscriber sequence values will become out of sync as the publisher
@@ -1841,7 +1841,7 @@ Publications:
</warning>
</sect2>
- <sect2 id="logical-replication-sequences-examples">
+ <sect2 id="logical-replication-sequences-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1991,7 +1991,7 @@ Publications:
</sect2>
</sect1>
- <sect1 id="logical-replication-conflicts">
+ <sect1 id="logical-replication-conflicts" xreflabel="Conflicts">
<title>Conflicts</title>
<para>
@@ -2310,7 +2310,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-restrictions">
+ <sect1 id="logical-replication-restrictions" xreflabel="Restrictions">
<title>Restrictions</title>
<para>
@@ -2415,7 +2415,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect1>
- <sect1 id="logical-replication-architecture">
+ <sect1 id="logical-replication-architecture" xreflabel="Architecture">
<title>Architecture</title>
<para>
@@ -2492,7 +2492,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect2>
</sect1>
- <sect1 id="logical-replication-monitoring">
+ <sect1 id="logical-replication-monitoring" xreflabel="Monitoring">
<title>Monitoring</title>
<para>
@@ -2523,7 +2523,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-security">
+ <sect1 id="logical-replication-security" xreflabel="Security">
<title>Security</title>
<para>
@@ -2616,7 +2616,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-config">
+ <sect1 id="logical-replication-config" xreflabel="Configuration Settings">
<title>Configuration Settings</title>
<para>
@@ -2624,7 +2624,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
options are relevant only on one side of the replication.
</para>
- <sect2 id="logical-replication-config-publisher">
+ <sect2 id="logical-replication-config-publisher" xreflabel="Publishers">
<title>Publishers</title>
<para>
@@ -2657,7 +2657,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect2>
- <sect2 id="logical-replication-config-subscriber">
+ <sect2 id="logical-replication-config-subscriber" xreflabel="Subscribers">
<title>Subscribers</title>
<para>
@@ -2712,7 +2712,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect1>
- <sect1 id="logical-replication-upgrade">
+ <sect1 id="logical-replication-upgrade" xreflabel="Upgrade">
<title>Upgrade</title>
<para>
@@ -2721,7 +2721,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
clusters are version 17.0 or later.
</para>
- <sect2 id="prepare-publisher-upgrades">
+ <sect2 id="prepare-publisher-upgrades" xreflabel="Prepare for Publisher Upgrades">
<title>Prepare for Publisher Upgrades</title>
<para>
@@ -2793,7 +2793,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect2>
- <sect2 id="prepare-subscriber-upgrades">
+ <sect2 id="prepare-subscriber-upgrades" xreflabel="Prepare for Subscriber Upgrades">
<title>Prepare for Subscriber Upgrades</title>
<para>
@@ -2869,7 +2869,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect2>
- <sect2 id="upgrading-logical-replication-clusters">
+ <sect2 id="upgrading-logical-replication-clusters" xreflabel="Upgrading Logical Replication Clusters">
<title>Upgrading Logical Replication Clusters</title>
<para>
@@ -3501,7 +3501,7 @@ pg_ctl -D /opt/PostgreSQL/data2_upgraded start -l logfile
</sect2>
</sect1>
- <sect1 id="logical-replication-quick-setup">
+ <sect1 id="logical-replication-quick-setup" xreflabel="Quick Setup">
<title>Quick Setup</title>
<para>
diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml
index 6368e46ce93..f1a423dc551 100644
--- a/doc/src/sgml/logicaldecoding.sgml
+++ b/doc/src/sgml/logicaldecoding.sgml
@@ -37,7 +37,7 @@
(see <xref linkend="logicaldecoding-writer"/>).
</para>
- <sect1 id="logicaldecoding-example">
+ <sect1 id="logicaldecoding-example" xreflabel="Logical Decoding Examples">
<title>Logical Decoding Examples</title>
<para>
@@ -235,7 +235,7 @@ postgres=# SELECT * from pg_logical_slot_get_changes('regression_slot', NULL, NU
</programlisting>
</sect1>
- <sect1 id="logicaldecoding-explanation">
+ <sect1 id="logicaldecoding-explanation" xreflabel="Logical Decoding Concepts">
<title>Logical Decoding Concepts</title>
<sect2 id="logicaldecoding-explanation-log-dec">
<title>Logical Decoding</title>
@@ -506,7 +506,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</sect2>
</sect1>
- <sect1 id="logicaldecoding-walsender">
+ <sect1 id="logicaldecoding-walsender" xreflabel="Streaming Replication Protocol Interface">
<title>Streaming Replication Protocol Interface</title>
<para>
@@ -537,7 +537,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-sql">
+ <sect1 id="logicaldecoding-sql" xreflabel="Logical Decoding SQL Interface">
<title>Logical Decoding <acronym>SQL</acronym> Interface</title>
<para>
@@ -553,7 +553,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-catalogs">
+ <sect1 id="logicaldecoding-catalogs" xreflabel="System Catalogs Related to Logical Decoding">
<title>System Catalogs Related to Logical Decoding</title>
<para>
@@ -570,7 +570,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-output-plugin">
+ <sect1 id="logicaldecoding-output-plugin" xreflabel="Logical Decoding Output Plugins">
<title>Logical Decoding Output Plugins</title>
<para>
@@ -734,7 +734,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</sect2>
</sect1>
- <sect1 id="logicaldecoding-output-plugin-writing">
+ <sect1 id="logicaldecoding-output-plugin-writing" xreflabel="Writing Logical Decoding Output Plugins">
<title>Writing Logical Decoding Output Plugins</title>
<para>
An example output plugin can be found in the
@@ -1381,7 +1381,7 @@ OutputPluginWrite(ctx, true);
</sect2>
</sect1>
- <sect1 id="logicaldecoding-writer">
+ <sect1 id="logicaldecoding-writer" xreflabel="Logical Decoding Output Writers">
<title>Logical Decoding Output Writers</title>
<para>
@@ -1394,7 +1394,7 @@ OutputPluginWrite(ctx, true);
</para>
</sect1>
- <sect1 id="logicaldecoding-synchronous">
+ <sect1 id="logicaldecoding-synchronous" xreflabel="Synchronous Replication Support for Logical Decoding">
<title>Synchronous Replication Support for Logical Decoding</title>
<sect2 id="logicaldecoding-synchronous-overview">
<title>Overview</title>
@@ -1480,7 +1480,7 @@ OutputPluginWrite(ctx, true);
</sect2>
</sect1>
- <sect1 id="logicaldecoding-streaming">
+ <sect1 id="logicaldecoding-streaming" xreflabel="Streaming of Large Transactions for Logical Decoding">
<title>Streaming of Large Transactions for Logical Decoding</title>
<para>
@@ -1585,7 +1585,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction
</sect1>
- <sect1 id="logicaldecoding-two-phase-commits">
+ <sect1 id="logicaldecoding-two-phase-commits" xreflabel="Two-phase Commit Support for Logical Decoding">
<title>Two-phase Commit Support for Logical Decoding</title>
<para>
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
index ff3c227727b..312486e51b0 100644
--- a/doc/src/sgml/ltree.sgml
+++ b/doc/src/sgml/ltree.sgml
@@ -19,7 +19,7 @@
on the current database.
</para>
- <sect2 id="ltree-definitions">
+ <sect2 id="ltree-definitions" xreflabel="Definitions">
<title>Definitions</title>
<para>
@@ -188,7 +188,7 @@ Europe & Russia*@ & !Transportation
</para>
</sect2>
- <sect2 id="ltree-ops-funcs">
+ <sect2 id="ltree-ops-funcs" xreflabel="Operators and Functions">
<title>Operators and Functions</title>
<para>
@@ -608,7 +608,7 @@ Europe & Russia*@ & !Transportation
</table>
</sect2>
- <sect2 id="ltree-indexes">
+ <sect2 id="ltree-indexes" xreflabel="Indexes">
<title>Indexes</title>
<para>
<filename>ltree</filename> supports several types of indexes that can speed
@@ -694,7 +694,7 @@ CREATE INDEX path_gist_idx ON test USING GIST (array_path gist__ltree_ops(siglen
</itemizedlist>
</sect2>
- <sect2 id="ltree-example">
+ <sect2 id="ltree-example" xreflabel="Example">
<title>Example</title>
<para>
@@ -832,7 +832,7 @@ ltreetest=> SELECT ins_label(path,2,'Space') FROM test WHERE path <@ 'Top.
</para>
</sect2>
- <sect2 id="ltree-transforms">
+ <sect2 id="ltree-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -843,7 +843,7 @@ ltreetest=> SELECT ins_label(path,2,'Space') FROM test WHERE path <@ 'Top.
</para>
</sect2>
- <sect2 id="ltree-authors">
+ <sect2 id="ltree-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 08e6489afb8..1d3407cdad0 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -59,7 +59,7 @@
pleasant and productive experience with the system.
</para>
- <sect1 id="routine-vacuuming">
+ <sect1 id="routine-vacuuming" xreflabel="Routine Vacuuming">
<title>Routine Vacuuming</title>
<indexterm zone="routine-vacuuming">
@@ -82,7 +82,7 @@
to skim this material to help them understand and adjust autovacuuming.
</para>
- <sect2 id="vacuum-basics">
+ <sect2 id="vacuum-basics" xreflabel="Vacuuming Basics">
<title>Vacuuming Basics</title>
<para>
@@ -145,7 +145,7 @@
</para>
</sect2>
- <sect2 id="vacuum-for-space-recovery">
+ <sect2 id="vacuum-for-space-recovery" xreflabel="Recovering Disk Space">
<title>Recovering Disk Space</title>
<indexterm zone="vacuum-for-space-recovery">
@@ -255,7 +255,7 @@
</tip>
</sect2>
- <sect2 id="vacuum-for-statistics">
+ <sect2 id="vacuum-for-statistics" xreflabel="Updating Planner Statistics">
<title>Updating Planner Statistics</title>
<indexterm zone="vacuum-for-statistics">
@@ -371,7 +371,7 @@
</sect2>
- <sect2 id="vacuum-for-visibility-map">
+ <sect2 id="vacuum-for-visibility-map" xreflabel="Updating the Visibility Map">
<title>Updating the Visibility Map</title>
<para>
@@ -400,7 +400,7 @@
</para>
</sect2>
- <sect2 id="vacuum-for-wraparound">
+ <sect2 id="vacuum-for-wraparound" xreflabel="Preventing Transaction ID Wraparound Failures">
<title>Preventing Transaction ID Wraparound Failures</title>
<indexterm zone="vacuum-for-wraparound">
@@ -855,7 +855,7 @@ HINT: Execute a database-wide VACUUM in that database.
</sect3>
</sect2>
- <sect2 id="autovacuum">
+ <sect2 id="autovacuum" xreflabel="The Autovacuum Daemon">
<title>The Autovacuum Daemon</title>
<indexterm>
@@ -1036,7 +1036,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
</sect1>
- <sect1 id="routine-reindex">
+ <sect1 id="routine-reindex" xreflabel="Routine Reindexing">
<title>Routine Reindexing</title>
<indexterm zone="routine-reindex">
@@ -1084,7 +1084,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
</sect1>
- <sect1 id="logfile-maintenance">
+ <sect1 id="logfile-maintenance" xreflabel="Log File Maintenance">
<title>Log File Maintenance</title>
<indexterm zone="logfile-maintenance">
diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml
index fe4cb4410cd..96b43531e54 100644
--- a/doc/src/sgml/manage-ag.sgml
+++ b/doc/src/sgml/manage-ag.sgml
@@ -14,7 +14,7 @@
them.
</para>
- <sect1 id="manage-ag-overview">
+ <sect1 id="manage-ag-overview" xreflabel="Overview">
<title>Overview</title>
<indexterm zone="manage-ag-overview">
@@ -93,7 +93,7 @@ SELECT datname FROM pg_database;
</note>
</sect1>
- <sect1 id="manage-ag-createdb">
+ <sect1 id="manage-ag-createdb" xreflabel="Creating a Database">
<title>Creating a Database</title>
<indexterm><primary>CREATE DATABASE</primary></indexterm>
@@ -196,7 +196,7 @@ createdb -O <replaceable>rolename</replaceable> <replaceable>dbname</replaceable
</para>
</sect1>
- <sect1 id="manage-ag-templatedbs">
+ <sect1 id="manage-ag-templatedbs" xreflabel="Template Databases">
<title>Template Databases</title>
<para>
@@ -310,7 +310,7 @@ createdb -T template0 <replaceable>dbname</replaceable>
</note>
</sect1>
- <sect1 id="manage-ag-config">
+ <sect1 id="manage-ag-config" xreflabel="Database Configuration">
<title>Database Configuration</title>
<para>
@@ -341,7 +341,7 @@ ALTER DATABASE mydb SET geqo TO off;
</para>
</sect1>
- <sect1 id="manage-ag-dropdb">
+ <sect1 id="manage-ag-dropdb" xreflabel="Destroying a Database">
<title>Destroying a Database</title>
<para>
@@ -377,7 +377,7 @@ dropdb <replaceable class="parameter">dbname</replaceable>
</para>
</sect1>
- <sect1 id="manage-ag-tablespaces">
+ <sect1 id="manage-ag-tablespaces" xreflabel="Tablespaces">
<title>Tablespaces</title>
<indexterm zone="manage-ag-tablespaces">
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 817fd9f4ca7..bc8e9d9a8e0 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -33,7 +33,7 @@
query.
</para>
- <sect1 id="monitoring-ps">
+ <sect1 id="monitoring-ps" xreflabel="Standard Unix Tools">
<title>Standard Unix Tools</title>
<indexterm zone="monitoring-ps">
@@ -127,7 +127,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</tip>
</sect1>
- <sect1 id="monitoring-stats">
+ <sect1 id="monitoring-stats" xreflabel="The Cumulative Statistics System">
<title>The Cumulative Statistics System</title>
<indexterm zone="monitoring-stats">
@@ -152,7 +152,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
of the cumulative statistics system.
</para>
- <sect2 id="monitoring-stats-setup">
+ <sect2 id="monitoring-stats-setup" xreflabel="Statistics Collection Configuration">
<title>Statistics Collection Configuration</title>
<para>
@@ -217,7 +217,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</sect2>
- <sect2 id="monitoring-stats-views">
+ <sect2 id="monitoring-stats-views" xreflabel="Viewing Statistics">
<title>Viewing Statistics</title>
<para>
@@ -703,7 +703,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</sect2>
- <sect2 id="monitoring-pg-stat-activity-view">
+ <sect2 id="monitoring-pg-stat-activity-view" xreflabel="pg_stat_activity">
<title><structname>pg_stat_activity</structname></title>
<indexterm>
@@ -1170,7 +1170,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</note>
</sect2>
- <sect2 id="monitoring-pg-stat-replication-view">
+ <sect2 id="monitoring-pg-stat-replication-view" xreflabel="pg_stat_replication">
<title><structname>pg_stat_replication</structname></title>
<indexterm>
@@ -1511,7 +1511,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-replication-slots-view">
+ <sect2 id="monitoring-pg-stat-replication-slots-view" xreflabel="pg_stat_replication_slots">
<title><structname>pg_stat_replication_slots</structname></title>
<indexterm>
@@ -1695,7 +1695,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-wal-receiver-view">
+ <sect2 id="monitoring-pg-stat-wal-receiver-view" xreflabel="pg_stat_wal_receiver">
<title><structname>pg_stat_wal_receiver</structname></title>
<indexterm>
@@ -1875,7 +1875,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-recovery-prefetch">
+ <sect2 id="monitoring-pg-stat-recovery-prefetch" xreflabel="pg_stat_recovery_prefetch">
<title><structname>pg_stat_recovery_prefetch</structname></title>
<indexterm>
@@ -2021,7 +2021,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-subscription">
+ <sect2 id="monitoring-pg-stat-subscription" xreflabel="pg_stat_subscription">
<title><structname>pg_stat_subscription</structname></title>
<indexterm>
@@ -2158,7 +2158,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-subscription-stats">
+ <sect2 id="monitoring-pg-stat-subscription-stats" xreflabel="pg_stat_subscription_stats">
<title><structname>pg_stat_subscription_stats</structname></title>
<indexterm>
@@ -2343,7 +2343,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-ssl-view">
+ <sect2 id="monitoring-pg-stat-ssl-view" xreflabel="pg_stat_ssl">
<title><structname>pg_stat_ssl</structname></title>
<indexterm>
@@ -2464,7 +2464,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-gssapi-view">
+ <sect2 id="monitoring-pg-stat-gssapi-view" xreflabel="pg_stat_gssapi">
<title><structname>pg_stat_gssapi</structname></title>
<indexterm>
@@ -2548,7 +2548,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-archiver-view">
+ <sect2 id="monitoring-pg-stat-archiver-view" xreflabel="pg_stat_archiver">
<title><structname>pg_stat_archiver</structname></title>
<indexterm>
@@ -2651,7 +2651,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</para>
</sect2>
- <sect2 id="monitoring-pg-stat-io-view">
+ <sect2 id="monitoring-pg-stat-io-view" xreflabel="pg_stat_io">
<title><structname>pg_stat_io</structname></title>
<indexterm>
@@ -3087,7 +3087,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-bgwriter-view">
+ <sect2 id="monitoring-pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter">
<title><structname>pg_stat_bgwriter</structname></title>
<indexterm>
@@ -3156,7 +3156,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-checkpointer-view">
+ <sect2 id="monitoring-pg-stat-checkpointer-view" xreflabel="pg_stat_checkpointer">
<title><structname>pg_stat_checkpointer</structname></title>
<indexterm>
@@ -3303,7 +3303,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</para>
</sect2>
- <sect2 id="monitoring-pg-stat-wal-view">
+ <sect2 id="monitoring-pg-stat-wal-view" xreflabel="pg_stat_wal">
<title><structname>pg_stat_wal</structname></title>
<indexterm>
@@ -3389,7 +3389,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-database-view">
+ <sect2 id="monitoring-pg-stat-database-view" xreflabel="pg_stat_database">
<title><structname>pg_stat_database</structname></title>
<indexterm>
@@ -3732,7 +3732,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-database-conflicts-view">
+ <sect2 id="monitoring-pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
<title><structname>pg_stat_database_conflicts</structname></title>
<indexterm>
@@ -3846,7 +3846,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-all-tables-view">
+ <sect2 id="monitoring-pg-stat-all-tables-view" xreflabel="pg_stat_all_tables">
<title><structname>pg_stat_all_tables</structname></title>
<indexterm>
@@ -4188,7 +4188,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-all-indexes-view">
+ <sect2 id="monitoring-pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes">
<title><structname>pg_stat_all_indexes</structname></title>
<indexterm>
@@ -4378,7 +4378,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-tables-view">
+ <sect2 id="monitoring-pg-statio-all-tables-view" xreflabel="pg_statio_all_tables">
<title><structname>pg_statio_all_tables</structname></title>
<indexterm>
@@ -4523,7 +4523,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-indexes-view">
+ <sect2 id="monitoring-pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes">
<title><structname>pg_statio_all_indexes</structname></title>
<indexterm>
@@ -4632,7 +4632,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-sequences-view">
+ <sect2 id="monitoring-pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences">
<title><structname>pg_statio_all_sequences</structname></title>
<indexterm>
@@ -4710,7 +4710,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-user-functions-view">
+ <sect2 id="monitoring-pg-stat-user-functions-view" xreflabel="pg_stat_user_functions">
<title><structname>pg_stat_user_functions</structname></title>
<indexterm>
@@ -4809,7 +4809,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-slru-view">
+ <sect2 id="monitoring-pg-stat-slru-view" xreflabel="pg_stat_slru">
<title><structname>pg_stat_slru</structname></title>
<indexterm>
@@ -4938,7 +4938,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-stats-functions">
+ <sect2 id="monitoring-stats-functions" xreflabel="Statistics Functions">
<title>Statistics Functions</title>
<para>
@@ -5552,7 +5552,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
</sect1>
- <sect1 id="monitoring-locks">
+ <sect1 id="monitoring-locks" xreflabel="Viewing Locks">
<title>Viewing Locks</title>
<indexterm zone="monitoring-locks">
@@ -5601,7 +5601,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</para>
</sect1>
- <sect1 id="progress-reporting">
+ <sect1 id="progress-reporting" xreflabel="Progress Reporting">
<title>Progress Reporting</title>
<para>
@@ -5617,7 +5617,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
This may be expanded in the future.
</para>
- <sect2 id="analyze-progress-reporting">
+ <sect2 id="analyze-progress-reporting" xreflabel="ANALYZE Progress Reporting">
<title>ANALYZE Progress Reporting</title>
<indexterm>
@@ -5871,7 +5871,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</note>
</sect2>
- <sect2 id="cluster-progress-reporting">
+ <sect2 id="cluster-progress-reporting" xreflabel="CLUSTER Progress Reporting">
<title>CLUSTER Progress Reporting</title>
<indexterm>
@@ -6093,7 +6093,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="copy-progress-reporting">
+ <sect2 id="copy-progress-reporting" xreflabel="COPY Progress Reporting">
<title>COPY Progress Reporting</title>
<indexterm>
@@ -6239,7 +6239,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="create-index-progress-reporting">
+ <sect2 id="create-index-progress-reporting" xreflabel="CREATE INDEX Progress Reporting">
<title>CREATE INDEX Progress Reporting</title>
<indexterm>
@@ -6543,7 +6543,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
- <sect2 id="vacuum-progress-reporting">
+ <sect2 id="vacuum-progress-reporting" xreflabel="VACUUM Progress Reporting">
<title>VACUUM Progress Reporting</title>
<indexterm>
@@ -6895,7 +6895,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="basebackup-progress-reporting">
+ <sect2 id="basebackup-progress-reporting" xreflabel="Base Backup Progress Reporting">
<title>Base Backup Progress Reporting</title>
<indexterm>
@@ -7082,7 +7082,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect1>
- <sect1 id="dynamic-trace">
+ <sect1 id="dynamic-trace" xreflabel="Dynamic Tracing">
<title>Dynamic Tracing</title>
<indexterm zone="dynamic-trace">
@@ -7115,7 +7115,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
the macros in <filename>src/include/utils/probes.h</filename>.
</para>
- <sect2 id="compiling-for-trace">
+ <sect2 id="compiling-for-trace" xreflabel="Compiling for Dynamic Tracing">
<title>Compiling for Dynamic Tracing</title>
<para>
@@ -7127,7 +7127,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</para>
</sect2>
- <sect2 id="trace-points">
+ <sect2 id="trace-points" xreflabel="Built-in Probes">
<title>Built-in Probes</title>
<para>
@@ -7624,7 +7624,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
- <sect2 id="using-trace-points">
+ <sect2 id="using-trace-points" xreflabel="Using Probes">
<title>Using Probes</title>
<para>
@@ -7684,7 +7684,7 @@ Total time (ns) 2312105013
</para>
</sect2>
- <sect2 id="defining-trace-points">
+ <sect2 id="defining-trace-points" xreflabel="Defining New Probes">
<title>Defining New Probes</title>
<para>
@@ -7825,7 +7825,7 @@ if (TRACE_POSTGRESQL_TRANSACTION_START_ENABLED())
</sect1>
- <sect1 id="diskusage">
+ <sect1 id="diskusage" xreflabel="Monitoring Disk Usage">
<title>Monitoring Disk Usage</title>
<para>
@@ -7833,7 +7833,7 @@ if (TRACE_POSTGRESQL_TRANSACTION_START_ENABLED())
<productname>PostgreSQL</productname> database system.
</para>
- <sect2 id="disk-usage">
+ <sect2 id="disk-usage" xreflabel="Determining Disk Usage">
<title>Determining Disk Usage</title>
<indexterm zone="disk-usage">
@@ -7934,7 +7934,7 @@ ORDER BY relpages DESC;
</para>
</sect2>
- <sect2 id="disk-full">
+ <sect2 id="disk-full" xreflabel="Disk Full Failure">
<title>Disk Full Failure</title>
<para>
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 049ee75a4ba..72cbbd98af6 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -17,7 +17,7 @@
in this chapter.
</para>
- <sect1 id="mvcc-intro">
+ <sect1 id="mvcc-intro" xreflabel="Introduction">
<title>Introduction</title>
<indexterm>
@@ -78,7 +78,7 @@
</para>
</sect1>
- <sect1 id="transaction-iso">
+ <sect1 id="transaction-iso" xreflabel="Transaction Isolation">
<title>Transaction Isolation</title>
<indexterm>
@@ -302,7 +302,7 @@
</para>
</important>
- <sect2 id="xact-read-committed">
+ <sect2 id="xact-read-committed" xreflabel="Read Committed Isolation Level">
<title>Read Committed Isolation Level</title>
<indexterm>
@@ -477,7 +477,7 @@ COMMIT;
</para>
</sect2>
- <sect2 id="xact-repeatable-read">
+ <sect2 id="xact-repeatable-read" xreflabel="Repeatable Read Isolation Level">
<title>Repeatable Read Isolation Level</title>
<indexterm>
@@ -597,7 +597,7 @@ ERROR: could not serialize access due to concurrent update
</note>
</sect2>
- <sect2 id="xact-serializable">
+ <sect2 id="xact-serializable" xreflabel="Serializable Isolation Level">
<title>Serializable Isolation Level</title>
<indexterm>
@@ -847,7 +847,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
</sect2>
</sect1>
- <sect1 id="explicit-locking">
+ <sect1 id="explicit-locking" xreflabel="Explicit Locking">
<title>Explicit Locking</title>
<indexterm>
@@ -876,7 +876,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
manager subsystem, refer to <xref linkend="monitoring"/>.
</para>
- <sect2 id="locking-tables">
+ <sect2 id="locking-tables" xreflabel="Table-Level Locks">
<title>Table-Level Locks</title>
<indexterm zone="locking-tables">
@@ -1613,7 +1613,7 @@ SELECT pg_advisory_lock(q.id) FROM
</sect1>
- <sect1 id="applevel-consistency">
+ <sect1 id="applevel-consistency" xreflabel="Data Consistency Checks at the Application Level">
<title>Data Consistency Checks at the Application Level</title>
<para>
@@ -1763,7 +1763,7 @@ SELECT pg_advisory_lock(q.id) FROM
</sect2>
</sect1>
- <sect1 id="mvcc-serialization-failure-handling">
+ <sect1 id="mvcc-serialization-failure-handling" xreflabel="Serialization Failure Handling">
<title>Serialization Failure Handling</title>
<indexterm>
@@ -1829,7 +1829,7 @@ SELECT pg_advisory_lock(q.id) FROM
</para>
</sect1>
- <sect1 id="mvcc-caveats">
+ <sect1 id="mvcc-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -1871,7 +1871,7 @@ SELECT pg_advisory_lock(q.id) FROM
</para>
</sect1>
- <sect1 id="locking-indexes">
+ <sect1 id="locking-indexes" xreflabel="Locking and Indexes">
<title>Locking and Indexes</title>
<indexterm zone="locking-indexes">
diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml
index 0ad1b2c9c45..2a699f79f8f 100644
--- a/doc/src/sgml/nls.sgml
+++ b/doc/src/sgml/nls.sgml
@@ -3,7 +3,7 @@
<chapter id="nls">
<title>Native Language Support</title>
- <sect1 id="nls-translator">
+ <sect1 id="nls-translator" xreflabel="For the Translator">
<title>For the Translator</title>
<para>
@@ -17,7 +17,7 @@
to do this. This section explains how to help.
</para>
- <sect2 id="nls-translator-requirements">
+ <sect2 id="nls-translator-requirements" xreflabel="Requirements">
<title>Requirements</title>
<para>
@@ -50,7 +50,7 @@
</para>
</sect2>
- <sect2 id="nls-translator-concepts">
+ <sect2 id="nls-translator-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -130,7 +130,7 @@ msgstr "another translated"
</para>
</sect2>
- <sect2 id="nls-translator-message-catalogs">
+ <sect2 id="nls-translator-message-catalogs" xreflabel="Creating and Maintaining Message Catalogs">
<title>Creating and Maintaining Message Catalogs</title>
<para>
@@ -199,7 +199,7 @@ make update-po
</para>
</sect2>
- <sect2 id="nls-translator-editing-po">
+ <sect2 id="nls-translator-editing-po" xreflabel="Editing the PO Files">
<title>Editing the PO Files</title>
<para>
@@ -298,10 +298,10 @@ msgstr "Die Datei %2$s hat %1$u Zeichen."
</sect1>
- <sect1 id="nls-programmer">
+ <sect1 id="nls-programmer" xreflabel="For the Programmer">
<title>For the Programmer</title>
- <sect2 id="nls-mechanics">
+ <sect2 id="nls-mechanics" xreflabel="Mechanics">
<title>Mechanics</title>
<para>
@@ -434,7 +434,7 @@ fprintf(stderr, gettext("panic level %d\n"), lvl);
</para>
</sect2>
- <sect2 id="nls-guidelines">
+ <sect2 id="nls-guidelines" xreflabel="Message-Writing Guidelines">
<title>Message-Writing Guidelines</title>
<para>
diff --git a/doc/src/sgml/notation.sgml b/doc/src/sgml/notation.sgml
index c3798d5f1be..6ff8f58277a 100644
--- a/doc/src/sgml/notation.sgml
+++ b/doc/src/sgml/notation.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/notation.sgml -->
-<sect1 id="notation">
+<sect1 id="notation" xreflabel="Conventions">
<title>Conventions</title>
<para>
diff --git a/doc/src/sgml/oauth-validators.sgml b/doc/src/sgml/oauth-validators.sgml
index 704089dd7b3..22ce45ecf43 100644
--- a/doc/src/sgml/oauth-validators.sgml
+++ b/doc/src/sgml/oauth-validators.sgml
@@ -26,7 +26,7 @@
</para>
</warning>
- <sect1 id="oauth-validator-design">
+ <sect1 id="oauth-validator-design" xreflabel="Safely Designing a Validator Module">
<title>Safely Designing a Validator Module</title>
<warning>
<para>
@@ -38,7 +38,7 @@
</para>
</warning>
- <sect2 id="oauth-validator-design-responsibilities">
+ <sect2 id="oauth-validator-design-responsibilities" xreflabel="Validator Responsibilities">
<title>Validator Responsibilities</title>
<para>
Although different modules may take very different approaches to token
@@ -164,7 +164,7 @@
</variablelist>
</sect2>
- <sect2 id="oauth-validator-design-guidelines">
+ <sect2 id="oauth-validator-design-guidelines" xreflabel="General Coding Guidelines">
<title>General Coding Guidelines</title>
<para>
Developers should keep the following in mind when implementing token
@@ -247,7 +247,7 @@
</variablelist>
</sect2>
- <sect2 id="oauth-validator-design-usermap-delegation">
+ <sect2 id="oauth-validator-design-usermap-delegation" xreflabel="Authorizing Users (Usermap Delegation)">
<title>Authorizing Users (Usermap Delegation)</title>
<para>
The standard deliverable of a validation module is the user identifier,
@@ -286,7 +286,7 @@
</sect2>
</sect1>
- <sect1 id="oauth-validator-init">
+ <sect1 id="oauth-validator-init" xreflabel="Initialization Functions">
<title>Initialization Functions</title>
<indexterm zone="oauth-validator-init">
<primary>_PG_oauth_validator_module_init</primary>
@@ -322,7 +322,7 @@ typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
</para>
</sect1>
- <sect1 id="oauth-validator-callbacks">
+ <sect1 id="oauth-validator-callbacks" xreflabel="OAuth Validator Callbacks">
<title>OAuth Validator Callbacks</title>
<para>
OAuth validator modules implement their functionality by defining a set of
@@ -330,7 +330,7 @@ typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
authentication request from the user.
</para>
- <sect2 id="oauth-validator-callback-startup">
+ <sect2 id="oauth-validator-callback-startup" xreflabel="Startup Callback">
<title>Startup Callback</title>
<para>
The <function>startup_cb</function> callback is executed directly after
@@ -345,7 +345,7 @@ typedef void (*ValidatorStartupCB) (ValidatorModuleState *state);
</para>
</sect2>
- <sect2 id="oauth-validator-callback-validate">
+ <sect2 id="oauth-validator-callback-validate" xreflabel="Validate Callback">
<title>Validate Callback</title>
<para>
The <function>validate_cb</function> callback is executed during the OAuth
@@ -400,7 +400,7 @@ typedef struct ValidatorModuleResult
</para>
</sect2>
- <sect2 id="oauth-validator-callback-shutdown">
+ <sect2 id="oauth-validator-callback-shutdown" xreflabel="Shutdown Callback">
<title>Shutdown Callback</title>
<para>
The <function>shutdown_cb</function> callback is executed when the backend
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
index 3a113439e1d..fa78b52d8b2 100644
--- a/doc/src/sgml/pageinspect.sgml
+++ b/doc/src/sgml/pageinspect.sgml
@@ -13,7 +13,7 @@
debugging purposes. All of these functions may be used only by superusers.
</para>
- <sect2 id="pageinspect-general-funcs">
+ <sect2 id="pageinspect-general-funcs" xreflabel="General Functions">
<title>General Functions</title>
<variablelist>
@@ -156,7 +156,7 @@ test=# SELECT fsm_page_contents(get_raw_page('pg_class', 'fsm', 0));
</variablelist>
</sect2>
- <sect2 id="pageinspect-heap-funcs">
+ <sect2 id="pageinspect-heap-funcs" xreflabel="Heap Functions">
<title>Heap Functions</title>
<variablelist>
@@ -282,7 +282,7 @@ test=# SELECT t_ctid, raw_flags, combined_flags
</variablelist>
</sect2>
- <sect2 id="pageinspect-b-tree-funcs">
+ <sect2 id="pageinspect-b-tree-funcs" xreflabel="B-Tree Functions">
<title>B-Tree Functions</title>
<variablelist>
@@ -521,7 +521,7 @@ test=# SELECT itemoffset, ctid, itemlen, nulls, vars, data, dead, htid, tids[0:2
</variablelist>
</sect2>
- <sect2 id="pageinspect-brin-funcs">
+ <sect2 id="pageinspect-brin-funcs" xreflabel="BRIN Functions">
<title>BRIN Functions</title>
<variablelist>
@@ -631,7 +631,7 @@ test=# SELECT * FROM brin_page_items(get_raw_page('brinidx', 5),
</variablelist>
</sect2>
- <sect2 id="pageinspect-gin-funcs">
+ <sect2 id="pageinspect-gin-funcs" xreflabel="GIN Functions">
<title>GIN Functions</title>
<variablelist>
@@ -721,7 +721,7 @@ test=# SELECT first_tid, nbytes, tids[0:5] AS some_tids
</variablelist>
</sect2>
- <sect2 id="pageinspect-gist-funcs">
+ <sect2 id="pageinspect-gist-funcs" xreflabel="GiST Functions">
<title>GiST Functions</title>
<variablelist>
@@ -811,7 +811,7 @@ test=# SELECT * FROM gist_page_items_bytea(get_raw_page('test_gist_idx', 0));
</variablelist>
</sect2>
- <sect2 id="pageinspect-hash-funcs">
+ <sect2 id="pageinspect-hash-funcs" xreflabel="Hash Functions">
<title>Hash Functions</title>
<variablelist>
diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml
index af43484703e..17d895468a6 100644
--- a/doc/src/sgml/parallel.sgml
+++ b/doc/src/sgml/parallel.sgml
@@ -22,7 +22,7 @@
used so that users who wish to make use of it can understand what to expect.
</para>
- <sect1 id="how-parallel-query-works">
+ <sect1 id="how-parallel-query-works" xreflabel="How Parallel Query Works">
<title>How Parallel Query Works</title>
<para>
@@ -105,7 +105,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect1>
- <sect1 id="when-can-parallel-query-be-used">
+ <sect1 id="when-can-parallel-query-be-used" xreflabel="When Can Parallel Query Be Used?">
<title>When Can Parallel Query Be Used?</title>
<para>
@@ -244,7 +244,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</itemizedlist>
</sect1>
- <sect1 id="parallel-plans">
+ <sect1 id="parallel-plans" xreflabel="Parallel Plans">
<title>Parallel Plans</title>
<para>
@@ -262,7 +262,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
must be a parallel-aware scan.
</para>
- <sect2 id="parallel-scans">
+ <sect2 id="parallel-scans" xreflabel="Parallel Scans">
<title>Parallel Scans</title>
<para>
@@ -315,7 +315,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect2>
- <sect2 id="parallel-joins">
+ <sect2 id="parallel-joins" xreflabel="Parallel Joins">
<title>Parallel Joins</title>
<para>
@@ -359,7 +359,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</itemizedlist>
</sect2>
- <sect2 id="parallel-aggregation">
+ <sect2 id="parallel-aggregation" xreflabel="Parallel Aggregation">
<title>Parallel Aggregation</title>
<para>
<productname>PostgreSQL</productname> supports parallel aggregation by aggregating in
@@ -401,7 +401,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</sect2>
- <sect2 id="parallel-append">
+ <sect2 id="parallel-append" xreflabel="Parallel Append">
<title>Parallel Append</title>
<para>
@@ -449,7 +449,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect2>
- <sect2 id="parallel-plan-tips">
+ <sect2 id="parallel-plan-tips" xreflabel="Parallel Plan Tips">
<title>Parallel Plan Tips</title>
<para>
@@ -477,7 +477,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</sect2>
</sect1>
- <sect1 id="parallel-safety">
+ <sect1 id="parallel-safety" xreflabel="Parallel Safety">
<title>Parallel Safety</title>
<para>
@@ -526,7 +526,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</listitem>
</itemizedlist>
- <sect2 id="parallel-labeling">
+ <sect2 id="parallel-labeling" xreflabel="Parallel Labeling for Functions and Aggregates">
<title>Parallel Labeling for Functions and Aggregates</title>
<para>
diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml
index 7ea32410463..1b7a4ed8f54 100644
--- a/doc/src/sgml/passwordcheck.sgml
+++ b/doc/src/sgml/passwordcheck.sgml
@@ -59,7 +59,7 @@
</para>
</caution>
- <sect2 id="passwordcheck-configuration-parameters">
+ <sect2 id="passwordcheck-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index 5f6f1db0467..7b57dabe9a6 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -14,7 +14,7 @@
and tuning <productname>PostgreSQL</productname> performance.
</para>
- <sect1 id="using-explain">
+ <sect1 id="using-explain" xreflabel="Using EXPLAIN">
<title>Using <command>EXPLAIN</command></title>
<indexterm zone="using-explain">
@@ -54,7 +54,7 @@
(XML, JSON, or YAML) instead.
</para>
- <sect2 id="using-explain-basics">
+ <sect2 id="using-explain-basics" xreflabel="EXPLAIN Basics">
<title><command>EXPLAIN</command> Basics</title>
<para>
@@ -703,7 +703,7 @@ FROM tenk1 t1 WHERE t1.ten = (SELECT (random() * 10)::integer);
</sect2>
- <sect2 id="using-explain-analyze">
+ <sect2 id="using-explain-analyze" xreflabel="EXPLAIN ANALYZE">
<title><command>EXPLAIN ANALYZE</command></title>
<para>
@@ -1105,7 +1105,7 @@ EXPLAIN UPDATE gtest_parent SET f1 = CURRENT_DATE WHERE f2 = 101;
</sect2>
- <sect2 id="using-explain-caveats">
+ <sect2 id="using-explain-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -1203,7 +1203,7 @@ EXPLAIN ANALYZE SELECT * FROM tenk1 WHERE unique1 < 100 AND unique2 > 9000
</sect1>
- <sect1 id="planner-stats">
+ <sect1 id="planner-stats" xreflabel="Statistics Used by the Planner">
<title>Statistics Used by the Planner</title>
<indexterm zone="planner-stats">
@@ -1211,7 +1211,7 @@ EXPLAIN ANALYZE SELECT * FROM tenk1 WHERE unique1 < 100 AND unique2 > 9000
<secondary>of the planner</secondary>
</indexterm>
- <sect2 id="planner-stats-single-column">
+ <sect2 id="planner-stats-single-column" xreflabel="Single-Column Statistics">
<title>Single-Column Statistics</title>
<para>
As we saw in the previous section, the query planner needs to estimate
@@ -1368,7 +1368,7 @@ WHERE tablename = 'road';
</para>
</sect2>
- <sect2 id="planner-stats-extended">
+ <sect2 id="planner-stats-extended" xreflabel="Extended Statistics">
<title>Extended Statistics</title>
<indexterm zone="planner-stats-extended">
@@ -1713,7 +1713,7 @@ SELECT m.* FROM pg_statistic_ext join pg_statistic_ext_data on (oid = stxoid),
</sect2>
</sect1>
- <sect1 id="explicit-joins">
+ <sect1 id="explicit-joins" xreflabel="Controlling the Planner with Explicit JOIN Clauses">
<title>Controlling the Planner with Explicit <literal>JOIN</literal> Clauses</title>
<indexterm zone="explicit-joins">
@@ -1887,7 +1887,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect1>
- <sect1 id="populate">
+ <sect1 id="populate" xreflabel="Populating a Database">
<title>Populating a Database</title>
<para>
@@ -1896,7 +1896,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
this process as efficient as possible.
</para>
- <sect2 id="disable-autocommit">
+ <sect2 id="disable-autocommit" xreflabel="Disable Autocommit">
<title>Disable Autocommit</title>
<indexterm>
@@ -1921,7 +1921,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-copy-from">
+ <sect2 id="populate-copy-from" xreflabel="Use COPY">
<title>Use <command>COPY</command></title>
<para>
@@ -1966,7 +1966,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</sect2>
- <sect2 id="populate-rm-indexes">
+ <sect2 id="populate-rm-indexes" xreflabel="Remove Indexes">
<title>Remove Indexes</title>
<para>
@@ -1989,7 +1989,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-rm-fkeys">
+ <sect2 id="populate-rm-fkeys" xreflabel="Remove Foreign Key Constraints">
<title>Remove Foreign Key Constraints</title>
<para>
@@ -2014,7 +2014,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-work-mem">
+ <sect2 id="populate-work-mem" xreflabel="Increase maintenance_work_mem">
<title>Increase <varname>maintenance_work_mem</varname></title>
<para>
@@ -2027,7 +2027,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-max-wal-size">
+ <sect2 id="populate-max-wal-size" xreflabel="Increase max_wal_size">
<title>Increase <varname>max_wal_size</varname></title>
<para>
@@ -2045,7 +2045,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-pitr">
+ <sect2 id="populate-pitr" xreflabel="Disable WAL Archival and Streaming Replication">
<title>Disable WAL Archival and Streaming Replication</title>
<para>
@@ -2073,7 +2073,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-analyze">
+ <sect2 id="populate-analyze" xreflabel="Run ANALYZE Afterwards">
<title>Run <command>ANALYZE</command> Afterwards</title>
<para>
@@ -2092,7 +2092,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-pg-dump">
+ <sect2 id="populate-pg-dump" xreflabel="Some Notes about pg_dump">
<title>Some Notes about <application>pg_dump</application></title>
<para>
@@ -2195,7 +2195,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</sect2>
</sect1>
- <sect1 id="non-durability">
+ <sect1 id="non-durability" xreflabel="Non-Durable Settings">
<title>Non-Durable Settings</title>
<indexterm zone="non-durability">
diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml
index 1e9aee10275..163a11716e4 100644
--- a/doc/src/sgml/pgbuffercache.sgml
+++ b/doc/src/sgml/pgbuffercache.sgml
@@ -146,7 +146,7 @@
this function is restricted to superusers only.
</para>
- <sect2 id="pgbuffercache-pg-buffercache">
+ <sect2 id="pgbuffercache-pg-buffercache" xreflabel="The pg_buffercache View">
<title>The <structname>pg_buffercache</structname> View</title>
<para>
@@ -281,7 +281,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-os-pages">
+ <sect2 id="pgbuffercache-pg-buffercache-os-pages" xreflabel="The pg_buffercache_os_pages View">
<title>The <structname>pg_buffercache_os_pages</structname> View</title>
<para>
@@ -328,7 +328,7 @@
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-numa">
+ <sect2 id="pgbuffercache-pg-buffercache-numa" xreflabel="The pg_buffercache_numa View">
<title>The <structname>pg_buffercache_numa</structname> View</title>
<para>
@@ -400,7 +400,7 @@
</sect2>
- <sect2 id="pgbuffercache-summary">
+ <sect2 id="pgbuffercache-summary" xreflabel="The pg_buffercache_summary() Function">
<title>The <function>pg_buffercache_summary()</function> Function</title>
<para>
@@ -486,7 +486,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-usage-counts">
+ <sect2 id="pgbuffercache-usage-counts" xreflabel="The pg_buffercache_usage_counts() Function">
<title>The <function>pg_buffercache_usage_counts()</function> Function</title>
<para>
@@ -564,7 +564,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict">
+ <sect2 id="pgbuffercache-pg-buffercache-evict" xreflabel="The pg_buffercache_evict() Function">
<title>The <function>pg_buffercache_evict()</function> Function</title>
<para>
The <function>pg_buffercache_evict()</function> function takes a buffer
@@ -584,7 +584,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict-relation">
+ <sect2 id="pgbuffercache-pg-buffercache-evict-relation" xreflabel="The pg_buffercache_evict_relation() Function">
<title>The <function>pg_buffercache_evict_relation()</function> Function</title>
<para>
The <function>pg_buffercache_evict_relation()</function> function is very
@@ -602,7 +602,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict-all">
+ <sect2 id="pgbuffercache-pg-buffercache-evict-all" xreflabel="The pg_buffercache_evict_all() Function">
<title>The <function>pg_buffercache_evict_all()</function> Function</title>
<para>
The <function>pg_buffercache_evict_all()</function> function is very
@@ -618,7 +618,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty" xreflabel="The pg_buffercache_mark_dirty() Function">
<title>The <function>pg_buffercache_mark_dirty()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty()</function> function takes a
@@ -636,7 +636,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-relation">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-relation" xreflabel="The pg_buffercache_mark_dirty_relation() Function">
<title>The <function>pg_buffercache_mark_dirty_relation()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty_relation()</function> function is
@@ -655,7 +655,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-all">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-all" xreflabel="The pg_buffercache_mark_dirty_all() Function">
<title>The <function>pg_buffercache_mark_dirty_all()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty_all()</function> function is
@@ -673,7 +673,7 @@
</para>
</sect2>
-<sect2 id="pgbuffercache-sample-output">
+<sect2 id="pgbuffercache-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -762,7 +762,7 @@ regression=# SELECT * FROM pg_buffercache_usage_counts();
</screen>
</sect2>
- <sect2 id="pgbuffercache-authors">
+ <sect2 id="pgbuffercache-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index 6fc2069ad3e..29459f8c207 100644
--- a/doc/src/sgml/pgcrypto.sgml
+++ b/doc/src/sgml/pgcrypto.sgml
@@ -28,10 +28,10 @@
OpenSSL support was not selected when PostgreSQL was built.
</para>
- <sect2 id="pgcrypto-general-hashing-funcs">
+ <sect2 id="pgcrypto-general-hashing-funcs" xreflabel="General Hashing Functions">
<title>General Hashing Functions</title>
- <sect3 id="pgcrypto-general-hashing-funcs-digest">
+ <sect3 id="pgcrypto-general-hashing-funcs-digest" xreflabel="digest()">
<title><function>digest()</function></title>
<indexterm>
@@ -64,7 +64,7 @@ $$ LANGUAGE SQL STRICT IMMUTABLE;
</para>
</sect3>
- <sect3 id="pgcrypto-general-hashing-funcs-hmac">
+ <sect3 id="pgcrypto-general-hashing-funcs-hmac" xreflabel="hmac()">
<title><function>hmac()</function></title>
<indexterm>
@@ -94,7 +94,7 @@ hmac(data bytea, key bytea, type text) returns bytea
</sect3>
</sect2>
- <sect2 id="pgcrypto-password-hashing-funcs">
+ <sect2 id="pgcrypto-password-hashing-funcs" xreflabel="Password Hashing Functions">
<title>Password Hashing Functions</title>
<para>
@@ -222,7 +222,7 @@ hmac(data bytea, key bytea, type text) returns bytea
</tgroup>
</table>
- <sect3 id="pgcrypto-password-hashing-funcs-crypt">
+ <sect3 id="pgcrypto-password-hashing-funcs-crypt" xreflabel="crypt()">
<title><function>crypt()</function></title>
<indexterm>
@@ -255,7 +255,7 @@ SELECT (pswhash = crypt('entered password', pswhash)) AS pswmatch FROM ... ;
</para>
</sect3>
- <sect3 id="pgcrypto-password-hashing-funcs-gen-salt">
+ <sect3 id="pgcrypto-password-hashing-funcs-gen-salt" xreflabel="gen_salt()">
<title><function>gen_salt()</function></title>
<indexterm>
@@ -482,7 +482,7 @@ gen_salt(type text [, iter_count integer ]) returns text
</sect3>
</sect2>
- <sect2 id="pgcrypto-pgp-enc-funcs">
+ <sect2 id="pgcrypto-pgp-enc-funcs" xreflabel="PGP Encryption Functions">
<title>PGP Encryption Functions</title>
<para>
@@ -580,7 +580,7 @@ gen_salt(type text [, iter_count integer ]) returns text
</listitem>
</orderedlist>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-encrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-encrypt" xreflabel="pgp_sym_encrypt()">
<title><function>pgp_sym_encrypt()</function></title>
<indexterm>
@@ -602,7 +602,7 @@ pgp_sym_encrypt_bytea(data bytea, psw text [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-decrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-decrypt" xreflabel="pgp_sym_decrypt()">
<title><function>pgp_sym_decrypt()</function></title>
<indexterm>
@@ -631,7 +631,7 @@ pgp_sym_decrypt_bytea(msg bytea, psw text [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-encrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-encrypt" xreflabel="pgp_pub_encrypt()">
<title><function>pgp_pub_encrypt()</function></title>
<indexterm>
@@ -656,7 +656,7 @@ pgp_pub_encrypt_bytea(data bytea, key bytea [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-decrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-decrypt" xreflabel="pgp_pub_decrypt()">
<title><function>pgp_pub_decrypt()</function></title>
<indexterm>
@@ -689,7 +689,7 @@ pgp_pub_decrypt_bytea(msg bytea, key bytea [, psw text [, options text ]]) retur
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-key-id">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-key-id" xreflabel="pgp_key_id()">
<title><function>pgp_key_id()</function></title>
<indexterm>
@@ -735,7 +735,7 @@ pgp_key_id(bytea) returns text
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-armor">
+ <sect3 id="pgcrypto-pgp-enc-funcs-armor" xreflabel="armor(), dearmor()">
<title><function>armor()</function>, <function>dearmor()</function></title>
<indexterm>
@@ -764,7 +764,7 @@ dearmor(data text) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-armor-headers">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-armor-headers" xreflabel="pgp_armor_headers">
<title><function>pgp_armor_headers</function></title>
<indexterm>
@@ -782,7 +782,7 @@ pgp_armor_headers(data text, key out text, value out text) returns setof record
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-opts">
+ <sect3 id="pgcrypto-pgp-enc-funcs-opts" xreflabel="Options for PGP Functions">
<title>Options for PGP Functions</title>
<para>
@@ -806,7 +806,7 @@ pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')
The rest should have reasonable defaults.
</para>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-cipher-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-cipher-algo" xreflabel="cipher-algo">
<title>cipher-algo</title>
<para>
@@ -819,7 +819,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-algo" xreflabel="compress-algo">
<title>compress-algo</title>
<para>
@@ -836,7 +836,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-level">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-level" xreflabel="compress-level">
<title>compress-level</title>
<para>
@@ -850,7 +850,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-convert-crlf">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-convert-crlf" xreflabel="convert-crlf">
<title>convert-crlf</title>
<para>
@@ -867,7 +867,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt, pgp_sym_decrypt, pgp_pub_decrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-disable-mdc">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-disable-mdc" xreflabel="disable-mdc">
<title>disable-mdc</title>
<para>
@@ -883,7 +883,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-sess-key">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-sess-key" xreflabel="sess-key">
<title>sess-key</title>
<para>
@@ -898,7 +898,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-mode">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-mode" xreflabel="s2k-mode">
<title>s2k-mode</title>
<para>
@@ -914,7 +914,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-count">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-count" xreflabel="s2k-count">
<title>s2k-count</title>
<para>
@@ -927,7 +927,7 @@ Applies to: pgp_sym_encrypt, only with s2k-mode=3
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-digest-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-digest-algo" xreflabel="s2k-digest-algo">
<title>s2k-digest-algo</title>
<para>
@@ -940,7 +940,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-cipher-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-cipher-algo" xreflabel="s2k-cipher-algo">
<title>s2k-cipher-algo</title>
<para>
@@ -953,7 +953,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-unicode-mode">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-unicode-mode" xreflabel="unicode-mode">
<title>unicode-mode</title>
<para>
@@ -970,7 +970,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</sect4>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-gnupg">
+ <sect3 id="pgcrypto-pgp-enc-funcs-gnupg" xreflabel="Generating PGP Keys with GnuPG">
<title>Generating PGP Keys with GnuPG</title>
<para>
@@ -1018,7 +1018,7 @@ gpg -a --export-secret-keys KEYID > secret.key
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-limitations">
+ <sect3 id="pgcrypto-pgp-enc-funcs-limitations" xreflabel="Limitations of PGP Code">
<title>Limitations of PGP Code</title>
<itemizedlist>
@@ -1046,7 +1046,7 @@ gpg -a --export-secret-keys KEYID > secret.key
</sect3>
</sect2>
- <sect2 id="pgcrypto-raw-enc-funcs">
+ <sect2 id="pgcrypto-raw-enc-funcs" xreflabel="Raw Encryption Functions">
<title>Raw Encryption Functions</title>
<para>
@@ -1170,7 +1170,7 @@ encrypt(data, 'fooz', 'bf-cbc/pad:pkcs')
</para>
</sect2>
- <sect2 id="pgcrypto-random-data-funcs">
+ <sect2 id="pgcrypto-random-data-funcs" xreflabel="Random-Data Functions">
<title>Random-Data Functions</title>
<indexterm>
@@ -1200,7 +1200,7 @@ gen_random_uuid() returns uuid
</para>
</sect2>
- <sect2 id="pgcrypto-openssl-support-funcs">
+ <sect2 id="pgcrypto-openssl-support-funcs" xreflabel="OpenSSL Support Functions">
<title>OpenSSL Support Functions</title>
<indexterm>
@@ -1216,7 +1216,7 @@ fips_mode() returns boolean
</para>
</sect2>
- <sect2 id="pgcrypto-configuration-parameters">
+ <sect2 id="pgcrypto-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<para>
@@ -1254,10 +1254,10 @@ fips_mode() returns boolean
</para>
</sect2>
- <sect2 id="pgcrypto-notes">
+ <sect2 id="pgcrypto-notes" xreflabel="Notes">
<title>Notes</title>
- <sect3 id="pgcrypto-notes-config">
+ <sect3 id="pgcrypto-notes-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -1285,7 +1285,7 @@ fips_mode() returns boolean
</para>
</sect3>
- <sect3 id="pgcrypto-notes-null-handling">
+ <sect3 id="pgcrypto-notes-null-handling" xreflabel="NULL Handling">
<title>NULL Handling</title>
<para>
@@ -1294,7 +1294,7 @@ fips_mode() returns boolean
</para>
</sect3>
- <sect3 id="pgcrypto-notes-sec-limits">
+ <sect3 id="pgcrypto-notes-sec-limits" xreflabel="Security Limitations">
<title>Security Limitations</title>
<para>
@@ -1327,7 +1327,7 @@ fips_mode() returns boolean
</sect3>
</sect2>
- <sect2 id="pgcrypto-author">
+ <sect2 id="pgcrypto-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml
index 3774a9f8c6b..8093d095e38 100644
--- a/doc/src/sgml/pgfreespacemap.sgml
+++ b/doc/src/sgml/pgfreespacemap.sgml
@@ -21,7 +21,7 @@
using <command>GRANT</command>.
</para>
- <sect2 id="pgfreespacemap-funcs">
+ <sect2 id="pgfreespacemap-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -71,7 +71,7 @@
</para>
</sect2>
- <sect2 id="pgfreespacemap-sample-output">
+ <sect2 id="pgfreespacemap-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -108,7 +108,7 @@ postgres=# SELECT * FROM pg_freespace('foo', 7);
</screen>
</sect2>
- <sect2 id="pgfreespacemap-author">
+ <sect2 id="pgfreespacemap-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pglogicalinspect.sgml b/doc/src/sgml/pglogicalinspect.sgml
index 1c1a9d14e51..c4502263f76 100644
--- a/doc/src/sgml/pglogicalinspect.sgml
+++ b/doc/src/sgml/pglogicalinspect.sgml
@@ -21,7 +21,7 @@
superusers to others using <command>GRANT</command>.
</para>
- <sect2 id="pglogicalinspect-funcs">
+ <sect2 id="pglogicalinspect-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -132,7 +132,7 @@ catchange_xip | {751,752}
</variablelist>
</sect2>
- <sect2 id="pglogicalinspect-author">
+ <sect2 id="pglogicalinspect-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgprewarm.sgml b/doc/src/sgml/pgprewarm.sgml
index 75f45b91b67..f4dc6974c80 100644
--- a/doc/src/sgml/pgprewarm.sgml
+++ b/doc/src/sgml/pgprewarm.sgml
@@ -19,7 +19,7 @@
will, using 2 background workers, reload those same blocks after a restart.
</para>
- <sect2 id="pgprewarm-funcs">
+ <sect2 id="pgprewarm-funcs" xreflabel="Functions">
<title>Functions</title>
<synopsis>
@@ -84,7 +84,7 @@ autoprewarm_dump_now() RETURNS int8
</para>
</sect2>
- <sect2 id="pgprewarm-config-params">
+ <sect2 id="pgprewarm-config-params" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -137,7 +137,7 @@ pg_prewarm.autoprewarm_interval = 300s
</sect2>
- <sect2 id="pgprewarm-author">
+ <sect2 id="pgprewarm-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml
index 9c6e86b27ed..b312191f394 100644
--- a/doc/src/sgml/pgrowlocks.sgml
+++ b/doc/src/sgml/pgrowlocks.sgml
@@ -19,7 +19,7 @@
</para>
- <sect2 id="pgrowlocks-overview">
+ <sect2 id="pgrowlocks-overview" xreflabel="Overview">
<title>Overview</title>
<indexterm>
@@ -125,7 +125,7 @@ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p
</para>
</sect2>
- <sect2 id="pgrowlocks-sample-output">
+ <sect2 id="pgrowlocks-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -140,7 +140,7 @@ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p
</screen>
</sect2>
- <sect2 id="pgrowlocks-author">
+ <sect2 id="pgrowlocks-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index d753de5836e..d1d2047451d 100644
--- a/doc/src/sgml/pgstatstatements.sgml
+++ b/doc/src/sgml/pgstatstatements.sgml
@@ -36,7 +36,7 @@
<command>CREATE EXTENSION pg_stat_statements</command>.
</para>
- <sect2 id="pgstatstatements-pg-stat-statements">
+ <sect2 id="pgstatstatements-pg-stat-statements" xreflabel="The pg_stat_statements View">
<title>The <structname>pg_stat_statements</structname> View</title>
<para>
@@ -759,7 +759,7 @@ calls | 2
</para>
</sect2>
- <sect2 id="pgstatstatements-pg-stat-statements-info">
+ <sect2 id="pgstatstatements-pg-stat-statements-info" xreflabel="The pg_stat_statements_info View">
<title>The <structname>pg_stat_statements_info</structname> View</title>
<indexterm>
@@ -815,7 +815,7 @@ calls | 2
</table>
</sect2>
- <sect2 id="pgstatstatements-funcs">
+ <sect2 id="pgstatstatements-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -893,7 +893,7 @@ calls | 2
</variablelist>
</sect2>
- <sect2 id="pgstatstatements-config-params">
+ <sect2 id="pgstatstatements-config-params" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -1028,7 +1028,7 @@ pg_stat_statements.track = all
</para>
</sect2>
- <sect2 id="pgstatstatements-sample-output">
+ <sect2 id="pgstatstatements-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -1133,7 +1133,7 @@ hit_percent |
</screen>
</sect2>
- <sect2 id="pgstatstatements-authors">
+ <sect2 id="pgstatstatements-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml
index 54d8f90245e..2c4bea53abf 100644
--- a/doc/src/sgml/pgstattuple.sgml
+++ b/doc/src/sgml/pgstattuple.sgml
@@ -23,7 +23,7 @@
the <literal>pg_stat_scan_tables</literal> role instead.
</para>
- <sect2 id="pgstattuple-funcs">
+ <sect2 id="pgstattuple-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -627,7 +627,7 @@ approx_free_percent | 2.09
</variablelist>
</sect2>
- <sect2 id="pgstattuple-authors">
+ <sect2 id="pgstattuple-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgsurgery.sgml b/doc/src/sgml/pgsurgery.sgml
index 68186122a22..15cb5efdaee 100644
--- a/doc/src/sgml/pgsurgery.sgml
+++ b/doc/src/sgml/pgsurgery.sgml
@@ -18,7 +18,7 @@
They should be used with great caution and only as a last resort.
</para>
- <sect2 id="pgsurgery-funcs">
+ <sect2 id="pgsurgery-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -96,7 +96,7 @@ test=# SELECT ctid FROM t1 WHERE xmin = 2;
</variablelist>
</sect2>
- <sect2 id="pgsurgery-authors">
+ <sect2 id="pgsurgery-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
index 07bfcac9319..fce868d47d6 100644
--- a/doc/src/sgml/pgtrgm.sgml
+++ b/doc/src/sgml/pgtrgm.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="pgtrgm-concepts">
+ <sect2 id="pgtrgm-concepts" xreflabel="Trigram (or Trigraph) Concepts">
<title>Trigram (or Trigraph) Concepts</title>
<para>
@@ -60,7 +60,7 @@
</note>
</sect2>
- <sect2 id="pgtrgm-funcs-ops">
+ <sect2 id="pgtrgm-funcs-ops" xreflabel="Functions and Operators">
<title>Functions and Operators</title>
<para>
@@ -356,7 +356,7 @@
</table>
</sect2>
- <sect2 id="pgtrgm-guc">
+ <sect2 id="pgtrgm-guc" xreflabel="GUC Parameters">
<title>GUC Parameters</title>
<variablelist>
@@ -407,7 +407,7 @@
</variablelist>
</sect2>
- <sect2 id="pgtrgm-index">
+ <sect2 id="pgtrgm-index" xreflabel="Index Support">
<title>Index Support</title>
<para>
@@ -560,7 +560,7 @@ SELECT * FROM test_trgm WHERE t ~ '(foo|bar)';
</para>
</sect2>
- <sect2 id="pgtrgm-text-search">
+ <sect2 id="pgtrgm-text-search" xreflabel="Text Search Integration">
<title>Text Search Integration</title>
<para>
@@ -609,7 +609,7 @@ CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
</note>
</sect2>
- <sect2 id="pgtrgm-references">
+ <sect2 id="pgtrgm-references" xreflabel="References">
<title>References</title>
<para>
@@ -622,7 +622,7 @@ CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
</para>
</sect2>
- <sect2 id="pgtrgm-authors">
+ <sect2 id="pgtrgm-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgvisibility.sgml b/doc/src/sgml/pgvisibility.sgml
index 097f7e05661..1a2a37026b3 100644
--- a/doc/src/sgml/pgvisibility.sgml
+++ b/doc/src/sgml/pgvisibility.sgml
@@ -41,7 +41,7 @@
data blocks are similarly expensive.
</para>
- <sect2 id="pgvisibility-funcs">
+ <sect2 id="pgvisibility-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -147,7 +147,7 @@
</para>
</sect2>
- <sect2 id="pgvisibility-author">
+ <sect2 id="pgvisibility-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgwalinspect.sgml b/doc/src/sgml/pgwalinspect.sgml
index 79c3ead40bc..851c20a9c47 100644
--- a/doc/src/sgml/pgwalinspect.sgml
+++ b/doc/src/sgml/pgwalinspect.sgml
@@ -56,7 +56,7 @@
superusers to others using <command>GRANT</command>.
</para>
- <sect2 id="pgwalinspect-funcs">
+ <sect2 id="pgwalinspect-funcs" xreflabel="General Functions">
<title>General Functions</title>
<variablelist>
@@ -275,7 +275,7 @@ combined_size_percentage | 2.8634072910530795
</variablelist>
</sect2>
- <sect2 id="pgwalinspect-author">
+ <sect2 id="pgwalinspect-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/planstats.sgml b/doc/src/sgml/planstats.sgml
index e57867ba617..045b8df441f 100644
--- a/doc/src/sgml/planstats.sgml
+++ b/doc/src/sgml/planstats.sgml
@@ -19,7 +19,7 @@
wishes to read the code.
</para>
- <sect1 id="row-estimation-examples">
+ <sect1 id="row-estimation-examples" xreflabel="Row Estimation Examples">
<title>Row Estimation Examples</title>
<indexterm zone="row-estimation-examples">
@@ -447,7 +447,7 @@ rows = (outer_cardinality * inner_cardinality) * selectivity
</para>
</sect1>
- <sect1 id="multivariate-statistics-examples">
+ <sect1 id="multivariate-statistics-examples" xreflabel="Multivariate Statistics Examples">
<title>Multivariate Statistics Examples</title>
<indexterm>
@@ -455,7 +455,7 @@ rows = (outer_cardinality * inner_cardinality) * selectivity
<secondary>multivariate</secondary>
</indexterm>
- <sect2 id="functional-dependencies">
+ <sect2 id="functional-dependencies" xreflabel="Functional Dependencies">
<title>Functional Dependencies</title>
<para>
@@ -540,7 +540,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT * FROM t WHERE a = 1 AND b = 1
</para>
</sect2>
- <sect2 id="multivariate-ndistinct-counts">
+ <sect2 id="multivariate-ndistinct-counts" xreflabel="Multivariate N-Distinct Counts">
<title>Multivariate N-Distinct Counts</title>
<para>
@@ -586,7 +586,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT COUNT(*) FROM t GROUP BY a, b;
</sect2>
- <sect2 id="mcv-lists">
+ <sect2 id="mcv-lists" xreflabel="MCV Lists">
<title>MCV Lists</title>
<para>
@@ -699,7 +699,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT * FROM t WHERE a <= 49 AND
</sect1>
- <sect1 id="planner-stats-security">
+ <sect1 id="planner-stats-security" xreflabel="Planner Statistics and Security">
<title>Planner Statistics and Security</title>
<para>
diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml
index 6f018645f11..7e7881bf066 100644
--- a/doc/src/sgml/plperl.sgml
+++ b/doc/src/sgml/plperl.sgml
@@ -46,7 +46,7 @@
</para>
</note>
- <sect1 id="plperl-funcs">
+ <sect1 id="plperl-funcs" xreflabel="PL/Perl Functions and Arguments">
<title>PL/Perl Functions and Arguments</title>
<para>
@@ -407,7 +407,7 @@ use strict;
</sect1>
- <sect1 id="plperl-data">
+ <sect1 id="plperl-data" xreflabel="Data Values in PL/Perl">
<title>Data Values in PL/Perl</title>
<para>
@@ -427,10 +427,10 @@ use strict;
</para>
</sect1>
- <sect1 id="plperl-builtins">
+ <sect1 id="plperl-builtins" xreflabel="Built-in Functions">
<title>Built-in Functions</title>
- <sect2 id="plperl-database">
+ <sect2 id="plperl-database" xreflabel="Database Access from PL/Perl">
<title>Database Access from PL/Perl</title>
<para>
@@ -781,7 +781,7 @@ CALL transaction_test1();
</variablelist>
</sect2>
- <sect2 id="plperl-utility-functions">
+ <sect2 id="plperl-utility-functions" xreflabel="Utility Functions in PL/Perl">
<title>Utility Functions in PL/Perl</title>
<variablelist>
@@ -996,7 +996,7 @@ CALL transaction_test1();
</sect2>
</sect1>
- <sect1 id="plperl-global">
+ <sect1 id="plperl-global" xreflabel="Global Values in PL/Perl">
<title>Global Values in PL/Perl</title>
<para>
@@ -1071,7 +1071,7 @@ $$ LANGUAGE plperl;
</para>
</sect1>
- <sect1 id="plperl-trusted">
+ <sect1 id="plperl-trusted" xreflabel="Trusted and Untrusted PL/Perl">
<title>Trusted and Untrusted PL/Perl</title>
<indexterm zone="plperl-trusted">
@@ -1184,7 +1184,7 @@ $$ LANGUAGE plperl;
</sect1>
- <sect1 id="plperl-triggers">
+ <sect1 id="plperl-triggers" xreflabel="PL/Perl Triggers">
<title>PL/Perl Triggers</title>
<para>
@@ -1372,7 +1372,7 @@ CREATE TRIGGER test_valid_id_trig
</para>
</sect1>
- <sect1 id="plperl-event-triggers">
+ <sect1 id="plperl-event-triggers" xreflabel="PL/Perl Event Triggers">
<title>PL/Perl Event Triggers</title>
<para>
@@ -1422,10 +1422,10 @@ CREATE EVENT TRIGGER perl_a_snitch
</para>
</sect1>
- <sect1 id="plperl-under-the-hood">
+ <sect1 id="plperl-under-the-hood" xreflabel="PL/Perl Under the Hood">
<title>PL/Perl Under the Hood</title>
- <sect2 id="plperl-config">
+ <sect2 id="plperl-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -1553,7 +1553,7 @@ DO 'elog(WARNING, join ", ", sort keys %INC)' LANGUAGE plperl;
</variablelist>
</sect2>
- <sect2 id="plperl-missing">
+ <sect2 id="plperl-missing" xreflabel="Limitations and Missing Features">
<title>Limitations and Missing Features</title>
<para>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 561f6e50d63..ca0fb2ba65b 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -7,7 +7,7 @@
<primary>PL/pgSQL</primary>
</indexterm>
- <sect1 id="plpgsql-overview">
+ <sect1 id="plpgsql-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -65,7 +65,7 @@
administrators could choose to remove it.
</para>
- <sect2 id="plpgsql-advantages">
+ <sect2 id="plpgsql-advantages" xreflabel="Advantages of Using PL/pgSQL">
<title>Advantages of Using <application>PL/pgSQL</application></title>
<para>
@@ -114,7 +114,7 @@
</para>
</sect2>
- <sect2 id="plpgsql-args-results">
+ <sect2 id="plpgsql-args-results" xreflabel="Supported Argument and Result Data Types">
<title>Supported Argument and Result Data Types</title>
<para>
@@ -177,7 +177,7 @@
</sect2>
</sect1>
- <sect1 id="plpgsql-structure">
+ <sect1 id="plpgsql-structure" xreflabel="Structure of PL/pgSQL">
<title>Structure of <application>PL/pgSQL</application></title>
<para>
@@ -312,7 +312,7 @@ $$ LANGUAGE plpgsql;
</para>
</sect1>
- <sect1 id="plpgsql-declarations">
+ <sect1 id="plpgsql-declarations" xreflabel="Declarations">
<title>Declarations</title>
<para>
@@ -639,7 +639,7 @@ SELECT add_three_values(1, 2, 4.7);
</para>
</sect2>
- <sect2 id="plpgsql-declaration-alias">
+ <sect2 id="plpgsql-declaration-alias" xreflabel="ALIAS">
<title><literal>ALIAS</literal></title>
<synopsis>
@@ -671,7 +671,7 @@ DECLARE
</para>
</sect2>
- <sect2 id="plpgsql-declaration-type">
+ <sect2 id="plpgsql-declaration-type" xreflabel="Copying Types">
<title>Copying Types</title>
<synopsis>
@@ -789,7 +789,7 @@ SELECT merge_fields(t.*) FROM table1 t WHERE ... ;
</para>
</sect2>
- <sect2 id="plpgsql-declaration-records">
+ <sect2 id="plpgsql-declaration-records" xreflabel="Record Types">
<title>Record Types</title>
<synopsis>
@@ -819,7 +819,7 @@ SELECT merge_fields(t.*) FROM table1 t WHERE ... ;
</para>
</sect2>
- <sect2 id="plpgsql-declaration-collation">
+ <sect2 id="plpgsql-declaration-collation" xreflabel="Collation of PL/pgSQL Variables">
<title>Collation of <application>PL/pgSQL</application> Variables</title>
<indexterm>
@@ -913,7 +913,7 @@ $$ LANGUAGE plpgsql;
</sect2>
</sect1>
- <sect1 id="plpgsql-expressions">
+ <sect1 id="plpgsql-expressions" xreflabel="Expressions">
<title>Expressions</title>
<para>
@@ -974,7 +974,7 @@ IF count(*) > 0 FROM my_table THEN ...
</para>
</sect1>
- <sect1 id="plpgsql-statements">
+ <sect1 id="plpgsql-statements" xreflabel="Basic Statements">
<title>Basic Statements</title>
<para>
@@ -1798,7 +1798,7 @@ END;
</sect2>
</sect1>
- <sect1 id="plpgsql-control-structures">
+ <sect1 id="plpgsql-control-structures" xreflabel="Control Structures">
<title>Control Structures</title>
<para>
@@ -3072,7 +3072,7 @@ END;
</sect3>
</sect2>
- <sect2 id="plpgsql-call-stack">
+ <sect2 id="plpgsql-call-stack" xreflabel="Obtaining Execution Location Information">
<title>Obtaining Execution Location Information</title>
<para>
@@ -3127,7 +3127,7 @@ CONTEXT: PL/pgSQL function outer_func() line 3 at RETURN
</sect2>
</sect1>
- <sect1 id="plpgsql-cursors">
+ <sect1 id="plpgsql-cursors" xreflabel="Cursors">
<title>Cursors</title>
<indexterm zone="plpgsql-cursors">
@@ -3700,7 +3700,7 @@ END LOOP <optional> <replaceable>label</replaceable> </optional>;
</sect1>
- <sect1 id="plpgsql-transactions">
+ <sect1 id="plpgsql-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -3813,10 +3813,10 @@ CALL transaction_test2();
</para>
</sect1>
- <sect1 id="plpgsql-errors-and-messages">
+ <sect1 id="plpgsql-errors-and-messages" xreflabel="Errors and Messages">
<title>Errors and Messages</title>
- <sect2 id="plpgsql-statements-raise">
+ <sect2 id="plpgsql-statements-raise" xreflabel="Reporting Errors and Messages">
<title>Reporting Errors and Messages</title>
<indexterm>
@@ -4027,7 +4027,7 @@ RAISE unique_violation USING MESSAGE = 'Duplicate user ID: ' || user_id;
</sect2>
- <sect2 id="plpgsql-statements-assert">
+ <sect2 id="plpgsql-statements-assert" xreflabel="Checking Assertions">
<title>Checking Assertions</title>
<indexterm>
@@ -4088,7 +4088,7 @@ ASSERT <replaceable class="parameter">condition</replaceable> <optional> , <repl
</sect1>
- <sect1 id="plpgsql-trigger">
+ <sect1 id="plpgsql-trigger" xreflabel="Trigger Functions">
<title>Trigger Functions</title>
<indexterm zone="plpgsql-trigger">
@@ -4107,7 +4107,7 @@ ASSERT <replaceable class="parameter">condition</replaceable> <optional> , <repl
automatically defined to describe the condition that triggered the call.
</para>
- <sect2 id="plpgsql-dml-trigger">
+ <sect2 id="plpgsql-dml-trigger" xreflabel="Triggers on Data Changes">
<title>Triggers on Data Changes</title>
<para>
@@ -4723,7 +4723,7 @@ CREATE TRIGGER emp_audit_del
</sect2>
- <sect2 id="plpgsql-event-trigger">
+ <sect2 id="plpgsql-event-trigger" xreflabel="Triggers on Events">
<title>Triggers on Events</title>
<para>
@@ -4787,7 +4787,7 @@ CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE FUNCTION snitch();
</sect1>
- <sect1 id="plpgsql-implementation">
+ <sect1 id="plpgsql-implementation" xreflabel="PL/pgSQL under the Hood">
<title><application>PL/pgSQL</application> under the Hood</title>
<para>
@@ -4795,7 +4795,7 @@ CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE FUNCTION snitch();
frequently important for <application>PL/pgSQL</application> users to know.
</para>
- <sect2 id="plpgsql-var-subst">
+ <sect2 id="plpgsql-var-subst" xreflabel="Variable Substitution">
<title>Variable Substitution</title>
<para>
@@ -4973,7 +4973,7 @@ $$ LANGUAGE plpgsql;
</sect2>
- <sect2 id="plpgsql-plan-caching">
+ <sect2 id="plpgsql-plan-caching" xreflabel="Plan Caching">
<title>Plan Caching</title>
<para>
@@ -5128,7 +5128,7 @@ $$ LANGUAGE plpgsql;
</sect1>
- <sect1 id="plpgsql-development-tips">
+ <sect1 id="plpgsql-development-tips" xreflabel="Tips for Developing in PL/pgSQL">
<title>Tips for Developing in <application>PL/pgSQL</application></title>
<para>
@@ -5165,7 +5165,7 @@ $$ LANGUAGE plpgsql;
making it easier to recreate and debug functions.
</para>
- <sect2 id="plpgsql-quote-tips">
+ <sect2 id="plpgsql-quote-tips" xreflabel="Handling of Quotation Marks">
<title>Handling of Quotation Marks</title>
<para>
@@ -5321,7 +5321,7 @@ a_output := a_output || $$ IF v_$$ || referrer_keys.kind || $$ LIKE '$$
</variablelist>
</sect2>
- <sect2 id="plpgsql-extra-checks">
+ <sect2 id="plpgsql-extra-checks" xreflabel="Additional Compile-Time and Run-Time Checks">
<title>Additional Compile-Time and Run-Time Checks</title>
<para>
@@ -5446,7 +5446,7 @@ HINT: Make sure the query returns the exact list of columns.
<!-- **** Porting from Oracle PL/SQL **** -->
- <sect1 id="plpgsql-porting">
+ <sect1 id="plpgsql-porting" xreflabel="Porting from Oracle PL/SQL">
<title>Porting from <productname>Oracle</productname> PL/SQL</title>
<indexterm zone="plpgsql-porting">
@@ -5560,7 +5560,7 @@ HINT: Make sure the query returns the exact list of columns.
</itemizedlist>
</para>
- <sect2 id="plpgsql-porting-examples">
+ <sect2 id="plpgsql-porting-examples" xreflabel="Porting Examples">
<title>Porting Examples</title>
<para>
@@ -5955,7 +5955,7 @@ $$ LANGUAGE plpgsql;
</example>
</sect2>
- <sect2 id="plpgsql-porting-other">
+ <sect2 id="plpgsql-porting-other" xreflabel="Other Things to Watch For">
<title>Other Things to Watch For</title>
<para>
@@ -6038,7 +6038,7 @@ $$ LANGUAGE plpgsql STRICT IMMUTABLE;
</sect3>
</sect2>
- <sect2 id="plpgsql-porting-appendix">
+ <sect2 id="plpgsql-porting-appendix" xreflabel="Appendix">
<title>Appendix</title>
<para>
diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml
index c447452b7c5..1924350d36f 100644
--- a/doc/src/sgml/plpython.sgml
+++ b/doc/src/sgml/plpython.sgml
@@ -46,7 +46,7 @@
</para>
</note>
- <sect1 id="plpython-funcs">
+ <sect1 id="plpython-funcs" xreflabel="PL/Python Functions">
<title>PL/Python Functions</title>
<para>
@@ -144,7 +144,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-data">
+ <sect1 id="plpython-data" xreflabel="Data Values">
<title>Data Values</title>
<para>
Generally speaking, the aim of PL/Python is to provide
@@ -153,7 +153,7 @@ $$ LANGUAGE plpython3u;
below.
</para>
- <sect2 id="plpython-data-type-mapping">
+ <sect2 id="plpython-data-type-mapping" xreflabel="Data Type Mapping">
<title>Data Type Mapping</title>
<para>
When a PL/Python function is called, its arguments are converted from
@@ -269,7 +269,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect2>
- <sect2 id="plpython-data-null">
+ <sect2 id="plpython-data-null" xreflabel="Null, None">
<title>Null, None</title>
<para>
If an SQL null value<indexterm><primary>null value</primary><secondary
@@ -301,7 +301,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect2>
- <sect2 id="plpython-arrays">
+ <sect2 id="plpython-arrays" xreflabel="Arrays, Lists">
<title>Arrays, Lists</title>
<para>
SQL array values are passed into PL/Python as a Python list. To
@@ -369,7 +369,7 @@ SELECT return_str_arr();
</para>
</sect2>
- <sect2 id="plpython-data-composite-types">
+ <sect2 id="plpython-data-composite-types" xreflabel="Composite Types">
<title>Composite Types</title>
<para>
Composite-type arguments are passed to the function as Python mappings. The
@@ -516,7 +516,7 @@ CALL python_triple(5, 10);
</para>
</sect2>
- <sect2 id="plpython-data-set-returning-funcs">
+ <sect2 id="plpython-data-set-returning-funcs" xreflabel="Set-Returning Functions">
<title>Set-Returning Functions</title>
<para>
A <application>PL/Python</application> function can also return sets of
@@ -616,7 +616,7 @@ SELECT * FROM multiout_simple_setof(3);
</sect2>
</sect1>
- <sect1 id="plpython-sharing">
+ <sect1 id="plpython-sharing" xreflabel="Sharing Data">
<title>Sharing Data</title>
<para>
The global dictionary <varname>SD</varname> is available to store
@@ -636,7 +636,7 @@ SELECT * FROM multiout_simple_setof(3);
</para>
</sect1>
- <sect1 id="plpython-do">
+ <sect1 id="plpython-do" xreflabel="Anonymous Code Blocks">
<title>Anonymous Code Blocks</title>
<para>
@@ -654,7 +654,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-trigger">
+ <sect1 id="plpython-trigger" xreflabel="Trigger Functions">
<title>Trigger Functions</title>
<indexterm zone="plpython-trigger">
@@ -777,7 +777,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-event-trigger">
+ <sect1 id="plpython-event-trigger" xreflabel="Event Trigger Functions">
<title>Event Trigger Functions</title>
<indexterm zone="plpython-event-trigger">
@@ -845,7 +845,7 @@ CREATE EVENT TRIGGER pysnitch ON ddl_command_start EXECUTE FUNCTION pysnitch();
</example>
</sect1>
- <sect1 id="plpython-database">
+ <sect1 id="plpython-database" xreflabel="Database Access">
<title>Database Access</title>
<para>
@@ -1115,7 +1115,7 @@ $$ LANGUAGE plpython3u;
</sect2>
- <sect2 id="plpython-trapping">
+ <sect2 id="plpython-trapping" xreflabel="Trapping Errors">
<title>Trapping Errors</title>
<para>
@@ -1188,7 +1188,7 @@ $$ LANGUAGE plpython3u;
</sect2>
</sect1>
- <sect1 id="plpython-subtransaction">
+ <sect1 id="plpython-subtransaction" xreflabel="Explicit Subtransactions">
<title>Explicit Subtransactions</title>
<para>
@@ -1200,7 +1200,7 @@ $$ LANGUAGE plpython3u;
the form of explicit subtransactions.
</para>
- <sect2 id="plpython-subtransaction-context-managers">
+ <sect2 id="plpython-subtransaction-context-managers" xreflabel="Subtransaction Context Managers">
<title>Subtransaction Context Managers</title>
<para>
@@ -1268,7 +1268,7 @@ $$ LANGUAGE plpython3u;
</sect2>
</sect1>
- <sect1 id="plpython-transactions">
+ <sect1 id="plpython-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1307,7 +1307,7 @@ CALL transaction_test1();
</para>
</sect1>
- <sect1 id="plpython-util">
+ <sect1 id="plpython-util" xreflabel="Utility Functions">
<title>Utility Functions</title>
<para>
The <literal>plpy</literal> module also provides the functions
@@ -1395,7 +1395,7 @@ plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
</para>
</sect1>
- <sect1 id="plpython-python23">
+ <sect1 id="plpython-python23" xreflabel="Python 2 vs. Python 3">
<title>Python 2 vs. Python 3</title>
<para>
@@ -1406,7 +1406,7 @@ plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
</para>
</sect1>
- <sect1 id="plpython-envar">
+ <sect1 id="plpython-envar" xreflabel="Environment Variables">
<title>Environment Variables</title>
<para>
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 9fd008a99d7..bcc54f43cb7 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -21,7 +21,7 @@
<!-- **** PL/Tcl overview **** -->
- <sect1 id="pltcl-overview">
+ <sect1 id="pltcl-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -74,7 +74,7 @@
<!-- **** PL/Tcl description **** -->
- <sect1 id="pltcl-functions">
+ <sect1 id="pltcl-functions" xreflabel="PL/Tcl Functions and Arguments">
<title>PL/Tcl Functions and Arguments</title>
<para>
@@ -240,7 +240,7 @@ $$ LANGUAGE pltcl;
</sect1>
- <sect1 id="pltcl-data">
+ <sect1 id="pltcl-data" xreflabel="Data Values in PL/Tcl">
<title>Data Values in PL/Tcl</title>
<para>
@@ -254,7 +254,7 @@ $$ LANGUAGE pltcl;
</sect1>
- <sect1 id="pltcl-global">
+ <sect1 id="pltcl-global" xreflabel="Global Data in PL/Tcl">
<title>Global Data in PL/Tcl</title>
<indexterm zone="pltcl-global">
@@ -316,7 +316,7 @@ $$ LANGUAGE pltcl;
</para>
</sect1>
- <sect1 id="pltcl-dbaccess">
+ <sect1 id="pltcl-dbaccess" xreflabel="Database Access from PL/Tcl">
<title>Database Access from PL/Tcl</title>
<para>
@@ -572,7 +572,7 @@ SELECT 'doesn''t' AS ret
</sect1>
- <sect1 id="pltcl-trigger">
+ <sect1 id="pltcl-trigger" xreflabel="Trigger Functions in PL/Tcl">
<title>Trigger Functions in PL/Tcl</title>
<indexterm>
@@ -784,7 +784,7 @@ CREATE TRIGGER trig_mytab_modcount BEFORE INSERT OR UPDATE ON mytab
</para>
</sect1>
- <sect1 id="pltcl-event-trigger">
+ <sect1 id="pltcl-event-trigger" xreflabel="Event Trigger Functions in PL/Tcl">
<title>Event Trigger Functions in PL/Tcl</title>
<indexterm>
@@ -843,7 +843,7 @@ CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE FUNCTION tclsnitc
</para>
</sect1>
- <sect1 id="pltcl-error-handling">
+ <sect1 id="pltcl-error-handling" xreflabel="Error Handling in PL/Tcl">
<title>Error Handling in PL/Tcl</title>
<indexterm>
@@ -918,7 +918,7 @@ if {[catch { spi_exec $sql_command }]} {
</para>
</sect1>
- <sect1 id="pltcl-subtransactions">
+ <sect1 id="pltcl-subtransactions" xreflabel="Explicit Subtransactions in PL/Tcl">
<title>Explicit Subtransactions in PL/Tcl</title>
<indexterm>
@@ -1000,7 +1000,7 @@ $$ LANGUAGE pltcl;
</para>
</sect1>
- <sect1 id="pltcl-transactions">
+ <sect1 id="pltcl-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1041,7 +1041,7 @@ CALL transaction_test1();
</para>
</sect1>
- <sect1 id="pltcl-config">
+ <sect1 id="pltcl-config" xreflabel="PL/Tcl Configuration">
<title>PL/Tcl Configuration</title>
<para>
@@ -1115,7 +1115,7 @@ CALL transaction_test1();
</variablelist>
</sect1>
- <sect1 id="pltcl-procnames">
+ <sect1 id="pltcl-procnames" xreflabel="Tcl Procedure Names">
<title>Tcl Procedure Names</title>
<para>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 9b032fbf675..514ec63a202 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -108,10 +108,10 @@
of columns to the remote table is by name, not position.
</para>
- <sect2 id="postgres-fdw-options">
+ <sect2 id="postgres-fdw-options" xreflabel="FDW Options of postgres_fdw">
<title>FDW Options of postgres_fdw</title>
- <sect3 id="postgres-fdw-options-connection">
+ <sect3 id="postgres-fdw-options-connection" xreflabel="Connection Options">
<title>Connection Options</title>
<para>
@@ -202,7 +202,7 @@ OPTIONS (ADD password_required 'false');
</para>
</sect3>
- <sect3 id="postgres-fdw-options-object-name">
+ <sect3 id="postgres-fdw-options-object-name" xreflabel="Object Name Options">
<title>Object Name Options</title>
<para>
@@ -251,7 +251,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-cost-estimation">
+ <sect3 id="postgres-fdw-options-cost-estimation" xreflabel="Cost Estimation Options">
<title>Cost Estimation Options</title>
<para>
@@ -368,7 +368,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-remote-execution">
+ <sect3 id="postgres-fdw-options-remote-execution" xreflabel="Remote Execution Options">
<title>Remote Execution Options</title>
<para>
@@ -453,7 +453,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-asynchronous-execution">
+ <sect3 id="postgres-fdw-options-asynchronous-execution" xreflabel="Asynchronous Execution Options">
<title>Asynchronous Execution Options</title>
<para>
@@ -504,7 +504,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-transaction-management">
+ <sect3 id="postgres-fdw-options-transaction-management" xreflabel="Transaction Management Options">
<title>Transaction Management Options</title>
<para>
@@ -569,7 +569,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-updatability">
+ <sect3 id="postgres-fdw-options-updatability" xreflabel="Updatability Options">
<title>Updatability Options</title>
<para>
@@ -606,7 +606,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-truncatability">
+ <sect3 id="postgres-fdw-options-truncatability" xreflabel="Truncatability Options">
<title>Truncatability Options</title>
<para>
@@ -637,7 +637,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-importing">
+ <sect3 id="postgres-fdw-options-importing" xreflabel="Importing Options">
<title>Importing Options</title>
<para>
@@ -841,7 +841,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
</sect2>
-<sect2 id="postgres-fdw-functions">
+<sect2 id="postgres-fdw-functions" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -1012,7 +1012,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</sect2>
- <sect2 id="postgres-fdw-connection-management">
+ <sect2 id="postgres-fdw-connection-management" xreflabel="Connection Management">
<title>Connection Management</title>
<para>
@@ -1049,7 +1049,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-transaction-management">
+ <sect2 id="postgres-fdw-transaction-management" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1084,7 +1084,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-remote-query-optimization">
+ <sect2 id="postgres-fdw-remote-query-optimization" xreflabel="Remote Query Optimization">
<title>Remote Query Optimization</title>
<para>
@@ -1127,7 +1127,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-remote-query-execution-environment">
+ <sect2 id="postgres-fdw-remote-query-execution-environment" xreflabel="Remote Query Execution Environment">
<title>Remote Query Execution Environment</title>
<para>
@@ -1183,7 +1183,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-cross-version-compatibility">
+ <sect2 id="postgres-fdw-cross-version-compatibility" xreflabel="Cross-Version Compatibility">
<title>Cross-Version Compatibility</title>
<para>
@@ -1213,7 +1213,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-wait-events">
+ <sect2 id="postgres-fdw-wait-events" xreflabel="Wait Events">
<title>Wait Events</title>
<para>
@@ -1251,7 +1251,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</variablelist>
</sect2>
- <sect2 id="postgres-fdw-configuration-parameters">
+ <sect2 id="postgres-fdw-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -1351,7 +1351,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</variablelist>
</sect2>
- <sect2 id="postgres-fdw-examples">
+ <sect2 id="postgres-fdw-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1415,7 +1415,7 @@ CREATE FOREIGN TABLE foreign_table (
</para>
</sect2>
- <sect2 id="postgres-fdw-author">
+ <sect2 id="postgres-fdw-author" xreflabel="Author">
<title>Author</title>
<para>
Shigeru Hanada <email>shigeru.hanada@gmail.com</email>
diff --git a/doc/src/sgml/problems.sgml b/doc/src/sgml/problems.sgml
index fc25c715ebb..47ae690f7d0 100644
--- a/doc/src/sgml/problems.sgml
+++ b/doc/src/sgml/problems.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/problems.sgml -->
-<sect1 id="bug-reporting">
+<sect1 id="bug-reporting" xreflabel="Bug Reporting Guidelines">
<title>Bug Reporting Guidelines</title>
<para>
@@ -28,7 +28,7 @@
If you need help immediately, consider obtaining a commercial support contract.
</para>
- <sect2 id="bug-reporting-identifying-bugs">
+ <sect2 id="bug-reporting-identifying-bugs" xreflabel="Identifying Bugs">
<title>Identifying Bugs</title>
<para>
@@ -96,7 +96,7 @@
</para>
</sect2>
- <sect2 id="bug-reporting-what-to-report">
+ <sect2 id="bug-reporting-what-to-report" xreflabel="What to Report">
<title>What to Report</title>
<para>
@@ -291,7 +291,7 @@
</para>
</sect2>
- <sect2 id="bug-reporting-where-to-report-bugs">
+ <sect2 id="bug-reporting-where-to-report-bugs" xreflabel="Where to Report Bugs">
<title>Where to Report Bugs</title>
<para>
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 41c5954a424..9a9cbbdc538 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -35,7 +35,7 @@
are interchangeable.
</para>
- <sect1 id="protocol-overview">
+ <sect1 id="protocol-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -80,7 +80,7 @@
such as <command>COPY</command>.
</para>
- <sect2 id="protocol-message-concepts">
+ <sect2 id="protocol-message-concepts" xreflabel="Messaging Overview">
<title>Messaging Overview</title>
<para>
@@ -113,7 +113,7 @@
</para>
</sect2>
- <sect2 id="protocol-query-concepts">
+ <sect2 id="protocol-query-concepts" xreflabel="Extended Query Overview">
<title>Extended Query Overview</title>
<para>
@@ -155,7 +155,7 @@
</para>
</sect2>
- <sect2 id="protocol-format-codes">
+ <sect2 id="protocol-format-codes" xreflabel="Formats and Format Codes">
<title>Formats and Format Codes</title>
<para>
@@ -188,7 +188,7 @@
</para>
</sect2>
- <sect2 id="protocol-versions">
+ <sect2 id="protocol-versions" xreflabel="Protocol Versions">
<title>Protocol Versions</title>
<para>
@@ -273,7 +273,7 @@
</sect2>
</sect1>
- <sect1 id="protocol-flow">
+ <sect1 id="protocol-flow" xreflabel="Message Flow">
<title>Message Flow</title>
<para>
@@ -288,7 +288,7 @@
after the start-up phase.
</para>
- <sect2 id="protocol-flow-start-up">
+ <sect2 id="protocol-flow-start-up" xreflabel="Start-up">
<title>Start-up</title>
<para>
@@ -602,7 +602,7 @@
</para>
</sect2>
- <sect2 id="protocol-flow-simple-query">
+ <sect2 id="protocol-flow-simple-query" xreflabel="Simple Query">
<title>Simple Query</title>
<para>
@@ -904,7 +904,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect3>
</sect2>
- <sect2 id="protocol-flow-ext-query">
+ <sect2 id="protocol-flow-ext-query" xreflabel="Extended Query">
<title>Extended Query</title>
<para>
@@ -1133,7 +1133,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</note>
</sect2>
- <sect2 id="protocol-flow-pipelining">
+ <sect2 id="protocol-flow-pipelining" xreflabel="Pipelining">
<title>Pipelining</title>
<indexterm zone="protocol-flow-pipelining">
@@ -1193,7 +1193,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-function-call">
+ <sect2 id="protocol-flow-function-call" xreflabel="Function Call">
<title>Function Call</title>
<para>
@@ -1271,7 +1271,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-copy">
+ <sect2 id="protocol-copy" xreflabel="COPY Operations">
<title>COPY Operations</title>
<para>
@@ -1379,7 +1379,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
- <sect2 id="protocol-async">
+ <sect2 id="protocol-async" xreflabel="Asynchronous Operations">
<title>Asynchronous Operations</title>
<para>
@@ -1469,7 +1469,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</note>
</sect2>
- <sect2 id="protocol-flow-canceling-requests">
+ <sect2 id="protocol-flow-canceling-requests" xreflabel="Canceling Requests in Progress">
<title>Canceling Requests in Progress</title>
<para>
@@ -1533,7 +1533,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-termination">
+ <sect2 id="protocol-flow-termination" xreflabel="Termination">
<title>Termination</title>
<para>
@@ -1573,7 +1573,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-ssl">
+ <sect2 id="protocol-flow-ssl" xreflabel="SSL Session Encryption">
<title><acronym>SSL</acronym> Session Encryption</title>
<para>
@@ -1682,7 +1682,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-gssapi">
+ <sect2 id="protocol-flow-gssapi" xreflabel="GSSAPI Session Encryption">
<title><acronym>GSSAPI</acronym> Session Encryption</title>
<para>
@@ -1776,7 +1776,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
</sect1>
- <sect1 id="sasl-authentication">
+ <sect1 id="sasl-authentication" xreflabel="SASL Authentication">
<title>SASL Authentication</title>
<para>
@@ -1835,7 +1835,7 @@ SELCT 1/0;<!-- this typo is intentional -->
ErrorMessage.
</para>
- <sect2 id="sasl-scram-sha-256">
+ <sect2 id="sasl-scram-sha-256" xreflabel="SCRAM-SHA-256 Authentication">
<title>SCRAM-SHA-256 Authentication</title>
<para>
@@ -1944,7 +1944,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</procedure>
</sect2>
- <sect2 id="sasl-oauthbearer">
+ <sect2 id="sasl-oauthbearer" xreflabel="OAUTHBEARER Authentication">
<title>OAUTHBEARER Authentication</title>
<para>
@@ -2060,7 +2060,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
</sect1>
- <sect1 id="protocol-replication">
+ <sect1 id="protocol-replication" xreflabel="Streaming Replication Protocol">
<title>Streaming Replication Protocol</title>
<para>
@@ -3523,7 +3523,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
the physical streaming replication protocol.
</para>
- <sect2 id="protocol-logical-replication-params">
+ <sect2 id="protocol-logical-replication-params" xreflabel="Logical Streaming Replication Parameters">
<title>Logical Streaming Replication Parameters</title>
<para>
@@ -3535,7 +3535,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</para>
</sect2>
- <sect2 id="protocol-logical-messages">
+ <sect2 id="protocol-logical-messages" xreflabel="Logical Replication Protocol Messages">
<title>Logical Replication Protocol Messages</title>
<para>
@@ -3558,7 +3558,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</sect2>
- <sect2 id="protocol-logical-messages-flow">
+ <sect2 id="protocol-logical-messages-flow" xreflabel="Logical Replication Protocol Message Flow">
<title>Logical Replication Protocol Message Flow</title>
<para>
@@ -3612,7 +3612,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</sect2>
</sect1>
- <sect1 id="protocol-message-types">
+ <sect1 id="protocol-message-types" xreflabel="Message Data Types">
<title>Message Data Types</title>
<para>
@@ -3684,7 +3684,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-message-formats">
+ <sect1 id="protocol-message-formats" xreflabel="Message Formats">
<title>Message Formats</title>
<para>
@@ -6225,7 +6225,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-error-fields">
+ <sect1 id="protocol-error-fields" xreflabel="Error and Notice Message Fields">
<title>Error and Notice Message Fields</title>
<para>
@@ -6463,7 +6463,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</para>
</sect1>
- <sect1 id="protocol-logicalrep-message-formats">
+ <sect1 id="protocol-logicalrep-message-formats" xreflabel="Logical Replication Message Formats">
<title>Logical Replication Message Formats</title>
<para>
@@ -7760,7 +7760,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-changes">
+ <sect1 id="protocol-changes" xreflabel="Summary of Changes since Protocol 2.0">
<title>Summary of Changes since Protocol 2.0</title>
<para>
diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml
index 4b522213171..75ce4e61044 100644
--- a/doc/src/sgml/queries.sgml
+++ b/doc/src/sgml/queries.sgml
@@ -18,7 +18,7 @@
</para>
- <sect1 id="queries-overview">
+ <sect1 id="queries-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -80,7 +80,7 @@ SELECT random();
</sect1>
- <sect1 id="queries-table-expressions">
+ <sect1 id="queries-table-expressions" xreflabel="Table Expressions">
<title>Table Expressions</title>
<indexterm zone="queries-table-expressions">
@@ -106,7 +106,7 @@ SELECT random();
the select list to compute the output rows of the query.
</para>
- <sect2 id="queries-from">
+ <sect2 id="queries-from" xreflabel="The FROM Clause">
<title>The <literal>FROM</literal> Clause</title>
<para>
@@ -933,7 +933,7 @@ WHERE pname IS NULL;
</sect3>
</sect2>
- <sect2 id="queries-where">
+ <sect2 id="queries-where" xreflabel="The WHERE Clause">
<title>The <literal>WHERE</literal> Clause</title>
<indexterm zone="queries-where">
@@ -1022,7 +1022,7 @@ SELECT ... FROM fdt WHERE EXISTS (SELECT c1 FROM t2 WHERE c2 > fdt.c1)
</sect2>
- <sect2 id="queries-group">
+ <sect2 id="queries-group" xreflabel="The GROUP BY and HAVING Clauses">
<title>The <literal>GROUP BY</literal> and <literal>HAVING</literal> Clauses</title>
<indexterm zone="queries-group">
@@ -1241,7 +1241,7 @@ SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit
</para>
</sect2>
- <sect2 id="queries-grouping-sets">
+ <sect2 id="queries-grouping-sets" xreflabel="GROUPING SETS, CUBE, and ROLLUP">
<title><literal>GROUPING SETS</literal>, <literal>CUBE</literal>, and <literal>ROLLUP</literal></title>
<indexterm zone="queries-grouping-sets">
@@ -1465,7 +1465,7 @@ GROUP BY GROUPING SETS (
</note>
</sect2>
- <sect2 id="queries-window">
+ <sect2 id="queries-window" xreflabel="Window Function Processing">
<title>Window Function Processing</title>
<indexterm zone="queries-window">
@@ -1510,7 +1510,7 @@ GROUP BY GROUPING SETS (
</sect1>
- <sect1 id="queries-select-lists">
+ <sect1 id="queries-select-lists" xreflabel="Select Lists">
<title>Select Lists</title>
<indexterm>
@@ -1528,7 +1528,7 @@ GROUP BY GROUPING SETS (
intermediate table are actually output.
</para>
- <sect2 id="queries-select-list-items">
+ <sect2 id="queries-select-list-items" xreflabel="Select-List Items">
<title>Select-List Items</title>
<indexterm>
@@ -1579,7 +1579,7 @@ SELECT tbl1.*, tbl2.a FROM ...
</para>
</sect2>
- <sect2 id="queries-column-labels">
+ <sect2 id="queries-column-labels" xreflabel="Column Labels">
<title>Column Labels</title>
<indexterm zone="queries-column-labels">
@@ -1638,7 +1638,7 @@ SELECT a "from", b + c AS sum FROM ...
</note>
</sect2>
- <sect2 id="queries-distinct">
+ <sect2 id="queries-distinct" xreflabel="DISTINCT">
<title><literal>DISTINCT</literal></title>
<indexterm zone="queries-distinct">
@@ -1706,7 +1706,7 @@ SELECT DISTINCT ON (<replaceable>expression</replaceable> <optional>, <replaceab
</sect1>
- <sect1 id="queries-union">
+ <sect1 id="queries-union" xreflabel="Combining Queries (UNION, INTERSECT, EXCEPT)">
<title>Combining Queries (<literal>UNION</literal>, <literal>INTERSECT</literal>, <literal>EXCEPT</literal>)</title>
<indexterm zone="queries-union">
@@ -1819,7 +1819,7 @@ SELECT a FROM b UNION (SELECT x FROM y LIMIT 10)
</sect1>
- <sect1 id="queries-order">
+ <sect1 id="queries-order" xreflabel="Sorting Rows (ORDER BY)">
<title>Sorting Rows (<literal>ORDER BY</literal>)</title>
<indexterm zone="queries-order">
@@ -1920,7 +1920,7 @@ SELECT a + b AS sum, c FROM table1 ORDER BY sum + c; -- wrong
</sect1>
- <sect1 id="queries-limit">
+ <sect1 id="queries-limit" xreflabel="LIMIT and OFFSET">
<title><literal>LIMIT</literal> and <literal>OFFSET</literal></title>
<indexterm zone="queries-limit">
@@ -1994,7 +1994,7 @@ SELECT <replaceable>select_list</replaceable>
</sect1>
- <sect1 id="queries-values">
+ <sect1 id="queries-values" xreflabel="VALUES Lists">
<title><literal>VALUES</literal> Lists</title>
<indexterm zone="queries-values">
@@ -2070,7 +2070,7 @@ SELECT <replaceable>select_list</replaceable> FROM <replaceable>table_expression
</sect1>
- <sect1 id="queries-with">
+ <sect1 id="queries-with" xreflabel="WITH Queries (Common Table Expressions)">
<title><literal>WITH</literal> Queries (Common Table Expressions)</title>
<indexterm zone="queries-with">
@@ -2096,7 +2096,7 @@ SELECT <replaceable>select_list</replaceable> FROM <replaceable>table_expression
<command>DELETE</command>, or <command>MERGE</command>.
</para>
- <sect2 id="queries-with-select">
+ <sect2 id="queries-with-select" xreflabel="SELECT in WITH">
<title><command>SELECT</command> in <literal>WITH</literal></title>
<para>
@@ -2134,7 +2134,7 @@ GROUP BY region, product;
</para>
</sect2>
- <sect2 id="queries-with-recursive">
+ <sect2 id="queries-with-recursive" xreflabel="Recursive Queries">
<title>Recursive Queries</title>
<para>
@@ -2238,7 +2238,7 @@ GROUP BY sub_part
</programlisting>
</para>
- <sect3 id="queries-with-search">
+ <sect3 id="queries-with-search" xreflabel="Search Order">
<title>Search Order</title>
<para>
@@ -2373,7 +2373,7 @@ SELECT * FROM search_tree ORDER BY ordercol;
</para>
</sect3>
- <sect3 id="queries-with-cycle">
+ <sect3 id="queries-with-cycle" xreflabel="Cycle Detection">
<title>Cycle Detection</title>
<para>
@@ -2520,7 +2520,7 @@ SELECT n FROM t <emphasis>LIMIT 100</emphasis>;
</sect3>
</sect2>
- <sect2 id="queries-with-cte-materialization">
+ <sect2 id="queries-with-cte-materialization" xreflabel="Common Table Expression Materialization">
<title>Common Table Expression Materialization</title>
<para>
@@ -2622,7 +2622,7 @@ SELECT * FROM w AS w1 JOIN w AS w2 ON w1.f = w2.f;
</para>
</sect2>
- <sect2 id="queries-with-modifying">
+ <sect2 id="queries-with-modifying" xreflabel="Data-Modifying Statements in WITH">
<title>Data-Modifying Statements in <literal>WITH</literal></title>
<para>
diff --git a/doc/src/sgml/query.sgml b/doc/src/sgml/query.sgml
index b190f28d41e..49b973d2253 100644
--- a/doc/src/sgml/query.sgml
+++ b/doc/src/sgml/query.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-sql">
<title>The <acronym>SQL</acronym> Language</title>
- <sect1 id="tutorial-sql-intro">
+ <sect1 id="tutorial-sql-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -56,7 +56,7 @@
</sect1>
- <sect1 id="tutorial-concepts">
+ <sect1 id="tutorial-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -102,7 +102,7 @@
</sect1>
- <sect1 id="tutorial-table">
+ <sect1 id="tutorial-table" xreflabel="Creating a New Table">
<title>Creating a New Table</title>
<indexterm zone="tutorial-table">
@@ -192,7 +192,7 @@ DROP TABLE <replaceable>tablename</replaceable>;
</sect1>
- <sect1 id="tutorial-populate">
+ <sect1 id="tutorial-populate" xreflabel="Populating a Table With Rows">
<title>Populating a Table With Rows</title>
<indexterm zone="tutorial-populate">
@@ -280,7 +280,7 @@ Hayward 37 54 \N 1994-11-29
</sect1>
- <sect1 id="tutorial-select">
+ <sect1 id="tutorial-select" xreflabel="Querying a Table">
<title>Querying a Table</title>
<para>
@@ -439,7 +439,7 @@ SELECT DISTINCT city
</sect1>
- <sect1 id="tutorial-join">
+ <sect1 id="tutorial-join" xreflabel="Joins Between Tables">
<title>Joins Between Tables</title>
<indexterm zone="tutorial-join">
@@ -640,7 +640,7 @@ SELECT *
</sect1>
- <sect1 id="tutorial-agg">
+ <sect1 id="tutorial-agg" xreflabel="Aggregate Functions">
<title>Aggregate Functions</title>
<indexterm zone="tutorial-agg">
@@ -837,7 +837,7 @@ SELECT city, count(*) FILTER (WHERE temp_lo < 45), max(temp_lo)
</sect1>
- <sect1 id="tutorial-update">
+ <sect1 id="tutorial-update" xreflabel="Updates">
<title>Updates</title>
<indexterm zone="tutorial-update">
@@ -873,7 +873,7 @@ SELECT * FROM weather;
</para>
</sect1>
- <sect1 id="tutorial-delete">
+ <sect1 id="tutorial-delete" xreflabel="Deletions">
<title>Deletions</title>
<indexterm zone="tutorial-delete">
diff --git a/doc/src/sgml/rangetypes.sgml b/doc/src/sgml/rangetypes.sgml
index 92ea0e83dab..b8eeb68462e 100644
--- a/doc/src/sgml/rangetypes.sgml
+++ b/doc/src/sgml/rangetypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/rangetypes.sgml -->
-<sect1 id="rangetypes">
+<sect1 id="rangetypes" xreflabel="Range Types">
<title>Range Types</title>
<indexterm>
@@ -38,7 +38,7 @@
of their own.
</para>
- <sect2 id="rangetypes-builtin">
+ <sect2 id="rangetypes-builtin" xreflabel="Built-in Range and Multirange Types">
<title>Built-in Range and Multirange Types</title>
<para>
@@ -86,7 +86,7 @@
</para>
</sect2>
- <sect2 id="rangetypes-examples">
+ <sect2 id="rangetypes-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -117,7 +117,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-inclusivity">
+ <sect2 id="rangetypes-inclusivity" xreflabel="Inclusive and Exclusive Bounds">
<title>Inclusive and Exclusive Bounds</title>
<para>
@@ -144,7 +144,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-infinite">
+ <sect2 id="rangetypes-infinite" xreflabel="Infinite (Unbounded) Ranges">
<title>Infinite (Unbounded) Ranges</title>
<para>
@@ -177,7 +177,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-io">
+ <sect2 id="rangetypes-io" xreflabel="Range Input/Output">
<title>Range Input/Output</title>
<para>
@@ -271,7 +271,7 @@ SELECT '{[3,7), [8,9)}'::int4multirange;
</sect2>
- <sect2 id="rangetypes-construct">
+ <sect2 id="rangetypes-construct" xreflabel="Constructing Ranges and Multiranges">
<title>Constructing Ranges and Multiranges</title>
<para>
@@ -321,7 +321,7 @@ SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
</para>
</sect2>
- <sect2 id="rangetypes-discrete">
+ <sect2 id="rangetypes-discrete" xreflabel="Discrete Range Types">
<title>Discrete Range Types</title>
<para>
@@ -368,7 +368,7 @@ SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
</para>
</sect2>
- <sect2 id="rangetypes-defining">
+ <sect2 id="rangetypes-defining" xreflabel="Defining New Range Types">
<title>Defining New Range Types</title>
<para>
@@ -463,7 +463,7 @@ SELECT '[11:10, 23:00]'::timerange;
</para>
</sect2>
- <sect2 id="rangetypes-indexing">
+ <sect2 id="rangetypes-indexing" xreflabel="Indexing">
<title>Indexing</title>
<indexterm>
@@ -517,7 +517,7 @@ CREATE INDEX reservation_idx ON reservation USING GIST (during);
</para>
</sect2>
- <sect2 id="rangetypes-constraint">
+ <sect2 id="rangetypes-constraint" xreflabel="Constraints on Ranges">
<title>Constraints on Ranges</title>
<indexterm>
diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml
index d80dd46c5fd..8ab67d35c2a 100644
--- a/doc/src/sgml/regress.sgml
+++ b/doc/src/sgml/regress.sgml
@@ -18,7 +18,7 @@
<productname>PostgreSQL</productname>.
</para>
- <sect1 id="regress-run">
+ <sect1 id="regress-run" xreflabel="Running the Tests">
<title>Running the Tests</title>
<para>
@@ -34,7 +34,7 @@
mode in case this is required by the test.
</para>
- <sect2 id="regress-run-temp-inst">
+ <sect2 id="regress-run-temp-inst" xreflabel="Running the Tests Against a Temporary Installation">
<title>Running the Tests Against a Temporary Installation</title>
<para>
@@ -95,7 +95,7 @@ make MAX_CONNECTIONS=10 check
</para>
</sect2>
- <sect2 id="regress-run-existing-inst">
+ <sect2 id="regress-run-existing-inst" xreflabel="Running the Tests Against an Existing Installation">
<title>Running the Tests Against an Existing Installation</title>
<para>
@@ -125,7 +125,7 @@ make installcheck-parallel
</para>
</sect2>
- <sect2 id="regress-subset">
+ <sect2 id="regress-subset" xreflabel="Running Specific Tests">
<title>Running Specific Tests</title>
<para>
@@ -137,7 +137,7 @@ make installcheck-parallel
</para>
</sect2>
- <sect2 id="regress-additional">
+ <sect2 id="regress-additional" xreflabel="Additional Test Suites">
<title>Additional Test Suites</title>
<para>
@@ -401,7 +401,7 @@ make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance libpq_encryption'
</para>
</sect2>
- <sect2 id="regress-run-locale">
+ <sect2 id="regress-run-locale" xreflabel="Locale and Encoding">
<title>Locale and Encoding</title>
<para>
@@ -444,7 +444,7 @@ make check LANG=C ENCODING=EUC_JP
</para>
</sect2>
- <sect2 id="regress-run-custom-settings">
+ <sect2 id="regress-run-custom-settings" xreflabel="Custom Server Settings">
<title>Custom Server Settings</title>
<para>
@@ -490,7 +490,7 @@ make check EXTRA_REGRESS_OPTS="--temp-config=test_postgresql.conf"
</sect2>
- <sect2 id="regress-run-extra-tests">
+ <sect2 id="regress-run-extra-tests" xreflabel="Extra Tests">
<title>Extra Tests</title>
<para>
@@ -506,7 +506,7 @@ make check EXTRA_TESTS=numeric_big
</sect2>
</sect1>
- <sect1 id="regress-evaluation">
+ <sect1 id="regress-evaluation" xreflabel="Test Evaluation">
<title>Test Evaluation</title>
<para>
@@ -745,7 +745,7 @@ diff results/random.out expected/random.out
</sect1>
<!-- We might want to move the following section into the developer's guide. -->
- <sect1 id="regress-variant">
+ <sect1 id="regress-variant" xreflabel="Variant Comparison Files">
<title>Variant Comparison Files</title>
<para>
@@ -839,7 +839,7 @@ float4:out:.*-.*-cygwin.*=float4-misrounded-input.out
</sect1>
- <sect1 id="regress-tap">
+ <sect1 id="regress-tap" xreflabel="TAP Tests">
<title>TAP Tests</title>
<para>
@@ -894,7 +894,7 @@ make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
results from temporary servers and the already-running test server.
</para>
- <sect2 id="regress-tap-vars">
+ <sect2 id="regress-tap-vars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<para>
@@ -929,7 +929,7 @@ PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
</sect1>
- <sect1 id="regress-coverage">
+ <sect1 id="regress-coverage" xreflabel="Test Coverage Examination">
<title>Test Coverage Examination</title>
<para>
diff --git a/doc/src/sgml/release-19.sgml b/doc/src/sgml/release-19.sgml
index 8d242b5b281..3bfcd8af86b 100644
--- a/doc/src/sgml/release-19.sgml
+++ b/doc/src/sgml/release-19.sgml
@@ -1,7 +1,7 @@
<!-- doc/src/sgml/release-19.sgml -->
<!-- See header comment in release.sgml about typical markup -->
-<sect1 id="release-19">
+<sect1 id="release-19" xreflabel="Release 19">
<title>Release 19</title>
<formalpara>
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index a659d382db9..75b4cd3006b 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -72,7 +72,7 @@ For new features, add links to the documentation sections.
&release-19;
- <sect1 id="release-prior">
+ <sect1 id="release-prior" xreflabel="Prior Releases">
<title>Prior Releases</title>
<para>
diff --git a/doc/src/sgml/rowtypes.sgml b/doc/src/sgml/rowtypes.sgml
index bbeac84d46a..ed2469e2138 100644
--- a/doc/src/sgml/rowtypes.sgml
+++ b/doc/src/sgml/rowtypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/rowtypes.sgml -->
-<sect1 id="rowtypes">
+<sect1 id="rowtypes" xreflabel="Composite Types">
<title>Composite Types</title>
<indexterm>
@@ -19,7 +19,7 @@
column of a table can be declared to be of a composite type.
</para>
- <sect2 id="rowtypes-declaring">
+ <sect2 id="rowtypes-declaring" xreflabel="Declaration of Composite Types">
<title>Declaration of Composite Types</title>
<para>
@@ -91,7 +91,7 @@ CREATE TABLE inventory_item (
</para>
</sect2>
- <sect2 id="rowtypes-constructing">
+ <sect2 id="rowtypes-constructing" xreflabel="Constructing Composite Values">
<title>Constructing Composite Values</title>
<indexterm>
@@ -157,7 +157,7 @@ ROW('', 42, NULL)
</para>
</sect2>
- <sect2 id="rowtypes-accessing">
+ <sect2 id="rowtypes-accessing" xreflabel="Accessing Composite Types">
<title>Accessing Composite Types</title>
<para>
@@ -209,7 +209,7 @@ SELECT (my_func(...)).field FROM ...
</para>
</sect2>
- <sect2 id="rowtypes-modifying">
+ <sect2 id="rowtypes-modifying" xreflabel="Modifying Composite Types">
<title>Modifying Composite Types</title>
<para>
@@ -252,7 +252,7 @@ INSERT INTO mytab (complex_col.r, complex_col.i) VALUES(1.1, 2.2);
</para>
</sect2>
- <sect2 id="rowtypes-usage">
+ <sect2 id="rowtypes-usage" xreflabel="Using Composite Types in Queries">
<title>Using Composite Types in Queries</title>
<para>
@@ -453,7 +453,7 @@ SELECT c.somefunc FROM inventory_item c;
</tip>
</sect2>
- <sect2 id="rowtypes-io-syntax">
+ <sect2 id="rowtypes-io-syntax" xreflabel="Composite Type Input and Output Syntax">
<title>Composite Type Input and Output Syntax</title>
<para>
diff --git a/doc/src/sgml/rules.sgml b/doc/src/sgml/rules.sgml
index 7f23962f524..4bf4a4acbd4 100644
--- a/doc/src/sgml/rules.sgml
+++ b/doc/src/sgml/rules.sgml
@@ -33,7 +33,7 @@
linkend="ong90"/>.
</para>
-<sect1 id="querytree">
+<sect1 id="querytree" xreflabel="The Query Tree">
<title>The Query Tree</title>
<indexterm zone="querytree">
@@ -266,7 +266,7 @@
</para>
</sect1>
-<sect1 id="rules-views">
+<sect1 id="rules-views" xreflabel="Views and the Rule System">
<title>Views and the Rule System</title>
<indexterm zone="rules-views">
@@ -311,7 +311,7 @@ CREATE RULE "_RETURN" AS ON SELECT TO myview DO INSTEAD
<xref linkend="rules-views-update"/>.
</para>
-<sect2 id="rules-select">
+<sect2 id="rules-select" xreflabel="How SELECT Rules Work">
<title>How <command>SELECT</command> Rules Work</title>
<indexterm zone="rules-select">
@@ -644,7 +644,7 @@ SELECT shoe_ready.shoename, shoe_ready.sh_avail,
</para>
</sect2>
-<sect2 id="rules-views-non-select">
+<sect2 id="rules-views-non-select" xreflabel="View Rules in Non-SELECT Statements">
<title>View Rules in Non-<command>SELECT</command> Statements</title>
<para>
@@ -764,7 +764,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</para>
</sect2>
-<sect2 id="rules-views-power">
+<sect2 id="rules-views-power" xreflabel="The Power of Views in PostgreSQL">
<title>The Power of Views in <productname>PostgreSQL</productname></title>
<para>
@@ -793,7 +793,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</para>
</sect2>
-<sect2 id="rules-views-update">
+<sect2 id="rules-views-update" xreflabel="Updating a View">
<title>Updating a View</title>
<para>
@@ -893,7 +893,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</sect1>
-<sect1 id="rules-materializedviews">
+<sect1 id="rules-materializedviews" xreflabel="Materialized Views">
<title>Materialized Views</title>
<indexterm zone="rules-materializedviews">
@@ -1103,7 +1103,7 @@ SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
</sect1>
-<sect1 id="rules-update">
+<sect1 id="rules-update" xreflabel="Rules on INSERT, UPDATE, and DELETE">
<title>Rules on <command>INSERT</command>, <command>UPDATE</command>, and <command>DELETE</command></title>
<indexterm zone="rules-update">
@@ -1185,7 +1185,7 @@ SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
</para>
</caution>
-<sect2 id="rules-update-how">
+<sect2 id="rules-update-how" xreflabel="How Update Rules Work">
<title>How Update Rules Work</title>
<para>
@@ -1556,7 +1556,7 @@ SELECT shoelace_data.sl_name, 0,
</sect2>
-<sect2 id="rules-update-views">
+<sect2 id="rules-update-views" xreflabel="Cooperation with Views">
<title>Cooperation with Views</title>
<indexterm zone="rules-update-views"><primary>view</primary><secondary>updating</secondary></indexterm>
@@ -2012,7 +2012,7 @@ SELECT * FROM shoelace;
</sect1>
-<sect1 id="rules-privileges">
+<sect1 id="rules-privileges" xreflabel="Rules and Privileges">
<title>Rules and Privileges</title>
<indexterm zone="rules-privileges">
@@ -2215,7 +2215,7 @@ CREATE VIEW phone_number WITH (security_barrier) AS
</para>
</sect1>
-<sect1 id="rules-status">
+<sect1 id="rules-status" xreflabel="Rules and Command Status">
<title>Rules and Command Status</title>
<para>
@@ -2266,7 +2266,7 @@ CREATE VIEW phone_number WITH (security_barrier) AS
</para>
</sect1>
-<sect1 id="rules-triggers">
+<sect1 id="rules-triggers" xreflabel="Rules Versus Triggers">
<title>Rules Versus Triggers</title>
<indexterm zone="rules-triggers">
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 0c60bafac63..481a5c5ae45 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -20,7 +20,7 @@
Consult the package-level documentation for details.
</para>
- <sect1 id="postgres-user">
+ <sect1 id="postgres-user" xreflabel="The PostgreSQL User Account">
<title>The <productname>PostgreSQL</productname> User Account</title>
<indexterm>
@@ -52,7 +52,7 @@
</para>
</sect1>
- <sect1 id="creating-cluster">
+ <sect1 id="creating-cluster" xreflabel="Creating a Database Cluster">
<title>Creating a Database Cluster</title>
<indexterm>
@@ -240,7 +240,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
different operating system, or an operating system upgrade.
</para>
- <sect2 id="creating-cluster-mount-points">
+ <sect2 id="creating-cluster-mount-points" xreflabel="Use of Secondary File Systems">
<title>Use of Secondary File Systems</title>
<indexterm zone="creating-cluster-mount-points">
@@ -262,7 +262,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
</sect2>
- <sect2 id="creating-cluster-filesystem">
+ <sect2 id="creating-cluster-filesystem" xreflabel="File Systems">
<title>File Systems</title>
<para>
@@ -335,7 +335,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
</sect1>
- <sect1 id="server-start">
+ <sect1 id="server-start" xreflabel="Starting the Database Server">
<title>Starting the Database Server</title>
<para>
@@ -673,7 +673,7 @@ psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such
</sect2>
</sect1>
- <sect1 id="kernel-resources">
+ <sect1 id="kernel-resources" xreflabel="Managing Kernel Resources">
<title>Managing Kernel Resources</title>
<para>
@@ -684,7 +684,7 @@ psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such
can take to resolve problems related to kernel resource consumption.
</para>
- <sect2 id="sysvipc">
+ <sect2 id="sysvipc" xreflabel="Shared Memory and Semaphores">
<title>Shared Memory and Semaphores</title>
<indexterm zone="sysvipc">
@@ -1127,7 +1127,7 @@ project.max-msg-ids=(priv,4096,deny)
</sect2>
- <sect2 id="systemd-removeipc">
+ <sect2 id="systemd-removeipc" xreflabel="systemd RemoveIPC">
<title>systemd RemoveIPC</title>
<indexterm>
@@ -1207,7 +1207,7 @@ RemoveIPC=no
</caution>
</sect2>
- <sect2 id="kernel-resources-limits">
+ <sect2 id="kernel-resources-limits" xreflabel="Resource Limits">
<title>Resource Limits</title>
<para>
@@ -1306,7 +1306,7 @@ default:\
</para>
</sect2>
- <sect2 id="linux-memory-overcommit">
+ <sect2 id="linux-memory-overcommit" xreflabel="Linux Memory Overcommit">
<title>Linux Memory Overcommit</title>
<indexterm>
@@ -1419,7 +1419,7 @@ export PG_OOM_ADJUST_VALUE=0
</sect2>
- <sect2 id="linux-huge-pages">
+ <sect2 id="linux-huge-pages" xreflabel="Linux Huge Pages">
<title>Linux Huge Pages</title>
<para>
@@ -1504,7 +1504,7 @@ $ <userinput>cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages</userinp
</sect1>
- <sect1 id="server-shutdown">
+ <sect1 id="server-shutdown" xreflabel="Shutting Down the Server">
<title>Shutting Down the Server</title>
<indexterm zone="server-shutdown">
@@ -1612,7 +1612,7 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput
</para>
</sect1>
- <sect1 id="upgrading">
+ <sect1 id="upgrading" xreflabel="Upgrading a PostgreSQL Cluster">
<title>Upgrading a <productname>PostgreSQL</productname> Cluster</title>
<indexterm zone="upgrading">
@@ -1737,7 +1737,7 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput
</variablelist>
- <sect2 id="upgrading-via-pgdumpall">
+ <sect2 id="upgrading-via-pgdumpall" xreflabel="Upgrading Data via pg_dumpall">
<title>Upgrading Data via <application>pg_dumpall</application></title>
<para>
@@ -1900,7 +1900,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
- <sect2 id="upgrading-via-pg-upgrade">
+ <sect2 id="upgrading-via-pg-upgrade" xreflabel="Upgrading Data via pg_upgrade">
<title>Upgrading Data via <application>pg_upgrade</application></title>
<para>
@@ -1915,7 +1915,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
- <sect2 id="upgrading-via-replication">
+ <sect2 id="upgrading-via-replication" xreflabel="Upgrading Data via Replication">
<title>Upgrading Data via Replication</title>
<para>
@@ -1941,7 +1941,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
</sect1>
- <sect1 id="preventing-server-spoofing">
+ <sect1 id="preventing-server-spoofing" xreflabel="Preventing Server Spoofing">
<title>Preventing Server Spoofing</title>
<indexterm zone="preventing-server-spoofing">
@@ -2023,7 +2023,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect1>
- <sect1 id="encryption-options">
+ <sect1 id="encryption-options" xreflabel="Encryption Options">
<title>Encryption Options</title>
<indexterm zone="encryption-options">
@@ -2186,7 +2186,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect1>
- <sect1 id="ssl-tcp">
+ <sect1 id="ssl-tcp" xreflabel="Secure TCP/IP Connections with SSL">
<title>Secure TCP/IP Connections with SSL</title>
<indexterm zone="ssl-tcp">
@@ -2214,7 +2214,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
in <productname>PostgreSQL</productname>.
</para>
- <sect2 id="ssl-setup">
+ <sect2 id="ssl-setup" xreflabel="Basic Setup">
<title>Basic Setup</title>
<para>
@@ -2290,7 +2290,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-openssl-config">
+ <sect2 id="ssl-openssl-config" xreflabel="OpenSSL Configuration">
<title>OpenSSL Configuration</title>
<para>
@@ -2323,7 +2323,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</note>
</sect2>
- <sect2 id="ssl-client-certificates">
+ <sect2 id="ssl-client-certificates" xreflabel="Using Client Certificates">
<title>Using Client Certificates</title>
<para>
@@ -2397,7 +2397,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-server-files">
+ <sect2 id="ssl-server-files" xreflabel="SSL Server File Usage">
<title>SSL Server File Usage</title>
<para>
@@ -2467,7 +2467,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-certificate-creation">
+ <sect2 id="ssl-certificate-creation" xreflabel="Creating Certificates">
<title>Creating Certificates</title>
<para>
@@ -2574,7 +2574,7 @@ openssl x509 -req -in server.csr -text -days 365 \
</sect1>
- <sect1 id="gssapi-enc">
+ <sect1 id="gssapi-enc" xreflabel="Secure TCP/IP Connections with GSSAPI Encryption">
<title>Secure TCP/IP Connections with GSSAPI Encryption</title>
<indexterm zone="gssapi-enc">
@@ -2590,7 +2590,7 @@ openssl x509 -req -in server.csr -text -days 365 \
enabled at build time (see <xref linkend="installation"/>).
</para>
- <sect2 id="gssapi-setup">
+ <sect2 id="gssapi-setup" xreflabel="Basic Setup">
<title>Basic Setup</title>
<para>
@@ -2623,7 +2623,7 @@ openssl x509 -req -in server.csr -text -days 365 \
</sect2>
</sect1>
- <sect1 id="ssh-tunnels">
+ <sect1 id="ssh-tunnels" xreflabel="Secure TCP/IP Connections with SSH Tunnels">
<title>Secure TCP/IP Connections with <application>SSH</application> Tunnels</title>
<indexterm zone="ssh-tunnels">
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
index 2e879c3e452..0eb6880e734 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -20,7 +20,7 @@
on the current database.
</para>
- <sect2 id="seg-rationale">
+ <sect2 id="seg-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -81,7 +81,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-syntax">
+ <sect2 id="seg-syntax" xreflabel="Syntax">
<title>Syntax</title>
<para>
@@ -220,7 +220,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</sect2>
- <sect2 id="seg-precision">
+ <sect2 id="seg-precision" xreflabel="Precision">
<title>Precision</title>
<para>
@@ -239,7 +239,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-usage">
+ <sect2 id="seg-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -363,7 +363,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-notes">
+ <sect2 id="seg-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -392,7 +392,7 @@ postgres=> SELECT '10(+-)1'::seg AS seg;
</para>
</sect2>
- <sect2 id="seg-credits">
+ <sect2 id="seg-credits" xreflabel="Credits">
<title>Credits</title>
<para>
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index ddac6253557..02439b52870 100644
--- a/doc/src/sgml/sepgsql.sgml
+++ b/doc/src/sgml/sepgsql.sgml
@@ -22,7 +22,7 @@
</para>
</warning>
- <sect2 id="sepgsql-overview">
+ <sect2 id="sepgsql-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -57,7 +57,7 @@
</para>
</sect2>
- <sect2 id="sepgsql-installation">
+ <sect2 id="sepgsql-installation" xreflabel="Installation">
<title>Installation</title>
<para>
@@ -148,7 +148,7 @@ $ for DBNAME in template0 template1 postgres; do
</para>
</sect2>
- <sect2 id="sepgsql-regression">
+ <sect2 id="sepgsql-regression" xreflabel="Regression Tests">
<title>Regression Tests</title>
<para>
@@ -269,7 +269,7 @@ $ sudo semodule -r sepgsql-regtest
</screen>
</sect2>
- <sect2 id="sepgsql-parameters">
+ <sect2 id="sepgsql-parameters" xreflabel="GUC Parameters">
<title>GUC Parameters</title>
<variablelist>
@@ -328,9 +328,9 @@ $ sudo semodule -r sepgsql-regtest
</variablelist>
</sect2>
- <sect2 id="sepgsql-features">
+ <sect2 id="sepgsql-features" xreflabel="Features">
<title>Features</title>
- <sect3 id="sepgsql-features-controlled-obj-classes">
+ <sect3 id="sepgsql-features-controlled-obj-classes" xreflabel="Controlled Object Classes">
<title>Controlled Object Classes</title>
<para>
The security model of <productname>SELinux</productname> describes all the access
@@ -363,7 +363,7 @@ $ sudo semodule -r sepgsql-regtest
</para>
</sect3>
- <sect3 id="sepgsql-features-dml-permissions">
+ <sect3 id="sepgsql-features-dml-permissions" xreflabel="DML Permissions">
<title>DML Permissions</title>
<para>
@@ -447,7 +447,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
</para>
</sect3>
- <sect3 id="sepgsql-features-ddl-permissions">
+ <sect3 id="sepgsql-features-ddl-permissions" xreflabel="DDL Permissions">
<title>DDL Permissions</title>
<para>
<productname>SELinux</productname> defines several permissions to control common
@@ -538,7 +538,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
</sect3>
- <sect3 id="sepgsql-features-trusted-procedures">
+ <sect3 id="sepgsql-features-trusted-procedures" xreflabel="Trusted Procedures">
<title>Trusted Procedures</title>
<para>
Trusted procedures are similar to security definer functions or setuid
@@ -594,7 +594,7 @@ postgres=# SELECT cid, cname, show_credit(cid) FROM customer;
</para>
</sect3>
- <sect3 id="sepgsql-features-dynamic-domain-transitions">
+ <sect3 id="sepgsql-features-dynamic-domain-transitions" xreflabel="Dynamic Domain Transitions">
<title>Dynamic Domain Transitions</title>
<para>
It is possible to use SELinux's dynamic domain transition feature
@@ -656,7 +656,7 @@ ERROR: SELinux: security policy violation
</para>
</sect3>
- <sect3 id="sepgsql-features-misc">
+ <sect3 id="sepgsql-features-misc" xreflabel="Miscellaneous">
<title>Miscellaneous</title>
<para>
We reject the <link linkend="sql-load"><command>LOAD</command></link> command across the board, because
@@ -666,7 +666,7 @@ ERROR: SELinux: security policy violation
</sect3>
</sect2>
- <sect2 id="sepgsql-functions">
+ <sect2 id="sepgsql-functions" xreflabel="Sepgsql Functions">
<title>Sepgsql Functions</title>
<para>
<xref linkend="sepgsql-functions-table"/> shows the available functions.
@@ -748,7 +748,7 @@ ERROR: SELinux: security policy violation
</table>
</sect2>
- <sect2 id="sepgsql-limitations">
+ <sect2 id="sepgsql-limitations" xreflabel="Limitations">
<title>Limitations</title>
<variablelist>
@@ -799,7 +799,7 @@ ERROR: SELinux: security policy violation
</variablelist>
</sect2>
- <sect2 id="sepgsql-resources">
+ <sect2 id="sepgsql-resources" xreflabel="External Resources">
<title>External Resources</title>
<variablelist>
<varlistentry>
@@ -834,7 +834,7 @@ ERROR: SELinux: security policy violation
</variablelist>
</sect2>
- <sect2 id="sepgsql-author">
+ <sect2 id="sepgsql-author" xreflabel="Author">
<title>Author</title>
<para>
KaiGai Kohei <email>kaigai@ak.jp.nec.com</email>
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml
index f4368e83ab3..413b2c08034 100644
--- a/doc/src/sgml/sourcerepo.sgml
+++ b/doc/src/sgml/sourcerepo.sgml
@@ -16,7 +16,7 @@
has some discussion on working with Git.
</para>
- <sect1 id="git">
+ <sect1 id="git" xreflabel="Getting the Source via Git">
<title>Getting the Source via <productname>Git</productname></title>
<para>
diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml
index 760f9b69d47..59f9783a14a 100644
--- a/doc/src/sgml/sources.sgml
+++ b/doc/src/sgml/sources.sgml
@@ -3,7 +3,7 @@
<chapter id="source">
<title>PostgreSQL Coding Conventions</title>
- <sect1 id="source-format">
+ <sect1 id="source-format" xreflabel="Formatting">
<title>Formatting</title>
<para>
@@ -86,7 +86,7 @@ less -x4
</para>
</sect1>
- <sect1 id="error-message-reporting">
+ <sect1 id="error-message-reporting" xreflabel="Reporting Errors Within the Server">
<title>Reporting Errors Within the Server</title>
<indexterm>
@@ -438,7 +438,7 @@ ereport(level, errmsg_internal("format string", ...));
</para>
</sect1>
- <sect1 id="error-style-guide">
+ <sect1 id="error-style-guide" xreflabel="Error Message Style Guide">
<title>Error Message Style Guide</title>
<para>
@@ -901,7 +901,7 @@ BETTER: unrecognized node type: 42
</sect1>
- <sect1 id="source-conventions">
+ <sect1 id="source-conventions" xreflabel="Miscellaneous Coding Conventions">
<title>Miscellaneous Coding Conventions</title>
<simplesect id="source-conventions-c-standard">
diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml
index 6af93719b84..4ce33317598 100644
--- a/doc/src/sgml/spgist.sgml
+++ b/doc/src/sgml/spgist.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/spgist.sgml -->
-<sect1 id="spgist">
+<sect1 id="spgist" xreflabel="SP-GiST Indexes">
<title>SP-GiST Indexes</title>
<indexterm>
@@ -944,7 +944,7 @@ LANGUAGE C STRICT;
know.
</para>
- <sect3 id="spgist-limits">
+ <sect3 id="spgist-limits" xreflabel="SP-GiST Limits">
<title>SP-GiST Limits</title>
<para>
@@ -993,7 +993,7 @@ LANGUAGE C STRICT;
</para>
</sect3>
- <sect3 id="spgist-null-labels">
+ <sect3 id="spgist-null-labels" xreflabel="SP-GiST Without Node Labels">
<title>SP-GiST Without Node Labels</title>
<para>
@@ -1020,7 +1020,7 @@ LANGUAGE C STRICT;
</para>
</sect3>
- <sect3 id="spgist-all-the-same">
+ <sect3 id="spgist-all-the-same" xreflabel="All-the-Same Inner Tuples">
<title><quote>All-the-Same</quote> Inner Tuples</title>
<para>
diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml
index e30d0962ae7..0bdb7f42500 100644
--- a/doc/src/sgml/spi.sgml
+++ b/doc/src/sgml/spi.sgml
@@ -51,7 +51,7 @@
</para>
-<sect1 id="spi-interface">
+<sect1 id="spi-interface" xreflabel="Interface Functions">
<title>Interface Functions</title>
<refentry id="spi-spi-connect">
@@ -3663,7 +3663,7 @@ int SPI_register_trigger_data(TriggerData *<parameter>tdata</parameter>)
</sect1>
-<sect1 id="spi-interface-support">
+<sect1 id="spi-interface-support" xreflabel="Interface Support Functions">
<title>Interface Support Functions</title>
<para>
@@ -4294,7 +4294,7 @@ const char * SPI_result_code_string(int <parameter>code</parameter>);
</sect1>
- <sect1 id="spi-memory">
+ <sect1 id="spi-memory" xreflabel="Memory Management">
<title>Memory Management</title>
<para>
@@ -5018,7 +5018,7 @@ int SPI_freeplan(SPIPlanPtr <parameter>plan</parameter>)
</sect1>
- <sect1 id="spi-transaction">
+ <sect1 id="spi-transaction" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -5185,7 +5185,7 @@ void SPI_start_transaction(void)
</sect1>
- <sect1 id="spi-visibility">
+ <sect1 id="spi-visibility" xreflabel="Visibility of Data Changes">
<title>Visibility of Data Changes</title>
<para>
@@ -5245,7 +5245,7 @@ INSERT INTO a SELECT * FROM a;
</para>
</sect1>
- <sect1 id="spi-examples">
+ <sect1 id="spi-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
index 85d49f66537..55a62063536 100644
--- a/doc/src/sgml/sslinfo.sgml
+++ b/doc/src/sgml/sslinfo.sgml
@@ -25,7 +25,7 @@
configured with <literal>--with-ssl=openssl</literal>.
</para>
- <sect2 id="sslinfo-functions">
+ <sect2 id="sslinfo-functions" xreflabel="Functions Provided">
<title>Functions Provided</title>
<variablelist>
@@ -243,7 +243,7 @@ emailAddress
</variablelist>
</sect2>
- <sect2 id="sslinfo-author">
+ <sect2 id="sslinfo-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/start.sgml b/doc/src/sgml/start.sgml
index 0263a700591..c1acf79fdd4 100644
--- a/doc/src/sgml/start.sgml
+++ b/doc/src/sgml/start.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-start">
<title>Getting Started</title>
- <sect1 id="tutorial-install">
+ <sect1 id="tutorial-install" xreflabel="Installation">
<title>Installation</title>
<para>
@@ -52,7 +52,7 @@
</sect1>
- <sect1 id="tutorial-arch">
+ <sect1 id="tutorial-arch" xreflabel="Architectural Fundamentals">
<title>Architectural Fundamentals</title>
<para>
@@ -121,7 +121,7 @@
</sect1>
- <sect1 id="tutorial-createdb">
+ <sect1 id="tutorial-createdb" xreflabel="Creating a Database">
<title>Creating a Database</title>
<indexterm zone="tutorial-createdb">
@@ -273,7 +273,7 @@ createdb: error: database creation failed: ERROR: permission denied to create d
</sect1>
- <sect1 id="tutorial-accessdb">
+ <sect1 id="tutorial-accessdb" xreflabel="Accessing a Database">
<title>Accessing a Database</title>
<indexterm zone="tutorial-accessdb">
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index 34c83880a66..e1844a56e03 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -21,7 +21,7 @@
specific to <productname>PostgreSQL</productname>.
</para>
- <sect1 id="sql-syntax-lexical">
+ <sect1 id="sql-syntax-lexical" xreflabel="Lexical Structure">
<title>Lexical Structure</title>
<indexterm>
@@ -78,7 +78,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
precise syntax rules for each command are described in <xref linkend="reference"/>.
</para>
- <sect2 id="sql-syntax-identifiers">
+ <sect2 id="sql-syntax-identifiers" xreflabel="Identifiers and Key Words">
<title>Identifiers and Key Words</title>
<indexterm zone="sql-syntax-identifiers">
@@ -273,7 +273,7 @@ U&"d!0061t!+000061" UESCAPE '!'
</sect2>
- <sect2 id="sql-syntax-constants">
+ <sect2 id="sql-syntax-constants" xreflabel="Constants">
<title>Constants</title>
<indexterm zone="sql-syntax-constants">
@@ -836,7 +836,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</sect3>
</sect2>
- <sect2 id="sql-syntax-operators">
+ <sect2 id="sql-syntax-operators" xreflabel="Operators">
<title>Operators</title>
<indexterm zone="sql-syntax-operators">
@@ -888,7 +888,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-syntax-special-chars">
+ <sect2 id="sql-syntax-special-chars" xreflabel="Special Characters">
<title>Special Characters</title>
<para>
@@ -971,7 +971,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-syntax-comments">
+ <sect2 id="sql-syntax-comments" xreflabel="Comments">
<title>Comments</title>
<indexterm zone="sql-syntax-comments">
@@ -1007,7 +1007,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-precedence">
+ <sect2 id="sql-precedence" xreflabel="Operator Precedence">
<title>Operator Precedence</title>
<indexterm zone="sql-precedence">
@@ -1183,7 +1183,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</sect2>
</sect1>
- <sect1 id="sql-expressions">
+ <sect1 id="sql-expressions" xreflabel="Value Expressions">
<title>Value Expressions</title>
<indexterm zone="sql-expressions">
@@ -1328,7 +1328,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
the remaining options.
</para>
- <sect2 id="sql-expressions-column-refs">
+ <sect2 id="sql-expressions-column-refs" xreflabel="Column References">
<title>Column References</title>
<indexterm>
@@ -1351,7 +1351,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</para>
</sect2>
- <sect2 id="sql-expressions-parameters-positional">
+ <sect2 id="sql-expressions-parameters-positional" xreflabel="Positional Parameters">
<title>Positional Parameters</title>
<indexterm>
@@ -1391,7 +1391,7 @@ CREATE FUNCTION dept(text) RETURNS dept
</para>
</sect2>
- <sect2 id="sql-expressions-subscripts">
+ <sect2 id="sql-expressions-subscripts" xreflabel="Subscripts">
<title>Subscripts</title>
<indexterm>
@@ -1434,7 +1434,7 @@ $1[10:42]
</para>
</sect2>
- <sect2 id="field-selection">
+ <sect2 id="field-selection" xreflabel="Field Selection">
<title>Field Selection</title>
<indexterm>
@@ -1487,7 +1487,7 @@ $1.somecolumn
</para>
</sect2>
- <sect2 id="sql-expressions-operator-calls">
+ <sect2 id="sql-expressions-operator-calls" xreflabel="Operator Invocations">
<title>Operator Invocations</title>
<indexterm>
@@ -1515,7 +1515,7 @@ $1.somecolumn
</para>
</sect2>
- <sect2 id="sql-expressions-function-calls">
+ <sect2 id="sql-expressions-function-calls" xreflabel="Function Calls">
<title>Function Calls</title>
<indexterm>
@@ -1570,7 +1570,7 @@ sqrt(2)
</note>
</sect2>
- <sect2 id="syntax-aggregates">
+ <sect2 id="syntax-aggregates" xreflabel="Aggregate Expressions">
<title>Aggregate Expressions</title>
<indexterm zone="syntax-aggregates">
@@ -1810,7 +1810,7 @@ FROM generate_series(1,10) AS s(i);
</para>
</sect2>
- <sect2 id="syntax-window-functions">
+ <sect2 id="syntax-window-functions" xreflabel="Window Function Calls">
<title>Window Function Calls</title>
<indexterm zone="syntax-window-functions">
@@ -2079,7 +2079,7 @@ EXCLUDE NO OTHERS
</para>
</sect2>
- <sect2 id="sql-syntax-type-casts">
+ <sect2 id="sql-syntax-type-casts" xreflabel="Type Casts">
<title>Type Casts</title>
<indexterm>
@@ -2162,7 +2162,7 @@ CAST ( <replaceable>expression</replaceable> AS <replaceable>type</replaceable>
</note>
</sect2>
- <sect2 id="sql-syntax-collate-exprs">
+ <sect2 id="sql-syntax-collate-exprs" xreflabel="Collation Expressions">
<title>Collation Expressions</title>
<indexterm>
@@ -2223,7 +2223,7 @@ SELECT * FROM tbl WHERE (a > 'foo') COLLATE "C";
</para>
</sect2>
- <sect2 id="sql-syntax-scalar-subqueries">
+ <sect2 id="sql-syntax-scalar-subqueries" xreflabel="Scalar Subqueries">
<title>Scalar Subqueries</title>
<indexterm>
@@ -2255,7 +2255,7 @@ SELECT name, (SELECT max(pop) FROM cities WHERE cities.state = states.name)
</para>
</sect2>
- <sect2 id="sql-syntax-array-constructors">
+ <sect2 id="sql-syntax-array-constructors" xreflabel="Array Constructors">
<title>Array Constructors</title>
<indexterm>
@@ -2393,7 +2393,7 @@ SELECT ARRAY(SELECT ARRAY[i, i*2] FROM generate_series(1,5) AS a(i));
</sect2>
- <sect2 id="sql-syntax-row-constructors">
+ <sect2 id="sql-syntax-row-constructors" xreflabel="Row Constructors">
<title>Row Constructors</title>
<indexterm>
@@ -2503,7 +2503,7 @@ SELECT getf1(CAST(ROW(11,'this is a test',2.5) AS myrowtype));
</sect2>
- <sect2 id="syntax-express-eval">
+ <sect2 id="syntax-express-eval" xreflabel="Expression Evaluation Rules">
<title>Expression Evaluation Rules</title>
<indexterm>
@@ -2613,7 +2613,7 @@ SELECT CASE WHEN min(employees) > 0
</sect2>
</sect1>
- <sect1 id="sql-syntax-calling-funcs">
+ <sect1 id="sql-syntax-calling-funcs" xreflabel="Calling Functions">
<title>Calling Functions</title>
<indexterm zone="sql-syntax-calling-funcs">
@@ -2762,7 +2762,7 @@ SELECT concat_lower_or_upper(a := 'Hello', uppercase := true, b := 'World');
</para>
</sect2>
- <sect2 id="sql-syntax-calling-funcs-mixed">
+ <sect2 id="sql-syntax-calling-funcs-mixed" xreflabel="Using Mixed Notation">
<title>Using Mixed Notation</title>
<indexterm>
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index 162c76b729a..080a04b753c 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -30,7 +30,7 @@
<xref linkend="monitoring-stats-views-table"/>.
</para>
- <sect1 id="views-overview">
+ <sect1 id="views-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -251,7 +251,7 @@
</table>
</sect1>
- <sect1 id="view-pg-aios">
+ <sect1 id="view-pg-aios" xreflabel="pg_aios">
<title><structname>pg_aios</structname></title>
<indexterm zone="view-pg-aios">
@@ -540,7 +540,7 @@
</para>
</sect1>
- <sect1 id="view-pg-available-extensions">
+ <sect1 id="view-pg-available-extensions" xreflabel="pg_available_extensions">
<title><structname>pg_available_extensions</structname></title>
<indexterm zone="view-pg-available-extensions">
@@ -616,7 +616,7 @@
</para>
</sect1>
- <sect1 id="view-pg-available-extension-versions">
+ <sect1 id="view-pg-available-extension-versions" xreflabel="pg_available_extension_versions">
<title><structname>pg_available_extension_versions</structname></title>
<indexterm zone="view-pg-available-extension-versions">
@@ -741,7 +741,7 @@
</para>
</sect1>
- <sect1 id="view-pg-backend-memory-contexts">
+ <sect1 id="view-pg-backend-memory-contexts" xreflabel="pg_backend_memory_contexts">
<title><structname>pg_backend_memory_contexts</structname></title>
<indexterm zone="view-pg-backend-memory-contexts">
@@ -901,7 +901,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-config">
+ <sect1 id="view-pg-config" xreflabel="pg_config">
<title><structname>pg_config</structname></title>
<indexterm zone="view-pg-config">
@@ -962,7 +962,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-cursors">
+ <sect1 id="view-pg-cursors" xreflabel="pg_cursors">
<title><structname>pg_cursors</structname></title>
<indexterm zone="view-pg-cursors">
@@ -1096,7 +1096,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-dsm-registry-allocations">
+ <sect1 id="view-pg-dsm-registry-allocations" xreflabel="pg_dsm_registry_allocations">
<title><structname>pg_dsm_registry_allocations</structname></title>
<indexterm zone="view-pg-dsm-registry-allocations">
@@ -1165,7 +1165,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-file-settings">
+ <sect1 id="view-pg-file-settings" xreflabel="pg_file_settings">
<title><structname>pg_file_settings</structname></title>
<indexterm zone="view-pg-file-settings">
@@ -1300,7 +1300,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-group">
+ <sect1 id="view-pg-group" xreflabel="pg_group">
<title><structname>pg_group</structname></title>
<indexterm zone="view-pg-group">
@@ -1369,7 +1369,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-hba-file-rules">
+ <sect1 id="view-pg-hba-file-rules" xreflabel="pg_hba_file_rules">
<title><structname>pg_hba_file_rules</structname></title>
<indexterm zone="view-pg-hba-file-rules">
@@ -1530,7 +1530,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-ident-file-mappings">
+ <sect1 id="view-pg-ident-file-mappings" xreflabel="pg_ident_file_mappings">
<title><structname>pg_ident_file_mappings</structname></title>
<indexterm zone="view-pg-ident-file-mappings">
@@ -1651,7 +1651,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-indexes">
+ <sect1 id="view-pg-indexes" xreflabel="pg_indexes">
<title><structname>pg_indexes</structname></title>
<indexterm zone="view-pg-indexes">
@@ -1733,7 +1733,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-locks">
+ <sect1 id="view-pg-locks" xreflabel="pg_locks">
<title><structname>pg_locks</structname></title>
<indexterm zone="view-pg-locks">
@@ -2114,7 +2114,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-matviews">
+ <sect1 id="view-pg-matviews" xreflabel="pg_matviews">
<title><structname>pg_matviews</structname></title>
<indexterm zone="view-pg-matviews">
@@ -2217,7 +2217,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-policies">
+ <sect1 id="view-pg-policies" xreflabel="pg_policies">
<title><structname>pg_policies</structname></title>
<indexterm zone="view-pg-policies">
@@ -2326,7 +2326,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-prepared-statements">
+ <sect1 id="view-pg-prepared-statements" xreflabel="pg_prepared_statements">
<title><structname>pg_prepared_statements</structname></title>
<indexterm zone="view-pg-prepared-statements">
@@ -2458,7 +2458,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-prepared-xacts">
+ <sect1 id="view-pg-prepared-xacts" xreflabel="pg_prepared_xacts">
<title><structname>pg_prepared_xacts</structname></title>
<indexterm zone="view-pg-prepared-xacts">
@@ -2554,7 +2554,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-publication-sequences">
+ <sect1 id="view-pg-publication-sequences" xreflabel="pg_publication_sequences">
<title><structname>pg_publication_sequences</structname></title>
<indexterm zone="view-pg-publication-sequences">
@@ -2615,7 +2615,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-publication-tables">
+ <sect1 id="view-pg-publication-tables" xreflabel="pg_publication_tables">
<title><structname>pg_publication_tables</structname></title>
<indexterm zone="view-pg-publication-tables">
@@ -2703,7 +2703,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-replication-origin-status">
+ <sect1 id="view-pg-replication-origin-status" xreflabel="pg_replication_origin_status">
<title><structname>pg_replication_origin_status</structname></title>
<indexterm zone="view-pg-replication-origin-status">
@@ -2776,7 +2776,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-replication-slots">
+ <sect1 id="view-pg-replication-slots" xreflabel="pg_replication_slots">
<title><structname>pg_replication_slots</structname></title>
<indexterm zone="view-pg-replication-slots">
@@ -3150,7 +3150,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-roles">
+ <sect1 id="view-pg-roles" xreflabel="pg_roles">
<title><structname>pg_roles</structname></title>
<indexterm zone="view-pg-roles">
@@ -3309,7 +3309,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-rules">
+ <sect1 id="view-pg-rules" xreflabel="pg_rules">
<title><structname>pg_rules</structname></title>
<indexterm zone="view-pg-rules">
@@ -3386,7 +3386,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-seclabels">
+ <sect1 id="view-pg-seclabels" xreflabel="pg_seclabels">
<title><structname>pg_seclabels</structname></title>
<indexterm zone="view-pg-seclabels">
@@ -3499,7 +3499,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-sequences">
+ <sect1 id="view-pg-sequences" xreflabel="pg_sequences">
<title><structname>pg_sequences</structname></title>
<indexterm zone="view-pg-sequences">
@@ -3659,7 +3659,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-settings">
+ <sect1 id="view-pg-settings" xreflabel="pg_settings">
<title><structname>pg_settings</structname></title>
<indexterm zone="view-pg-settings">
@@ -4010,7 +4010,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-shadow">
+ <sect1 id="view-pg-shadow" xreflabel="pg_shadow">
<title><structname>pg_shadow</structname></title>
<indexterm zone="view-pg-shadow">
@@ -4141,7 +4141,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-shmem-allocations">
+ <sect1 id="view-pg-shmem-allocations" xreflabel="pg_shmem_allocations">
<title><structname>pg_shmem_allocations</structname></title>
<indexterm zone="view-pg-shmem-allocations">
@@ -4236,7 +4236,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-shmem-allocations-numa">
+ <sect1 id="view-pg-shmem-allocations-numa" xreflabel="pg_shmem_allocations_numa">
<title><structname>pg_shmem_allocations_numa</structname></title>
<indexterm zone="view-pg-shmem-allocations-numa">
@@ -4326,7 +4326,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-stats">
+ <sect1 id="view-pg-stats" xreflabel="pg_stats">
<title><structname>pg_stats</structname></title>
<indexterm zone="view-pg-stats">
@@ -4576,7 +4576,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-stats-ext">
+ <sect1 id="view-pg-stats-ext" xreflabel="pg_stats_ext">
<title><structname>pg_stats_ext</structname></title>
<indexterm zone="view-pg-stats-ext">
@@ -4787,7 +4787,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-stats-ext-exprs">
+ <sect1 id="view-pg-stats-ext-exprs" xreflabel="pg_stats_ext_exprs">
<title><structname>pg_stats_ext_exprs</structname></title>
<indexterm zone="view-pg-stats-ext-exprs">
@@ -5029,7 +5029,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-tables">
+ <sect1 id="view-pg-tables" xreflabel="pg_tables">
<title><structname>pg_tables</structname></title>
<indexterm zone="view-pg-tables">
@@ -5141,7 +5141,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-timezone-abbrevs">
+ <sect1 id="view-pg-timezone-abbrevs" xreflabel="pg_timezone_abbrevs">
<title><structname>pg_timezone_abbrevs</structname></title>
<indexterm zone="view-pg-timezone-abbrevs">
@@ -5211,7 +5211,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-timezone-names">
+ <sect1 id="view-pg-timezone-names" xreflabel="pg_timezone_names">
<title><structname>pg_timezone_names</structname></title>
<indexterm zone="view-pg-timezone-names">
@@ -5288,7 +5288,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-user">
+ <sect1 id="view-pg-user" xreflabel="pg_user">
<title><structname>pg_user</structname></title>
<indexterm zone="view-pg-user">
@@ -5406,7 +5406,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-user-mappings">
+ <sect1 id="view-pg-user-mappings" xreflabel="pg_user_mappings">
<title><structname>pg_user_mappings</structname></title>
<indexterm zone="view-pg-user-mappings">
@@ -5525,7 +5525,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-views">
+ <sect1 id="view-pg-views" xreflabel="pg_views">
<title><structname>pg_views</structname></title>
<indexterm zone="view-pg-views">
@@ -5596,7 +5596,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-wait-events">
+ <sect1 id="view-pg-wait-events" xreflabel="pg_wait_events">
<title><structname>pg_wait_events</structname></title>
<indexterm zone="view-pg-wait-events">
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index 69cafa00ad6..0131b355ac8 100644
--- a/doc/src/sgml/tablefunc.sgml
+++ b/doc/src/sgml/tablefunc.sgml
@@ -20,7 +20,7 @@
on the current database.
</para>
- <sect2 id="tablefunc-functions-sect">
+ <sect2 id="tablefunc-functions-sect" xreflabel="Functions Provided">
<title>Functions Provided</title>
<para>
@@ -119,7 +119,7 @@
</tgroup>
</table>
- <sect3 id="tablefunc-functions-normal-rand">
+ <sect3 id="tablefunc-functions-normal-rand" xreflabel="normal_rand">
<title><function>normal_rand</function></title>
<indexterm>
@@ -166,7 +166,7 @@ test=# SELECT * FROM normal_rand(1000, 5, 3);
</screen>
</sect3>
- <sect3 id="tablefunc-functions-crosstab-text">
+ <sect3 id="tablefunc-functions-crosstab-text" xreflabel="crosstab(text)">
<title><function>crosstab(text)</function></title>
<indexterm>
@@ -325,7 +325,7 @@ AS ct(row_name text, category_1 text, category_2 text, category_3 text);
</sect3>
- <sect3 id="tablefunc-functions-crosstab-n-text">
+ <sect3 id="tablefunc-functions-crosstab-n-text" xreflabel="crosstab N (text)">
<title><function>crosstab<replaceable>N</replaceable>(text)</function></title>
<indexterm>
@@ -436,7 +436,7 @@ CREATE OR REPLACE FUNCTION crosstab_float8_5_cols(
</sect3>
- <sect3 id="tablefunc-functions-crosstab-text-2">
+ <sect3 id="tablefunc-functions-crosstab-text-2" xreflabel="crosstab(text, text)">
<title><function>crosstab(text, text)</function></title>
<indexterm>
@@ -646,7 +646,7 @@ AS
</sect3>
- <sect3 id="tablefunc-functions-connectby">
+ <sect3 id="tablefunc-functions-connectby" xreflabel="connectby">
<title><function>connectby</function></title>
<indexterm>
@@ -853,7 +853,7 @@ SELECT * FROM connectby('connectby_tree', 'keyid', 'parent_keyid', 'pos', 'row2'
</sect2>
- <sect2 id="tablefunc-author">
+ <sect2 id="tablefunc-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/tablesample-method.sgml b/doc/src/sgml/tablesample-method.sgml
index c821941b71b..f59d7a21129 100644
--- a/doc/src/sgml/tablesample-method.sgml
+++ b/doc/src/sgml/tablesample-method.sgml
@@ -99,7 +99,7 @@ method_name(internal) RETURNS tsm_handler
subdirectory for add-on methods.
</para>
- <sect1 id="tablesample-support-functions">
+ <sect1 id="tablesample-support-functions" xreflabel="Sampling Method Support Functions">
<title>Sampling Method Support Functions</title>
<para>
diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml
index d20484cb232..5cd26118087 100644
--- a/doc/src/sgml/textsearch.sgml
+++ b/doc/src/sgml/textsearch.sgml
@@ -11,7 +11,7 @@
<primary>text search</primary>
</indexterm>
- <sect1 id="textsearch-intro">
+ <sect1 id="textsearch-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -169,7 +169,7 @@
</para>
- <sect2 id="textsearch-document">
+ <sect2 id="textsearch-document" xreflabel="What Is a Document?">
<title>What Is a Document?</title>
<indexterm zone="textsearch-document">
@@ -236,7 +236,7 @@ WHERE m.mid = d.did AND m.mid = 12;
</para>
</sect2>
- <sect2 id="textsearch-matching">
+ <sect2 id="textsearch-matching" xreflabel="Basic Text Matching">
<title>Basic Text Matching</title>
<para>
@@ -403,7 +403,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
</para>
</sect2>
- <sect2 id="textsearch-intro-configurations">
+ <sect2 id="textsearch-intro-configurations" xreflabel="Configurations">
<title>Configurations</title>
<para>
@@ -490,7 +490,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
</sect1>
- <sect1 id="textsearch-tables">
+ <sect1 id="textsearch-tables" xreflabel="Tables and Indexes">
<title>Tables and Indexes</title>
<para>
@@ -499,7 +499,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
optionally using indexes.
</para>
- <sect2 id="textsearch-tables-search">
+ <sect2 id="textsearch-tables-search" xreflabel="Searching a Table">
<title>Searching a Table</title>
<para>
@@ -560,7 +560,7 @@ LIMIT 10;
</sect2>
- <sect2 id="textsearch-tables-index">
+ <sect2 id="textsearch-tables-index" xreflabel="Creating Indexes">
<title>Creating Indexes</title>
<para>
@@ -668,7 +668,7 @@ LIMIT 10;
</sect1>
- <sect1 id="textsearch-controls">
+ <sect1 id="textsearch-controls" xreflabel="Controlling Text Search">
<title>Controlling Text Search</title>
<para>
@@ -681,7 +681,7 @@ LIMIT 10;
functions.
</para>
- <sect2 id="textsearch-parsing-documents">
+ <sect2 id="textsearch-parsing-documents" xreflabel="Parsing Documents">
<title>Parsing Documents</title>
<para>
@@ -785,7 +785,7 @@ UPDATE tt SET ti =
</sect2>
- <sect2 id="textsearch-parsing-queries">
+ <sect2 id="textsearch-parsing-queries" xreflabel="Parsing Queries">
<title>Parsing Queries</title>
<para>
@@ -1046,7 +1046,7 @@ SELECT websearch_to_tsquery('english', '""" )( dummy \\ query <->');
</para>
</sect2>
- <sect2 id="textsearch-ranking">
+ <sect2 id="textsearch-ranking" xreflabel="Ranking Search Results">
<title>Ranking Search Results</title>
<para>
@@ -1265,7 +1265,7 @@ LIMIT 10;
</sect2>
- <sect2 id="textsearch-headline">
+ <sect2 id="textsearch-headline" xreflabel="Highlighting Results">
<title>Highlighting Results</title>
<para>
@@ -1432,7 +1432,7 @@ occurrences to display in the result.',
</sect1>
- <sect1 id="textsearch-features">
+ <sect1 id="textsearch-features" xreflabel="Additional Features">
<title>Additional Features</title>
<para>
@@ -1440,7 +1440,7 @@ occurrences to display in the result.',
useful in connection with text search.
</para>
- <sect2 id="textsearch-manipulate-tsvector">
+ <sect2 id="textsearch-manipulate-tsvector" xreflabel="Manipulating Documents">
<title>Manipulating Documents</title>
<para>
@@ -1571,7 +1571,7 @@ occurrences to display in the result.',
</sect2>
- <sect2 id="textsearch-manipulate-tsquery">
+ <sect2 id="textsearch-manipulate-tsquery" xreflabel="Manipulating Queries">
<title>Manipulating Queries</title>
<para>
@@ -1884,7 +1884,7 @@ SELECT ts_rewrite('a & b'::tsquery,
</sect2>
- <sect2 id="textsearch-update-triggers">
+ <sect2 id="textsearch-update-triggers" xreflabel="Triggers for Automatic Updates">
<title>Triggers for Automatic Updates</title>
<indexterm>
@@ -1997,7 +1997,7 @@ CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
</sect2>
- <sect2 id="textsearch-statistics">
+ <sect2 id="textsearch-statistics" xreflabel="Gathering Document Statistics">
<title>Gathering Document Statistics</title>
<indexterm>
@@ -2069,7 +2069,7 @@ LIMIT 10;
</sect1>
- <sect1 id="textsearch-parsers">
+ <sect1 id="textsearch-parsers" xreflabel="Parsers">
<title>Parsers</title>
<para>
@@ -2288,7 +2288,7 @@ SELECT alias, description, token FROM ts_debug('http://example.com/stuff/index.h
</sect1>
- <sect1 id="textsearch-dictionaries">
+ <sect1 id="textsearch-dictionaries" xreflabel="Dictionaries">
<title>Dictionaries</title>
<para>
@@ -2437,7 +2437,7 @@ ALTER TEXT SEARCH CONFIGURATION astro_en
letters, as is done by the <xref linkend="unaccent"/> module.
</para>
- <sect2 id="textsearch-stopwords">
+ <sect2 id="textsearch-stopwords" xreflabel="Stop Words">
<title>Stop Words</title>
<para>
@@ -2482,7 +2482,7 @@ SELECT ts_rank_cd (to_tsvector('english', 'list stop words'), to_tsquery('list &
</sect2>
- <sect2 id="textsearch-simple-dictionary">
+ <sect2 id="textsearch-simple-dictionary" xreflabel="Simple Dictionary">
<title>Simple Dictionary</title>
<para>
@@ -2586,7 +2586,7 @@ SELECT ts_lexize('public.simple_dict', 'The');
</sect2>
- <sect2 id="textsearch-synonym-dictionary">
+ <sect2 id="textsearch-synonym-dictionary" xreflabel="Synonym Dictionary">
<title>Synonym Dictionary</title>
<para>
@@ -2698,7 +2698,7 @@ mydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices'
</para>
</sect2>
- <sect2 id="textsearch-thesaurus">
+ <sect2 id="textsearch-thesaurus" xreflabel="Thesaurus Dictionary">
<title>Thesaurus Dictionary</title>
<para>
@@ -2780,7 +2780,7 @@ more sample word(s) : more indexed word(s)
</para>
</caution>
- <sect3 id="textsearch-thesaurus-config">
+ <sect3 id="textsearch-thesaurus-config" xreflabel="Thesaurus Configuration">
<title>Thesaurus Configuration</title>
<para>
@@ -2833,7 +2833,7 @@ ALTER TEXT SEARCH CONFIGURATION russian
</sect3>
- <sect3 id="textsearch-thesaurus-examples">
+ <sect3 id="textsearch-thesaurus-examples" xreflabel="Thesaurus Example">
<title>Thesaurus Example</title>
<para>
@@ -2912,7 +2912,7 @@ SELECT plainto_tsquery('supernova star');
</sect2>
- <sect2 id="textsearch-ispell-dictionary">
+ <sect2 id="textsearch-ispell-dictionary" xreflabel="Ispell Dictionary">
<title><application>Ispell</application> Dictionary</title>
<para>
@@ -3130,7 +3130,7 @@ largehearted
</sect2>
- <sect2 id="textsearch-snowball-dictionary">
+ <sect2 id="textsearch-snowball-dictionary" xreflabel="Snowball Dictionary">
<title><application>Snowball</application> Dictionary</title>
<para>
@@ -3170,7 +3170,7 @@ CREATE TEXT SEARCH DICTIONARY english_stem (
</sect1>
- <sect1 id="textsearch-configuration">
+ <sect1 id="textsearch-configuration" xreflabel="Configuration Example">
<title>Configuration Example</title>
<para>
@@ -3293,7 +3293,7 @@ SHOW default_text_search_config;
</sect1>
- <sect1 id="textsearch-debugging">
+ <sect1 id="textsearch-debugging" xreflabel="Testing and Debugging Text Search">
<title>Testing and Debugging Text Search</title>
<para>
@@ -3303,7 +3303,7 @@ SHOW default_text_search_config;
test a complete configuration, or test parsers and dictionaries separately.
</para>
- <sect2 id="textsearch-configuration-testing">
+ <sect2 id="textsearch-configuration-testing" xreflabel="Configuration Testing">
<title>Configuration Testing</title>
<para>
@@ -3487,7 +3487,7 @@ FROM ts_debug('public.english', 'The Brightest supernovaes');
</sect2>
- <sect2 id="textsearch-parser-testing">
+ <sect2 id="textsearch-parser-testing" xreflabel="Parser Testing">
<title>Parser Testing</title>
<para>
@@ -3576,7 +3576,7 @@ SELECT * FROM ts_token_type('default');
</sect2>
- <sect2 id="textsearch-dictionary-testing">
+ <sect2 id="textsearch-dictionary-testing" xreflabel="Dictionary Testing">
<title>Dictionary Testing</title>
<para>
@@ -3647,7 +3647,7 @@ SELECT plainto_tsquery('supernovae stars');
</sect1>
- <sect1 id="textsearch-indexes">
+ <sect1 id="textsearch-indexes" xreflabel="Preferred Index Types for Text Search">
<title>Preferred Index Types for Text Search</title>
<indexterm zone="textsearch-indexes">
@@ -3780,7 +3780,7 @@ SELECT plainto_tsquery('supernovae stars');
</sect1>
- <sect1 id="textsearch-psql">
+ <sect1 id="textsearch-psql" xreflabel="psql Support">
<title><application>psql</application> Support</title>
<para>
@@ -3983,7 +3983,7 @@ Parser: "pg_catalog.default"
</sect1>
- <sect1 id="textsearch-limitations">
+ <sect1 id="textsearch-limitations" xreflabel="Limitations">
<title>Limitations</title>
<para>
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index 0062f1a3fd1..140cb334884 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -27,7 +27,7 @@
plain SQL function language.
</para>
- <sect1 id="trigger-definition">
+ <sect1 id="trigger-definition" xreflabel="Overview of Trigger Behavior">
<title>Overview of Trigger Behavior</title>
<para>
@@ -422,7 +422,7 @@
</sect1>
- <sect1 id="trigger-datachanges">
+ <sect1 id="trigger-datachanges" xreflabel="Visibility of Data Changes">
<title>Visibility of Data Changes</title>
<para>
@@ -498,7 +498,7 @@
</para>
</sect1>
- <sect1 id="trigger-interface">
+ <sect1 id="trigger-interface" xreflabel="Writing Trigger Functions in C">
<title>Writing Trigger Functions in C</title>
<indexterm zone="trigger-interface">
@@ -850,7 +850,7 @@ typedef struct Trigger
</para>
</sect1>
- <sect1 id="trigger-example">
+ <sect1 id="trigger-example" xreflabel="A Complete Trigger Example">
<title>A Complete Trigger Example</title>
<para>
diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml
index e3fb4d15dd5..daff9cd2f4a 100644
--- a/doc/src/sgml/tsm-system-rows.sgml
+++ b/doc/src/sgml/tsm-system-rows.sgml
@@ -40,7 +40,7 @@
on the current database.
</para>
- <sect2 id="tsm-system-rows-examples">
+ <sect2 id="tsm-system-rows-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml
index 05c6be0caca..3dfa3e2001f 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -42,7 +42,7 @@
on the current database.
</para>
- <sect2 id="tsm-system-time-examples">
+ <sect2 id="tsm-system-time-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/typeconv.sgml b/doc/src/sgml/typeconv.sgml
index 96aa02e4fab..94b8857e5db 100644
--- a/doc/src/sgml/typeconv.sgml
+++ b/doc/src/sgml/typeconv.sgml
@@ -31,7 +31,7 @@ for more information on specific data types and allowed functions and
operators.
</para>
-<sect1 id="typeconv-overview">
+<sect1 id="typeconv-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -201,7 +201,7 @@ should use this new function and no longer do implicit conversion to use the old
</sect1>
-<sect1 id="typeconv-oper">
+<sect1 id="typeconv-oper" xreflabel="Operators">
<title>Operators</title>
<indexterm zone="typeconv-oper">
@@ -555,7 +555,7 @@ usable in all the same cases as a similarly-named operator on the base type.
</sect1>
-<sect1 id="typeconv-func">
+<sect1 id="typeconv-func" xreflabel="Functions">
<title>Functions</title>
<indexterm zone="typeconv-func">
@@ -920,7 +920,7 @@ SELECT substr(CAST (1234 AS text), 3);
</sect1>
-<sect1 id="typeconv-query">
+<sect1 id="typeconv-query" xreflabel="Value Storage">
<title>Value Storage</title>
<para>
@@ -1004,7 +1004,7 @@ padding spaces.
</example>
</sect1>
-<sect1 id="typeconv-union-case">
+<sect1 id="typeconv-union-case" xreflabel="UNION, CASE, and Related Constructs">
<title><literal>UNION</literal>, <literal>CASE</literal>, and Related Constructs</title>
<indexterm zone="typeconv-union-case">
@@ -1212,7 +1212,7 @@ section consider all of their inputs in one resolution step.
</example>
</sect1>
-<sect1 id="typeconv-select">
+<sect1 id="typeconv-select" xreflabel="SELECT Output Columns">
<title><literal>SELECT</literal> Output Columns</title>
<indexterm zone="typeconv-select">
diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml
index 744821ca997..ea275a98677 100644
--- a/doc/src/sgml/unaccent.sgml
+++ b/doc/src/sgml/unaccent.sgml
@@ -27,7 +27,7 @@
on the current database.
</para>
- <sect2 id="unaccent-configuration">
+ <sect2 id="unaccent-configuration" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -123,7 +123,7 @@
</para>
</sect2>
- <sect2 id="unaccent-usage">
+ <sect2 id="unaccent-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -181,7 +181,7 @@ mydb=# SELECT ts_headline('fr', 'Hôtel de la Mer', to_tsquery('fr', 'Hotel
</para>
</sect2>
- <sect2 id="unaccent-functions">
+ <sect2 id="unaccent-functions" xreflabel="Functions">
<title>Functions</title>
<para>
diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml
index ed18704a9c2..b50b89bbf8e 100644
--- a/doc/src/sgml/user-manag.sgml
+++ b/doc/src/sgml/user-manag.sgml
@@ -27,7 +27,7 @@
database objects can be found in <xref linkend="ddl-priv"/>.
</para>
- <sect1 id="database-roles">
+ <sect1 id="database-roles" xreflabel="Database Roles">
<title>Database Roles</title>
<indexterm zone="database-roles">
@@ -140,7 +140,7 @@ SELECT rolname FROM pg_roles WHERE rolcanlogin;
</para>
</sect1>
- <sect1 id="role-attributes">
+ <sect1 id="role-attributes" xreflabel="Role Attributes">
<title>Role Attributes</title>
<para>
@@ -359,7 +359,7 @@ ALTER ROLE myname SET enable_indexscan TO off;
</para>
</sect1>
- <sect1 id="role-membership">
+ <sect1 id="role-membership" xreflabel="Role Membership">
<title>Role Membership</title>
<indexterm zone="role-membership">
@@ -506,7 +506,7 @@ DROP ROLE <replaceable>name</replaceable>;
</para>
</sect1>
- <sect1 id="role-removal">
+ <sect1 id="role-removal" xreflabel="Dropping Roles">
<title>Dropping Roles</title>
<para>
@@ -577,7 +577,7 @@ DROP ROLE doomed_role;
</para>
</sect1>
- <sect1 id="predefined-roles">
+ <sect1 id="predefined-roles" xreflabel="Predefined Roles">
<title>Predefined Roles</title>
<indexterm zone="predefined-roles">
@@ -800,7 +800,7 @@ GRANT pg_signal_backend TO admin_user;
</sect1>
- <sect1 id="perm-functions">
+ <sect1 id="perm-functions" xreflabel="Function Security">
<title>Function Security</title>
<para>
diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml
index acd20a51f01..3026b4b6684 100644
--- a/doc/src/sgml/uuid-ossp.sgml
+++ b/doc/src/sgml/uuid-ossp.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="uuid-ossp-functions-sect">
+ <sect2 id="uuid-ossp-functions-sect" xreflabel="uuid-ossp Functions">
<title><literal>uuid-ossp</literal> Functions</title>
<para>
@@ -205,7 +205,7 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');
</table>
</sect2>
- <sect2 id="uuid-ossp-building">
+ <sect2 id="uuid-ossp-building" xreflabel="Building uuid-ossp">
<title>Building <filename>uuid-ossp</filename></title>
<para>
@@ -230,7 +230,7 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');
</para>
</sect2>
- <sect2 id="uuid-ossp-author">
+ <sect2 id="uuid-ossp-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index f3b86b26be9..2f0f0595e1f 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -9,7 +9,7 @@
Write-Ahead Log.
</para>
- <sect1 id="wal-reliability">
+ <sect1 id="wal-reliability" xreflabel="Reliability">
<title>Reliability</title>
<para>
@@ -229,7 +229,7 @@
</para>
</sect1>
- <sect1 id="checksums">
+ <sect1 id="checksums" xreflabel="Data Checksums">
<title>Data Checksums</title>
<indexterm>
<primary>checksums</primary>
@@ -264,7 +264,7 @@
configuration parameter <xref linkend="guc-ignore-checksum-failure" />.
</para>
- <sect2 id="checksums-offline-enable-disable">
+ <sect2 id="checksums-offline-enable-disable" xreflabel="Off-line Enabling of Checksums">
<title>Off-line Enabling of Checksums</title>
<para>
@@ -276,7 +276,7 @@
</sect2>
</sect1>
- <sect1 id="wal-intro">
+ <sect1 id="wal-intro" xreflabel="Write-Ahead Logging (WAL)">
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
<indexterm zone="wal">
@@ -347,7 +347,7 @@
</para>
</sect1>
- <sect1 id="wal-async-commit">
+ <sect1 id="wal-async-commit" xreflabel="Asynchronous Commit">
<title>Asynchronous Commit</title>
<indexterm>
@@ -479,7 +479,7 @@
</sect1>
- <sect1 id="wal-configuration">
+ <sect1 id="wal-configuration" xreflabel="WAL Configuration">
<title><acronym>WAL</acronym> Configuration</title>
<para>
@@ -849,7 +849,7 @@
</para>
</sect1>
- <sect1 id="wal-internals">
+ <sect1 id="wal-internals" xreflabel="WAL Internals">
<title>WAL Internals</title>
<indexterm zone="wal-internals">
diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml
index bdad8d3dc2b..0a5c51bdbf0 100644
--- a/doc/src/sgml/xaggr.sgml
+++ b/doc/src/sgml/xaggr.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xaggr.sgml -->
- <sect1 id="xaggr">
+ <sect1 id="xaggr" xreflabel="User-Defined Aggregates">
<title>User-Defined Aggregates</title>
<indexterm zone="xaggr">
@@ -145,7 +145,7 @@ CREATE AGGREGATE avg (float8)
command.
</para>
- <sect2 id="xaggr-moving-aggregates">
+ <sect2 id="xaggr-moving-aggregates" xreflabel="Moving-Aggregate Mode">
<title>Moving-Aggregate Mode</title>
<indexterm>
@@ -273,7 +273,7 @@ FROM (VALUES (1, 1.0e20::float8),
</sect2>
- <sect2 id="xaggr-polymorphic-aggregates">
+ <sect2 id="xaggr-polymorphic-aggregates" xreflabel="Polymorphic and Variadic Aggregates">
<title>Polymorphic and Variadic Aggregates</title>
<indexterm>
@@ -418,7 +418,7 @@ SELECT myaggregate(a, b, c ORDER BY a) FROM ...
</sect2>
- <sect2 id="xaggr-ordered-set-aggregates">
+ <sect2 id="xaggr-ordered-set-aggregates" xreflabel="Ordered-Set Aggregates">
<title>Ordered-Set Aggregates</title>
<indexterm>
@@ -518,7 +518,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
</sect2>
- <sect2 id="xaggr-partial-aggregates">
+ <sect2 id="xaggr-partial-aggregates" xreflabel="Partial Aggregation">
<title>Partial Aggregation</title>
<indexterm>
@@ -614,7 +614,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
</sect2>
- <sect2 id="xaggr-support-functions">
+ <sect2 id="xaggr-support-functions" xreflabel="Support Functions for Aggregates">
<title>Support Functions for Aggregates</title>
<indexterm>
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index e9288bd6b5e..c2b888ec824 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xfunc.sgml -->
- <sect1 id="xfunc">
+ <sect1 id="xfunc" xreflabel="User-Defined Functions">
<title>User-Defined Functions</title>
<indexterm zone="xfunc">
@@ -73,7 +73,7 @@
</para>
</sect1>
- <sect1 id="xproc">
+ <sect1 id="xproc" xreflabel="User-Defined Procedures">
<title>User-Defined Procedures</title>
<indexterm zone="xproc">
@@ -143,7 +143,7 @@
</para>
</sect1>
- <sect1 id="xfunc-sql">
+ <sect1 id="xfunc-sql" xreflabel="Query Language (SQL) Functions">
<title>Query Language (<acronym>SQL</acronym>) Functions</title>
<indexterm zone="xfunc-sql">
@@ -1508,7 +1508,7 @@ $$ LANGUAGE SQL;
</sect2>
</sect1>
- <sect1 id="xfunc-overload">
+ <sect1 id="xfunc-overload" xreflabel="Function Overloading">
<title>Function Overloading</title>
<indexterm zone="xfunc-overload">
@@ -1592,7 +1592,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</para>
</sect1>
- <sect1 id="xfunc-volatility">
+ <sect1 id="xfunc-volatility" xreflabel="Function Volatility Categories">
<title>Function Volatility Categories</title>
<indexterm zone="xfunc-volatility">
@@ -1751,7 +1751,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</note>
</sect1>
- <sect1 id="xfunc-pl">
+ <sect1 id="xfunc-pl" xreflabel="Procedural Language Functions">
<title>Procedural Language Functions</title>
<para>
@@ -1767,7 +1767,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</para>
</sect1>
- <sect1 id="xfunc-internal">
+ <sect1 id="xfunc-internal" xreflabel="Internal Functions">
<title>Internal Functions</title>
<indexterm zone="xfunc-internal"><primary>function</primary><secondary>internal</secondary></indexterm>
@@ -1810,7 +1810,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
</note>
</sect1>
- <sect1 id="xfunc-c">
+ <sect1 id="xfunc-c" xreflabel="C-Language Functions">
<title>C-Language Functions</title>
<indexterm zone="xfunc-c">
@@ -1838,7 +1838,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
call for the function, as illustrated below.
</para>
- <sect2 id="xfunc-c-dynload">
+ <sect2 id="xfunc-c-dynload" xreflabel="Dynamic Loading">
<title>Dynamic Loading</title>
<indexterm zone="xfunc-c-dynload">
@@ -4077,7 +4077,7 @@ extern PgStat_Kind pgstat_register_kind(PgStat_Kind kind,
</sect1>
- <sect1 id="xfunc-optimization">
+ <sect1 id="xfunc-optimization" xreflabel="Function Optimization Information">
<title>Function Optimization Information</title>
<indexterm zone="xfunc-optimization">
diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml
index 3d315df2f98..49ff5ca4da6 100644
--- a/doc/src/sgml/xindex.sgml
+++ b/doc/src/sgml/xindex.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xindex.sgml -->
-<sect1 id="xindex">
+<sect1 id="xindex" xreflabel="Interfacing Extensions to Indexes">
<title>Interfacing Extensions to Indexes</title>
<indexterm zone="xindex">
@@ -25,7 +25,7 @@
so we'll focus on that case first and then return to operator families.
</para>
- <sect2 id="xindex-opclass">
+ <sect2 id="xindex-opclass" xreflabel="Index Methods and Operator Classes">
<title>Index Methods and Operator Classes</title>
<para>
@@ -75,7 +75,7 @@
</para>
</sect2>
- <sect2 id="xindex-strategies">
+ <sect2 id="xindex-strategies" xreflabel="Index Method Strategies">
<title>Index Method Strategies</title>
<para>
@@ -373,7 +373,7 @@
</para>
</sect2>
- <sect2 id="xindex-support">
+ <sect2 id="xindex-support" xreflabel="Index Method Support Routines">
<title>Index Method Support Routines</title>
<para>
@@ -811,7 +811,7 @@
</para>
</sect2>
- <sect2 id="xindex-example">
+ <sect2 id="xindex-example" xreflabel="An Example">
<title>An Example</title>
<para>
@@ -997,7 +997,7 @@ CREATE OPERATOR CLASS complex_abs_ops
</para>
</sect2>
- <sect2 id="xindex-opfamily">
+ <sect2 id="xindex-opfamily" xreflabel="Operator Classes and Operator Families">
<title>Operator Classes and Operator Families</title>
<para>
@@ -1224,7 +1224,7 @@ ALTER OPERATOR FAMILY integer_ops USING btree ADD
</note>
</sect2>
- <sect2 id="xindex-opclass-dependencies">
+ <sect2 id="xindex-opclass-dependencies" xreflabel="System Dependencies on Operator Classes">
<title>System Dependencies on Operator Classes</title>
<indexterm>
@@ -1332,7 +1332,7 @@ SELECT sum(x) OVER (ORDER BY x RANGE BETWEEN 5 PRECEDING AND 10 FOLLOWING)
</para>
</sect2>
- <sect2 id="xindex-ordering-ops">
+ <sect2 id="xindex-ordering-ops" xreflabel="Ordering Operators">
<title>Ordering Operators</title>
<para>
@@ -1388,7 +1388,7 @@ OPERATOR 15 <-> (point, point) FOR ORDER BY float_ops
</para>
</sect2>
- <sect2 id="xindex-opclass-features">
+ <sect2 id="xindex-opclass-features" xreflabel="Special Features of Operator Classes">
<title>Special Features of Operator Classes</title>
<para>
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
index 9fd613f9675..79a1b72d38e 100644
--- a/doc/src/sgml/xml2.sgml
+++ b/doc/src/sgml/xml2.sgml
@@ -12,7 +12,7 @@
XSLT functionality.
</para>
- <sect2 id="xml2-deprecation">
+ <sect2 id="xml2-deprecation" xreflabel="Deprecation Notice">
<title>Deprecation Notice</title>
<para>
@@ -30,7 +30,7 @@
</para>
</sect2>
- <sect2 id="xml2-functions">
+ <sect2 id="xml2-functions" xreflabel="Description of Functions">
<title>Description of Functions</title>
<para>
@@ -168,7 +168,7 @@
</table>
</sect2>
- <sect2 id="xml2-xpath-table">
+ <sect2 id="xml2-xpath-table" xreflabel="xpath_table">
<title><literal>xpath_table</literal></title>
<indexterm>
@@ -318,7 +318,7 @@ WHERE t.author_id = p.person_id;
of this in a view for convenience.
</para>
- <sect3 id="xml2-xpath-table-multivalued-results">
+ <sect3 id="xml2-xpath-table-multivalued-results" xreflabel="Multivalued Results">
<title>Multivalued Results</title>
<para>
@@ -393,14 +393,14 @@ ORDER BY doc_num, line_num;
</sect3>
</sect2>
- <sect2 id="xml2-xslt">
+ <sect2 id="xml2-xslt" xreflabel="XSLT Functions">
<title>XSLT Functions</title>
<para>
The following functions are available if libxslt is installed:
</para>
- <sect3 id="xml2-xslt-xslt-process">
+ <sect3 id="xml2-xslt-xslt-process" xreflabel="xslt_process">
<title><literal>xslt_process</literal></title>
<indexterm>
@@ -427,7 +427,7 @@ xslt_process(text document, text stylesheet, text paramlist) returns text
</sect3>
</sect2>
- <sect2 id="xml2-author">
+ <sect2 id="xml2-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/xoper.sgml b/doc/src/sgml/xoper.sgml
index 853b07a9f14..dd9389dff91 100644
--- a/doc/src/sgml/xoper.sgml
+++ b/doc/src/sgml/xoper.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xoper.sgml -->
- <sect1 id="xoper">
+ <sect1 id="xoper" xreflabel="User-Defined Operators">
<title>User-Defined Operators</title>
<indexterm zone="xoper">
@@ -75,7 +75,7 @@ SELECT (a + b) AS c FROM test_complex;
</para>
</sect1>
- <sect1 id="xoper-optimization">
+ <sect1 id="xoper-optimization" xreflabel="Operator Optimization Information">
<title>Operator Optimization Information</title>
<indexterm zone="xoper-optimization">
@@ -181,7 +181,7 @@ SELECT (a + b) AS c FROM test_complex;
</para>
</sect2>
- <sect2 id="xoper-restrict">
+ <sect2 id="xoper-restrict" xreflabel="RESTRICT">
<title><literal>RESTRICT</literal></title>
<para>
diff --git a/doc/src/sgml/xplang.sgml b/doc/src/sgml/xplang.sgml
index 31d403c4806..e5ba26c5521 100644
--- a/doc/src/sgml/xplang.sgml
+++ b/doc/src/sgml/xplang.sgml
@@ -38,7 +38,7 @@
language are covered in <xref linkend="plhandler"/>.
</para>
- <sect1 id="xplang-install">
+ <sect1 id="xplang-install" xreflabel="Installing Procedural Languages">
<title>Installing Procedural Languages</title>
<para>
diff --git a/doc/src/sgml/xtypes.sgml b/doc/src/sgml/xtypes.sgml
index df56d1c3ace..afee2875f50 100644
--- a/doc/src/sgml/xtypes.sgml
+++ b/doc/src/sgml/xtypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xtypes.sgml -->
- <sect1 id="xtypes">
+ <sect1 id="xtypes" xreflabel="User-Defined Types">
<title>User-Defined Types</title>
<indexterm zone="xtypes">
@@ -249,7 +249,7 @@ CREATE TYPE complex (
<xref linkend="sql-createtype"/> command.
</para>
- <sect2 id="xtypes-toast">
+ <sect2 id="xtypes-toast" xreflabel="TOAST Considerations">
<title>TOAST Considerations</title>
<indexterm>
<primary>TOAST</primary>
--
2.51.2.windows.1
On Mon, 2025-12-22 at 10:28 -0300, Marcos Pegoraro wrote:
First version of all files replaced.
I used a regex to get title tag which was on following line and added it as xreflabel of of that sec1.Simple one.
<sect1 id="parser-stage" xreflabel="The Parser Stage">
<title>The Parser Stage</title>Removed <productname>, <literal>, <acronym> tags
<sect1 id="rule-system" xreflabel="The PostgreSQL Rule System">
<title>The <productname>PostgreSQL</productname> Rule System</title>Maybe some of them are huge, like "Continuous Archiving and Point-in-Time Recovery (PITR)" but I didn't change any of them.
This version I did not read all places where this changes affect, so obviously will have a lot of places to be rewritten.
The changes I looked at look good to me, but I didn't scrutinize everything.
Yours,
Laurenz Albe
Em seg., 22 de dez. de 2025 às 14:44, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
The changes I looked at look good to me, but I didn't scrutinize
everything.
Thanks for reviewing it.
There are 1,150 affected html files and 1,700 changes, so are a lot of
places to see if something need some change
regards
Marcos
Em seg., 22 de dez. de 2025 às 16:08, Marcos Pegoraro <marcos@f10.com.br>
escreveu:
There are a few more files that my regular expression couldn't find
initially, now I think they've all been affected.
Even many that don't have any links pointing to them also have the tag, so
that when someone links to them, they automatically display the Title and
not the section number.
If everything is okay, we can start rewriting all places that sounds
strange in the HTML file.
But this is a much slower process, as it requires reading all the affected
pages.
regards
Marcos
Attachments:
V2-0001 Get rid of section n_n_n on DOCs.diff.diffapplication/octet-stream; name="V2-0001 Get rid of section n_n_n on DOCs.diff.diff"Download
From 00fe4d4aa1876066e73254773153366a5bbdba9f Mon Sep 17 00:00:00 2001
From: PegoraroF10 <marcos@f10.com.br>
Date: Tue, 23 Dec 2025 11:25:34 -0300
Subject: [PATCH] Copied content of tag title to xreflabel tag, so all section
n.n.n will be replaced by these titles
---
doc/src/sgml/advanced.sgml | 14 +--
doc/src/sgml/amcheck.sgml | 8 +-
doc/src/sgml/arch-dev.sgml | 18 +--
doc/src/sgml/archive-modules.sgml | 12 +-
doc/src/sgml/array.sgml | 14 +--
doc/src/sgml/auth-delay.sgml | 4 +-
doc/src/sgml/auto-explain.sgml | 6 +-
doc/src/sgml/backup-manifest.sgml | 6 +-
doc/src/sgml/backup.sgml | 36 +++---
doc/src/sgml/basebackup-to-shell.sgml | 4 +-
doc/src/sgml/basic-archive.sgml | 6 +-
doc/src/sgml/bki.sgml | 22 ++--
doc/src/sgml/bloom.sgml | 10 +-
doc/src/sgml/brin.sgml | 12 +-
doc/src/sgml/btree-gin.sgml | 4 +-
doc/src/sgml/btree-gist.sgml | 4 +-
doc/src/sgml/btree.sgml | 16 +--
doc/src/sgml/catalogs.sgml | 130 +++++++++++-----------
doc/src/sgml/charset.sgml | 70 ++++++------
doc/src/sgml/citext.sgml | 10 +-
doc/src/sgml/client-auth.sgml | 32 +++---
doc/src/sgml/color.sgml | 4 +-
doc/src/sgml/config.sgml | 132 +++++++++++-----------
doc/src/sgml/contrib-spi.sgml | 8 +-
doc/src/sgml/contrib.sgml | 4 +-
doc/src/sgml/cube.sgml | 12 +-
doc/src/sgml/custom-rmgr.sgml | 2 +-
doc/src/sgml/custom-scan.sgml | 12 +-
doc/src/sgml/datatype.sgml | 106 +++++++++---------
doc/src/sgml/datetime.sgml | 14 +--
doc/src/sgml/ddl.sgml | 108 +++++++++---------
doc/src/sgml/dfunc.sgml | 2 +-
doc/src/sgml/dict-int.sgml | 4 +-
doc/src/sgml/dict-xsyn.sgml | 4 +-
doc/src/sgml/dml.sgml | 8 +-
doc/src/sgml/docguide.sgml | 34 +++---
doc/src/sgml/earthdistance.sgml | 4 +-
doc/src/sgml/ecpg.sgml | 154 +++++++++++++-------------
doc/src/sgml/event-trigger.sgml | 16 +--
doc/src/sgml/extend.sgml | 36 +++---
doc/src/sgml/external-projects.sgml | 8 +-
doc/src/sgml/fdwhandler.sgml | 34 +++---
doc/src/sgml/features.sgml | 16 +--
doc/src/sgml/fuzzystrmatch.sgml | 10 +-
doc/src/sgml/generic-wal.sgml | 2 +-
doc/src/sgml/geqo.sgml | 12 +-
doc/src/sgml/gin.sgml | 20 ++--
doc/src/sgml/gist.sgml | 14 +--
doc/src/sgml/hash.sgml | 6 +-
doc/src/sgml/high-availability.sgml | 52 ++++-----
doc/src/sgml/history.sgml | 8 +-
doc/src/sgml/hstore.sgml | 16 +--
doc/src/sgml/indexam.sgml | 12 +-
doc/src/sgml/indices.sgml | 36 +++---
doc/src/sgml/info.sgml | 2 +-
doc/src/sgml/information_schema.sgml | 132 +++++++++++-----------
doc/src/sgml/installation.sgml | 82 +++++++-------
doc/src/sgml/intagg.sgml | 4 +-
doc/src/sgml/intarray.sgml | 10 +-
doc/src/sgml/intro.sgml | 2 +-
doc/src/sgml/isn.sgml | 14 +--
doc/src/sgml/jit.sgml | 18 +--
doc/src/sgml/json.sgml | 16 +--
doc/src/sgml/libpq.sgml | 112 +++++++++----------
doc/src/sgml/lo.sgml | 8 +-
doc/src/sgml/lobj.sgml | 32 +++---
doc/src/sgml/logical-replication.sgml | 78 ++++++-------
doc/src/sgml/logicaldecoding.sgml | 92 +++++++--------
doc/src/sgml/ltree.sgml | 12 +-
doc/src/sgml/maintenance.sgml | 20 ++--
doc/src/sgml/manage-ag.sgml | 12 +-
doc/src/sgml/monitoring.sgml | 88 +++++++--------
doc/src/sgml/mvcc.sgml | 34 +++---
doc/src/sgml/nls.sgml | 16 +--
doc/src/sgml/notation.sgml | 2 +-
doc/src/sgml/oauth-validators.sgml | 18 +--
doc/src/sgml/pageinspect.sgml | 14 +--
doc/src/sgml/parallel.sgml | 20 ++--
doc/src/sgml/passwordcheck.sgml | 2 +-
doc/src/sgml/perform.sgml | 46 ++++----
doc/src/sgml/pgbuffercache.sgml | 26 ++---
doc/src/sgml/pgcrypto.sgml | 74 ++++++-------
doc/src/sgml/pgfreespacemap.sgml | 6 +-
doc/src/sgml/pglogicalinspect.sgml | 4 +-
doc/src/sgml/pgoverexplain.sgml | 6 +-
doc/src/sgml/pgprewarm.sgml | 6 +-
doc/src/sgml/pgrowlocks.sgml | 6 +-
doc/src/sgml/pgstatstatements.sgml | 12 +-
doc/src/sgml/pgstattuple.sgml | 4 +-
doc/src/sgml/pgsurgery.sgml | 4 +-
doc/src/sgml/pgtrgm.sgml | 14 +--
doc/src/sgml/pgvisibility.sgml | 4 +-
doc/src/sgml/pgwalinspect.sgml | 4 +-
doc/src/sgml/planstats.sgml | 12 +-
doc/src/sgml/plperl.sgml | 24 ++--
doc/src/sgml/plpgsql.sgml | 150 ++++++++++++-------------
doc/src/sgml/plpython.sgml | 40 +++----
doc/src/sgml/pltcl.sgml | 24 ++--
doc/src/sgml/postgres-fdw.sgml | 42 +++----
doc/src/sgml/problems.sgml | 8 +-
doc/src/sgml/protocol.sgml | 62 +++++------
doc/src/sgml/queries.sgml | 54 ++++-----
doc/src/sgml/query.sgml | 18 +--
doc/src/sgml/rangetypes.sgml | 22 ++--
doc/src/sgml/regress.sgml | 46 ++++----
doc/src/sgml/release-19.sgml | 2 +-
doc/src/sgml/release.sgml | 2 +-
doc/src/sgml/rowtypes.sgml | 14 +--
doc/src/sgml/rules.sgml | 28 ++---
doc/src/sgml/runtime.sgml | 62 +++++------
doc/src/sgml/seg.sgml | 12 +-
doc/src/sgml/sepgsql.sgml | 30 ++---
doc/src/sgml/sourcerepo.sgml | 2 +-
doc/src/sgml/sources.sgml | 8 +-
doc/src/sgml/spgist.sgml | 18 +--
doc/src/sgml/spi.sgml | 12 +-
doc/src/sgml/sslinfo.sgml | 4 +-
doc/src/sgml/start.sgml | 8 +-
doc/src/sgml/storage.sgml | 20 ++--
doc/src/sgml/syntax.sgml | 66 +++++------
doc/src/sgml/system-views.sgml | 80 ++++++-------
doc/src/sgml/tablefunc.sgml | 14 +--
doc/src/sgml/tablesample-method.sgml | 2 +-
doc/src/sgml/textsearch.sgml | 72 ++++++------
doc/src/sgml/trigger.sgml | 8 +-
doc/src/sgml/tsm-system-rows.sgml | 2 +-
doc/src/sgml/tsm-system-time.sgml | 2 +-
doc/src/sgml/typeconv.sgml | 12 +-
doc/src/sgml/unaccent.sgml | 6 +-
doc/src/sgml/user-manag.sgml | 12 +-
doc/src/sgml/uuid-ossp.sgml | 6 +-
doc/src/sgml/wal.sgml | 14 +--
doc/src/sgml/xact.sgml | 6 +-
doc/src/sgml/xaggr.sgml | 12 +-
doc/src/sgml/xfunc.sgml | 92 +++++++--------
doc/src/sgml/xindex.sgml | 18 +--
doc/src/sgml/xml2.sgml | 14 +--
doc/src/sgml/xoper.sgml | 16 +--
doc/src/sgml/xplang.sgml | 2 +-
doc/src/sgml/xtypes.sgml | 4 +-
140 files changed, 1794 insertions(+), 1794 deletions(-)
diff --git a/doc/src/sgml/advanced.sgml b/doc/src/sgml/advanced.sgml
index 451bcb202ec..7dec52d4259 100644
--- a/doc/src/sgml/advanced.sgml
+++ b/doc/src/sgml/advanced.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-advanced">
<title>Advanced Features</title>
- <sect1 id="tutorial-advanced-intro">
+ <sect1 id="tutorial-advanced-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -29,7 +29,7 @@
</sect1>
- <sect1 id="tutorial-views">
+ <sect1 id="tutorial-views" xreflabel="Views">
<title>Views</title>
<indexterm zone="tutorial-views">
@@ -68,7 +68,7 @@ SELECT * FROM myview;
</sect1>
- <sect1 id="tutorial-fk">
+ <sect1 id="tutorial-fk" xreflabel="Foreign Keys">
<title>Foreign Keys</title>
<indexterm zone="tutorial-fk">
@@ -137,7 +137,7 @@ DETAIL: Key (city)=(Berkeley) is not present in table "cities".
</sect1>
- <sect1 id="tutorial-transactions">
+ <sect1 id="tutorial-transactions" xreflabel="Transactions">
<title>Transactions</title>
<indexterm zone="tutorial-transactions">
@@ -317,7 +317,7 @@ COMMIT;
</sect1>
- <sect1 id="tutorial-window">
+ <sect1 id="tutorial-window" xreflabel="Window Functions">
<title>Window Functions</title>
<indexterm zone="tutorial-window">
@@ -565,7 +565,7 @@ SELECT sum(salary) OVER w, avg(salary) OVER w
</sect1>
- <sect1 id="tutorial-inheritance">
+ <sect1 id="tutorial-inheritance" xreflabel="Inheritance">
<title>Inheritance</title>
<indexterm zone="tutorial-inheritance">
@@ -703,7 +703,7 @@ SELECT name, elevation
</sect1>
- <sect1 id="tutorial-conclusion">
+ <sect1 id="tutorial-conclusion" xreflabel="Conclusion">
<title>Conclusion</title>
<para>
diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml
index 08006856579..38d48715973 100644
--- a/doc/src/sgml/amcheck.sgml
+++ b/doc/src/sgml/amcheck.sgml
@@ -55,7 +55,7 @@
able to infer something of the data itself from such messages.
</para>
- <sect2 id="amcheck-functions">
+ <sect2 id="amcheck-functions" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -375,7 +375,7 @@ SET client_min_messages = DEBUG1;
</variablelist>
</sect2>
- <sect2 id="amcheck-optional-heapallindexed-verification">
+ <sect2 id="amcheck-optional-heapallindexed-verification" xreflabel="Optional heapallindexed Verification">
<title>Optional <parameter>heapallindexed</parameter> Verification</title>
<para>
When the <parameter>heapallindexed</parameter> argument to B-Tree
@@ -416,7 +416,7 @@ SET client_min_messages = DEBUG1;
</sect2>
- <sect2 id="amcheck-using-amcheck-effectively">
+ <sect2 id="amcheck-using-amcheck-effectively" xreflabel="Using amcheck Effectively">
<title>Using <filename>amcheck</filename> Effectively</title>
<para>
@@ -564,7 +564,7 @@ SET client_min_messages = DEBUG1;
</para>
</sect2>
- <sect2 id="amcheck-repairing-corruption">
+ <sect2 id="amcheck-repairing-corruption" xreflabel="Repairing Corruption">
<title>Repairing Corruption</title>
<para>
No error concerning corruption raised by <filename>amcheck</filename> should
diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml
index 06b6e2a8493..0b1d91d96ac 100644
--- a/doc/src/sgml/arch-dev.sgml
+++ b/doc/src/sgml/arch-dev.sgml
@@ -23,7 +23,7 @@
at which the results are returned to the client.
</para>
- <sect1 id="query-path">
+ <sect1 id="query-path" xreflabel="The Path of a Query">
<title>The Path of a Query</title>
<para>
@@ -110,7 +110,7 @@
</para>
</sect1>
- <sect1 id="connect-estab">
+ <sect1 id="connect-estab" xreflabel="How Connections Are Established">
<title>How Connections Are Established</title>
<para>
@@ -154,7 +154,7 @@
</para>
</sect1>
- <sect1 id="parser-stage">
+ <sect1 id="parser-stage" xreflabel="The Parser Stage">
<title>The Parser Stage</title>
<para>
@@ -178,7 +178,7 @@
</itemizedlist>
</para>
- <sect2 id="parser-stage-parser">
+ <sect2 id="parser-stage-parser" xreflabel="Parser">
<title>Parser</title>
<para>
@@ -241,7 +241,7 @@
</sect2>
- <sect2 id="parser-stage-transformation-process">
+ <sect2 id="parser-stage-transformation-process" xreflabel="Transformation Process">
<title>Transformation Process</title>
<para>
@@ -283,7 +283,7 @@
</sect2>
</sect1>
- <sect1 id="rule-system">
+ <sect1 id="rule-system" xreflabel="The PostgreSQL Rule System">
<title>The <productname>PostgreSQL</productname> Rule System</title>
<para>
@@ -328,7 +328,7 @@
</sect1>
- <sect1 id="planner-optimizer">
+ <sect1 id="planner-optimizer" xreflabel="Planner/Optimizer">
<title>Planner/Optimizer</title>
<para>
@@ -365,7 +365,7 @@
and plans.
</para>
- <sect2 id="planner-optimizer-generating-possible-plans">
+ <sect2 id="planner-optimizer-generating-possible-plans" xreflabel="Generating Possible Plans">
<title>Generating Possible Plans</title>
<para>
@@ -477,7 +477,7 @@
</sect2>
</sect1>
- <sect1 id="executor">
+ <sect1 id="executor" xreflabel="Executor">
<title>Executor</title>
<para>
diff --git a/doc/src/sgml/archive-modules.sgml b/doc/src/sgml/archive-modules.sgml
index 10ec96eae96..70916c9b03d 100644
--- a/doc/src/sgml/archive-modules.sgml
+++ b/doc/src/sgml/archive-modules.sgml
@@ -36,7 +36,7 @@
example, which demonstrates some useful techniques.
</para>
- <sect1 id="archive-module-init">
+ <sect1 id="archive-module-init" xreflabel="Initialization Functions">
<title>Initialization Functions</title>
<indexterm zone="archive-module-init">
<primary>_PG_archive_module_init</primary>
@@ -70,14 +70,14 @@ typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void);
</para>
</sect1>
- <sect1 id="archive-module-callbacks">
+ <sect1 id="archive-module-callbacks" xreflabel="Archive Module Callbacks">
<title>Archive Module Callbacks</title>
<para>
The archive callbacks define the actual archiving behavior of the module.
The server will call them as required to process each individual WAL file.
</para>
- <sect2 id="archive-module-startup">
+ <sect2 id="archive-module-startup" xreflabel="Startup Callback">
<title>Startup Callback</title>
<para>
The <function>startup_cb</function> callback is called shortly after the
@@ -91,7 +91,7 @@ typedef void (*ArchiveStartupCB) (ArchiveModuleState *state);
</para>
</sect2>
- <sect2 id="archive-module-check">
+ <sect2 id="archive-module-check" xreflabel="Check Callback">
<title>Check Callback</title>
<para>
The <function>check_configured_cb</function> callback is called to determine
@@ -128,7 +128,7 @@ WARNING: archive_mode enabled, yet archiving is not configured
</note>
</sect2>
- <sect2 id="archive-module-archive">
+ <sect2 id="archive-module-archive" xreflabel="Archive Callback">
<title>Archive Callback</title>
<para>
The <function>archive_file_cb</function> callback is called to archive a
@@ -157,7 +157,7 @@ typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, cons
</note>
</sect2>
- <sect2 id="archive-module-shutdown">
+ <sect2 id="archive-module-shutdown" xreflabel="Shutdown Callback">
<title>Shutdown Callback</title>
<para>
The <function>shutdown_cb</function> callback is called when the archiver
diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml
index ce338c770c9..827b6804618 100644
--- a/doc/src/sgml/array.sgml
+++ b/doc/src/sgml/array.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/array.sgml -->
-<sect1 id="arrays">
+<sect1 id="arrays" xreflabel="Arrays">
<title>Arrays</title>
<indexterm>
@@ -14,7 +14,7 @@
or domain can be created.
</para>
- <sect2 id="arrays-declaration">
+ <sect2 id="arrays-declaration" xreflabel="Declaration of Array Types">
<title>Declaration of Array Types</title>
<indexterm>
@@ -84,7 +84,7 @@ CREATE TABLE tictactoe (
</para>
</sect2>
- <sect2 id="arrays-input">
+ <sect2 id="arrays-input" xreflabel="Array Value Input">
<title>Array Value Input</title>
<indexterm>
@@ -197,7 +197,7 @@ INSERT INTO sal_emp
</para>
</sect2>
- <sect2 id="arrays-accessing">
+ <sect2 id="arrays-accessing" xreflabel="Accessing Arrays">
<title>Accessing Arrays</title>
<indexterm>
@@ -377,7 +377,7 @@ SELECT cardinality(schedule) FROM sal_emp WHERE name = 'Carol';
</para>
</sect2>
- <sect2 id="arrays-modifying">
+ <sect2 id="arrays-modifying" xreflabel="Modifying Arrays">
<title>Modifying Arrays</title>
<indexterm>
@@ -595,7 +595,7 @@ SELECT array_append(ARRAY[1, 2], NULL); -- this might have been meant
</para>
</sect2>
- <sect2 id="arrays-searching">
+ <sect2 id="arrays-searching" xreflabel="Searching in Arrays">
<title>Searching in Arrays</title>
<indexterm>
@@ -694,7 +694,7 @@ SELECT array_positions(ARRAY[1, 4, 3, 1, 3, 4, 2, 1], 1);
</tip>
</sect2>
- <sect2 id="arrays-io">
+ <sect2 id="arrays-io" xreflabel="Array Input and Output Syntax">
<title>Array Input and Output Syntax</title>
<indexterm>
diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml
index 0571f2a99df..00aa16d8694 100644
--- a/doc/src/sgml/auth-delay.sgml
+++ b/doc/src/sgml/auth-delay.sgml
@@ -21,7 +21,7 @@
<xref linkend="guc-shared-preload-libraries"/> in <filename>postgresql.conf</filename>.
</para>
- <sect2 id="auth-delay-configuration-parameters">
+ <sect2 id="auth-delay-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -54,7 +54,7 @@ auth_delay.milliseconds = '500'
</programlisting>
</sect2>
- <sect2 id="auth-delay-author">
+ <sect2 id="auth-delay-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml
index 15c868021e6..97d17c28cbb 100644
--- a/doc/src/sgml/auto-explain.sgml
+++ b/doc/src/sgml/auto-explain.sgml
@@ -32,7 +32,7 @@ LOAD 'auto_explain';
that.
</para>
- <sect2 id="auto-explain-configuration-parameters">
+ <sect2 id="auto-explain-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<para>
@@ -316,7 +316,7 @@ auto_explain.log_min_duration = '3s'
</programlisting>
</sect2>
- <sect2 id="auto-explain-example">
+ <sect2 id="auto-explain-example" xreflabel="Example">
<title>Example</title>
<programlisting>
@@ -348,7 +348,7 @@ LOG: duration: 3.651 ms plan:
]]></screen>
</sect2>
- <sect2 id="auto-explain-author">
+ <sect2 id="auto-explain-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/backup-manifest.sgml b/doc/src/sgml/backup-manifest.sgml
index 594e216bcba..8f04b54334e 100644
--- a/doc/src/sgml/backup-manifest.sgml
+++ b/doc/src/sgml/backup-manifest.sgml
@@ -25,7 +25,7 @@
in this object are described in the next section.
</para>
- <sect1 id="backup-manifest-toplevel">
+ <sect1 id="backup-manifest-toplevel" xreflabel="Backup Manifest Top-level Object">
<title>Backup Manifest Top-level Object</title>
<para>
@@ -99,7 +99,7 @@
</variablelist>
</sect1>
- <sect1 id="backup-manifest-files">
+ <sect1 id="backup-manifest-files" xreflabel="Backup Manifest File Object">
<title>Backup Manifest File Object</title>
<para>
@@ -178,7 +178,7 @@
</variablelist>
</sect1>
- <sect1 id="backup-manifest-wal-ranges">
+ <sect1 id="backup-manifest-wal-ranges" xreflabel="Backup Manifest WAL Range Object">
<title>Backup Manifest WAL Range Object</title>
<para>
diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index 168444eccc5..0ca810ebfa0 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -24,7 +24,7 @@
in the following sections.
</para>
- <sect1 id="backup-dump">
+ <sect1 id="backup-dump" xreflabel="SQL Dump">
<title><acronym>SQL</acronym> Dump</title>
<para>
@@ -101,7 +101,7 @@ pg_dump <replaceable class="parameter">dbname</replaceable> > <replaceable cl
exclusive lock, such as most forms of <command>ALTER TABLE</command>.)
</para>
- <sect2 id="backup-dump-restore">
+ <sect2 id="backup-dump-restore" xreflabel="Restoring the Dump">
<title>Restoring the Dump</title>
<para>
@@ -194,7 +194,7 @@ pg_dump -h <replaceable>host1</replaceable> <replaceable>dbname</replaceable> |
</para>
</sect2>
- <sect2 id="backup-dump-all">
+ <sect2 id="backup-dump-all" xreflabel="Using pg_dumpall">
<title>Using <application>pg_dumpall</application></title>
<para>
@@ -238,7 +238,7 @@ psql -X -f <replaceable class="parameter">dumpfile</replaceable> postgres
</para>
</sect2>
- <sect2 id="backup-dump-large">
+ <sect2 id="backup-dump-large" xreflabel="Handling Large Databases">
<title>Handling Large Databases</title>
<para>
@@ -354,7 +354,7 @@ pg_dump -j <replaceable class="parameter">num</replaceable> -F d -f <replaceable
</sect2>
</sect1>
- <sect1 id="backup-file">
+ <sect1 id="backup-file" xreflabel="File System Level Backup">
<title>File System Level Backup</title>
<para>
@@ -470,7 +470,7 @@ tar -cf backup.tar /usr/local/pgsql/data
</para>
</sect1>
- <sect1 id="continuous-archiving">
+ <sect1 id="continuous-archiving" xreflabel="Continuous Archiving and Point-in-Time Recovery (PITR)">
<title>Continuous Archiving and Point-in-Time Recovery (PITR)</title>
<indexterm zone="backup">
@@ -569,7 +569,7 @@ tar -cf backup.tar /usr/local/pgsql/data
archiving WAL files.
</para>
- <sect2 id="backup-archiving-wal">
+ <sect2 id="backup-archiving-wal" xreflabel="Setting Up WAL Archiving">
<title>Setting Up WAL Archiving</title>
<para>
@@ -802,7 +802,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-base-backup">
+ <sect2 id="backup-base-backup" xreflabel="Making a Base Backup">
<title>Making a Base Backup</title>
<para>
@@ -863,7 +863,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-incremental-backup">
+ <sect2 id="backup-incremental-backup" xreflabel="Making an Incremental Backup">
<title>Making an Incremental Backup</title>
<para>
@@ -944,7 +944,7 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
</para>
</sect2>
- <sect2 id="backup-lowlevel-base-backup">
+ <sect2 id="backup-lowlevel-base-backup" xreflabel="Making a Base Backup Using the Low Level API">
<title>Making a Base Backup Using the Low Level API</title>
<para>
Instead of taking a full or incremental base backup using
@@ -1071,7 +1071,7 @@ SELECT * FROM pg_backup_stop(wait_for_archive => true);
</listitem>
</orderedlist>
</para>
- <sect3 id="backup-lowlevel-base-backup-data">
+ <sect3 id="backup-lowlevel-base-backup-data" xreflabel="Backing Up the Data Directory">
<title>Backing Up the Data Directory</title>
<para>
Some file system backup tools emit warnings or errors
@@ -1174,7 +1174,7 @@ SELECT * FROM pg_backup_stop(wait_for_archive => true);
</sect3>
</sect2>
- <sect2 id="backup-pitr-recovery">
+ <sect2 id="backup-pitr-recovery" xreflabel="Recovering Using a Continuous Archive Backup">
<title>Recovering Using a Continuous Archive Backup</title>
<para>
@@ -1379,7 +1379,7 @@ restore_command = 'cp "/mnt/server/archivedir/%f" "%p"'
</sect2>
- <sect2 id="backup-timelines">
+ <sect2 id="backup-timelines" xreflabel="Timelines">
<title>Timelines</title>
<indexterm zone="backup">
@@ -1457,14 +1457,14 @@ restore_command = 'cp "/mnt/server/archivedir/%f" "%p"'
</para>
</sect2>
- <sect2 id="backup-tips">
+ <sect2 id="backup-tips" xreflabel="Tips and Examples">
<title>Tips and Examples</title>
<para>
Some tips for configuring continuous archiving are given here.
</para>
- <sect3 id="backup-standalone">
+ <sect3 id="backup-standalone" xreflabel="Standalone Hot Backups">
<title>Standalone Hot Backups</title>
<para>
@@ -1486,7 +1486,7 @@ restore_command = 'cp "/mnt/server/archivedir/%f" "%p"'
</para>
</sect3>
- <sect3 id="compressed-archive-logs">
+ <sect3 id="compressed-archive-logs" xreflabel="Compressed Archive Logs">
<title>Compressed Archive Logs</title>
<para>
@@ -1502,7 +1502,7 @@ restore_command = 'gunzip < "/mnt/server/archivedir/%f.gz" > "%p"'
</para>
</sect3>
- <sect3 id="backup-scripts">
+ <sect3 id="backup-scripts" xreflabel="archive_command Scripts">
<title><varname>archive_command</varname> Scripts</title>
<para>
@@ -1558,7 +1558,7 @@ archive_command = 'local_backup_script.sh "%p" "%f"'
</sect3>
</sect2>
- <sect2 id="continuous-archiving-caveats">
+ <sect2 id="continuous-archiving-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
diff --git a/doc/src/sgml/basebackup-to-shell.sgml b/doc/src/sgml/basebackup-to-shell.sgml
index b6a3b395414..d8ed6d37b88 100644
--- a/doc/src/sgml/basebackup-to-shell.sgml
+++ b/doc/src/sgml/basebackup-to-shell.sgml
@@ -27,7 +27,7 @@
<xref linkend="guc-local-preload-libraries"/>.
</para>
- <sect2 id="basebackup-to-shell-configuration-parameters">
+ <sect2 id="basebackup-to-shell-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -74,7 +74,7 @@
</variablelist>
</sect2>
- <sect2 id="basebackup-to-shell-author">
+ <sect2 id="basebackup-to-shell-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/basic-archive.sgml b/doc/src/sgml/basic-archive.sgml
index b4d43ced203..90798dc8890 100644
--- a/doc/src/sgml/basic-archive.sgml
+++ b/doc/src/sgml/basic-archive.sgml
@@ -21,7 +21,7 @@
must be enabled.
</para>
- <sect2 id="basic-archive-configuration-parameters">
+ <sect2 id="basic-archive-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -57,7 +57,7 @@ basic_archive.archive_directory = '/path/to/archive/directory'
</programlisting>
</sect2>
- <sect2 id="basic-archive-notes">
+ <sect2 id="basic-archive-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -70,7 +70,7 @@ basic_archive.archive_directory = '/path/to/archive/directory'
</para>
</sect2>
- <sect2 id="basic-archive-author">
+ <sect2 id="basic-archive-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml
index 53a982bf60d..be8f1e22402 100644
--- a/doc/src/sgml/bki.sgml
+++ b/doc/src/sgml/bki.sgml
@@ -69,7 +69,7 @@
the <acronym>BKI</acronym> file format.
</para>
- <sect1 id="system-catalog-declarations">
+ <sect1 id="system-catalog-declarations" xreflabel="System Catalog Declaration Rules">
<title>System Catalog Declaration Rules</title>
<para>
@@ -155,7 +155,7 @@
</para>
</sect1>
- <sect1 id="system-catalog-initial-data">
+ <sect1 id="system-catalog-initial-data" xreflabel="System Catalog Initial Data">
<title>System Catalog Initial Data</title>
<para>
@@ -164,7 +164,7 @@
initial data in an editable format.
</para>
- <sect2 id="system-catalog-initial-data-format">
+ <sect2 id="system-catalog-initial-data-format" xreflabel="Data File Format">
<title>Data File Format</title>
<para>
@@ -336,7 +336,7 @@
</itemizedlist>
</sect2>
- <sect2 id="system-catalog-oid-assignment">
+ <sect2 id="system-catalog-oid-assignment" xreflabel="OID Assignment">
<title>OID Assignment</title>
<para>
@@ -450,7 +450,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-oid-references">
+ <sect2 id="system-catalog-oid-references" xreflabel="OID Reference Lookup">
<title>OID Reference Lookup</title>
<para>
@@ -582,7 +582,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-auto-array-types">
+ <sect2 id="system-catalog-auto-array-types" xreflabel="Automatic Creation of Array Types">
<title>Automatic Creation of Array Types</title>
<para>
@@ -617,7 +617,7 @@
</para>
</sect2>
- <sect2 id="system-catalog-recipes">
+ <sect2 id="system-catalog-recipes" xreflabel="Recipes for Editing Data Files">
<title>Recipes for Editing Data Files</title>
<para>
@@ -756,7 +756,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect2>
</sect1>
- <sect1 id="bki-format">
+ <sect1 id="bki-format" xreflabel="BKI File Format">
<title><acronym>BKI</acronym> File Format</title>
<para>
@@ -784,7 +784,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect1>
- <sect1 id="bki-commands">
+ <sect1 id="bki-commands" xreflabel="BKI Commands">
<title><acronym>BKI</acronym> Commands</title>
<variablelist>
@@ -972,7 +972,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</sect1>
- <sect1 id="bki-structure">
+ <sect1 id="bki-structure" xreflabel="Structure of the Bootstrap BKI File">
<title>Structure of the Bootstrap <acronym>BKI</acronym> File</title>
<para>
@@ -1058,7 +1058,7 @@ $ perl rewrite_dat_with_prokind.pl pg_proc.dat
</para>
</sect1>
- <sect1 id="bki-example">
+ <sect1 id="bki-example" xreflabel="BKI Example">
<title>BKI Example</title>
<para>
diff --git a/doc/src/sgml/bloom.sgml b/doc/src/sgml/bloom.sgml
index 3f6d38f377b..080dda61146 100644
--- a/doc/src/sgml/bloom.sgml
+++ b/doc/src/sgml/bloom.sgml
@@ -38,7 +38,7 @@
indexes can also perform inequality and range searches.
</para>
- <sect2 id="bloom-parameters">
+ <sect2 id="bloom-parameters" xreflabel="Parameters">
<title>Parameters</title>
<para>
@@ -73,7 +73,7 @@
</variablelist>
</sect2>
- <sect2 id="bloom-examples">
+ <sect2 id="bloom-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -226,7 +226,7 @@ CREATE INDEX
</para>
</sect2>
- <sect2 id="bloom-operator-class-interface">
+ <sect2 id="bloom-operator-class-interface" xreflabel="Operator Class Interface">
<title>Operator Class Interface</title>
<para>
@@ -243,7 +243,7 @@ DEFAULT FOR TYPE text USING bloom AS
</programlisting>
</sect2>
- <sect2 id="bloom-limitations">
+ <sect2 id="bloom-limitations" xreflabel="Limitations">
<title>Limitations</title>
<para>
<itemizedlist>
@@ -279,7 +279,7 @@ DEFAULT FOR TYPE text USING bloom AS
</para>
</sect2>
- <sect2 id="bloom-authors">
+ <sect2 id="bloom-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml
index 64fb520db7e..2c40ba87a61 100644
--- a/doc/src/sgml/brin.sgml
+++ b/doc/src/sgml/brin.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/brin.sgml -->
-<sect1 id="brin">
+<sect1 id="brin" xreflabel="BRIN Indexes">
<title>BRIN Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>BRIN</secondary>
</indexterm>
-<sect2 id="brin-intro">
+<sect2 id="brin-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -64,7 +64,7 @@
be more precise and more data blocks can be skipped during an index scan.
</para>
- <sect3 id="brin-operation">
+ <sect3 id="brin-operation" xreflabel="Index Maintenance">
<title>Index Maintenance</title>
<para>
@@ -139,7 +139,7 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
</sect3>
</sect2>
-<sect2 id="brin-builtin-opclasses">
+<sect2 id="brin-builtin-opclasses" xreflabel="Built-in Operator Classes">
<title>Built-in Operator Classes</title>
<para>
@@ -743,7 +743,7 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
</tgroup>
</table>
- <sect3 id="brin-builtin-opclasses--parameters">
+ <sect3 id="brin-builtin-opclasses--parameters" xreflabel="Operator Class Parameters">
<title>Operator Class Parameters</title>
<para>
@@ -812,7 +812,7 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
</sect2>
-<sect2 id="brin-extensibility">
+<sect2 id="brin-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
<para>
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index 46117209ce5..cc8129cf334 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -38,7 +38,7 @@
on the current database.
</para>
- <sect2 id="btree-gin-example-usage">
+ <sect2 id="btree-gin-example-usage" xreflabel="Example Usage">
<title>Example Usage</title>
<programlisting>
@@ -51,7 +51,7 @@ SELECT * FROM test WHERE a < 10;
</sect2>
- <sect2 id="btree-gin-authors">
+ <sect2 id="btree-gin-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/btree-gist.sgml b/doc/src/sgml/btree-gist.sgml
index a4c1b99be1f..2d7aaa25896 100644
--- a/doc/src/sgml/btree-gist.sgml
+++ b/doc/src/sgml/btree-gist.sgml
@@ -65,7 +65,7 @@
on the current database.
</para>
- <sect2 id="btree-gist-example-usage">
+ <sect2 id="btree-gist-example-usage" xreflabel="Example Usage">
<title>Example Usage</title>
<para>
@@ -108,7 +108,7 @@ INSERT 0 1
</sect2>
- <sect2 id="btree-gist-authors">
+ <sect2 id="btree-gist-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/btree.sgml b/doc/src/sgml/btree.sgml
index 027361f20bb..2ed72d6a605 100644
--- a/doc/src/sgml/btree.sgml
+++ b/doc/src/sgml/btree.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/btree.sgml -->
-<sect1 id="btree">
+<sect1 id="btree" xreflabel="B-Tree Indexes">
<title>B-Tree Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>B-Tree</secondary>
</indexterm>
-<sect2 id="btree-intro">
+<sect2 id="btree-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -32,7 +32,7 @@
</sect2>
-<sect2 id="btree-behavior">
+<sect2 id="btree-behavior" xreflabel="Behavior of B-Tree Operator Classes">
<title>Behavior of B-Tree Operator Classes</title>
<para>
@@ -202,7 +202,7 @@
</sect2>
-<sect2 id="btree-support-funcs">
+<sect2 id="btree-support-funcs" xreflabel="B-Tree Support Functions">
<title>B-Tree Support Functions</title>
<para>
@@ -616,7 +616,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
</sect2>
-<sect2 id="btree-implementation">
+<sect2 id="btree-implementation" xreflabel="Implementation">
<title>Implementation</title>
<para>
@@ -626,7 +626,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
distribution for a much more detailed, internals-focused description
of the B-Tree implementation.
</para>
- <sect3 id="btree-structure">
+ <sect3 id="btree-structure" xreflabel="B-Tree Structure">
<title>B-Tree Structure</title>
<para>
<productname>PostgreSQL</productname> B-Tree indexes are
@@ -658,7 +658,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
</para>
</sect3>
- <sect3 id="btree-deletion">
+ <sect3 id="btree-deletion" xreflabel="Bottom-up Index Deletion">
<title>Bottom-up Index Deletion</title>
<para>
B-Tree indexes are not directly aware that under MVCC, there might
@@ -762,7 +762,7 @@ options(<replaceable>relopts</replaceable> <type>local_relopts *</type>) returns
</para>
</sect3>
- <sect3 id="btree-deduplication">
+ <sect3 id="btree-deduplication" xreflabel="Deduplication">
<title>Deduplication</title>
<para>
A duplicate is a leaf page tuple (a tuple that points to a table
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 2fc63442980..2648d462aef 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -23,7 +23,7 @@
of the system catalogs is ever decreasing.
</para>
- <sect1 id="catalogs-overview">
+ <sect1 id="catalogs-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -375,7 +375,7 @@
</sect1>
- <sect1 id="catalog-pg-aggregate">
+ <sect1 id="catalog-pg-aggregate" xreflabel="pg_aggregate">
<title><structname>pg_aggregate</structname></title>
<indexterm zone="catalog-pg-aggregate">
@@ -662,7 +662,7 @@
</sect1>
- <sect1 id="catalog-pg-am">
+ <sect1 id="catalog-pg-am" xreflabel="pg_am">
<title><structname>pg_am</structname></title>
<indexterm zone="catalog-pg-am">
@@ -749,7 +749,7 @@
</sect1>
- <sect1 id="catalog-pg-amop">
+ <sect1 id="catalog-pg-amop" xreflabel="pg_amop">
<title><structname>pg_amop</structname></title>
<indexterm zone="catalog-pg-amop">
@@ -922,7 +922,7 @@
</sect1>
- <sect1 id="catalog-pg-amproc">
+ <sect1 id="catalog-pg-amproc" xreflabel="pg_amproc">
<title><structname>pg_amproc</structname></title>
<indexterm zone="catalog-pg-amproc">
@@ -1026,7 +1026,7 @@
</sect1>
- <sect1 id="catalog-pg-attrdef">
+ <sect1 id="catalog-pg-attrdef" xreflabel="pg_attrdef">
<title><structname>pg_attrdef</structname></title>
<indexterm zone="catalog-pg-attrdef">
@@ -1102,7 +1102,7 @@
</sect1>
- <sect1 id="catalog-pg-attribute">
+ <sect1 id="catalog-pg-attribute" xreflabel="pg_attribute">
<title><structname>pg_attribute</structname></title>
<indexterm zone="catalog-pg-attribute">
@@ -1434,7 +1434,7 @@
</sect1>
- <sect1 id="catalog-pg-authid">
+ <sect1 id="catalog-pg-authid" xreflabel="pg_authid">
<title><structname>pg_authid</structname></title>
<indexterm zone="catalog-pg-authid">
@@ -1633,7 +1633,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-auth-members">
+ <sect1 id="catalog-pg-auth-members" xreflabel="pg_auth_members">
<title><structname>pg_auth_members</structname></title>
<indexterm zone="catalog-pg-auth-members">
@@ -1744,7 +1744,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-cast">
+ <sect1 id="catalog-pg-cast" xreflabel="pg_cast">
<title><structname>pg_cast</structname></title>
<indexterm zone="catalog-pg-cast">
@@ -1883,7 +1883,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-class">
+ <sect1 id="catalog-pg-class" xreflabel="pg_class">
<title><structname>pg_class</structname></title>
<indexterm zone="catalog-pg-class">
@@ -2332,7 +2332,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-collation">
+ <sect1 id="catalog-pg-collation" xreflabel="pg_collation">
<title><structname>pg_collation</structname></title>
<indexterm zone="catalog-pg-collation">
@@ -2513,7 +2513,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-constraint">
+ <sect1 id="catalog-pg-constraint" xreflabel="pg_constraint">
<title><structname>pg_constraint</structname></title>
<indexterm zone="catalog-pg-constraint">
@@ -2873,7 +2873,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-conversion">
+ <sect1 id="catalog-pg-conversion" xreflabel="pg_conversion">
<title><structname>pg_conversion</structname></title>
<indexterm zone="catalog-pg-conversion">
@@ -2983,7 +2983,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-database">
+ <sect1 id="catalog-pg-database" xreflabel="pg_database">
<title><structname>pg_database</structname></title>
<indexterm zone="catalog-pg-database">
@@ -3221,7 +3221,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-db-role-setting">
+ <sect1 id="catalog-pg-db-role-setting" xreflabel="pg_db_role_setting">
<title><structname>pg_db_role_setting</structname></title>
<indexterm zone="catalog-pg-db-role-setting">
@@ -3290,7 +3290,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-default-acl">
+ <sect1 id="catalog-pg-default-acl" xreflabel="pg_default_acl">
<title><structname>pg_default_acl</structname></title>
<indexterm zone="catalog-pg-default-acl">
@@ -3396,7 +3396,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-depend">
+ <sect1 id="catalog-pg-depend" xreflabel="pg_depend">
<title><structname>pg_depend</structname></title>
<indexterm zone="catalog-pg-depend">
@@ -3673,7 +3673,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-description">
+ <sect1 id="catalog-pg-description" xreflabel="pg_description">
<title><structname>pg_description</structname></title>
<indexterm zone="catalog-pg-description">
@@ -3757,7 +3757,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-enum">
+ <sect1 id="catalog-pg-enum" xreflabel="pg_enum">
<title><structname>pg_enum</structname></title>
<indexterm zone="catalog-pg-enum">
@@ -3848,7 +3848,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-event-trigger">
+ <sect1 id="catalog-pg-event-trigger" xreflabel="pg_event_trigger">
<title><structname>pg_event_trigger</structname></title>
<indexterm zone="catalog-pg-event-trigger">
@@ -3951,7 +3951,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-extension">
+ <sect1 id="catalog-pg-extension" xreflabel="pg_extension">
<title><structname>pg_extension</structname></title>
<indexterm zone="catalog-pg-extension">
@@ -4072,7 +4072,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-data-wrapper">
+ <sect1 id="catalog-pg-foreign-data-wrapper" xreflabel="pg_foreign_data_wrapper">
<title><structname>pg_foreign_data_wrapper</structname></title>
<indexterm zone="catalog-pg-foreign-data-wrapper">
@@ -4178,7 +4178,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-server">
+ <sect1 id="catalog-pg-foreign-server" xreflabel="pg_foreign_server">
<title><structname>pg_foreign_server</structname></title>
<indexterm zone="catalog-pg-foreign-server">
@@ -4286,7 +4286,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-foreign-table">
+ <sect1 id="catalog-pg-foreign-table" xreflabel="pg_foreign_table">
<title><structname>pg_foreign_table</structname></title>
<indexterm zone="catalog-pg-foreign-table">
@@ -4352,7 +4352,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-index">
+ <sect1 id="catalog-pg-index" xreflabel="pg_index">
<title><structname>pg_index</structname></title>
<indexterm zone="catalog-pg-index">
@@ -4622,7 +4622,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-inherits">
+ <sect1 id="catalog-pg-inherits" xreflabel="pg_inherits">
<title><structname>pg_inherits</structname></title>
<indexterm zone="catalog-pg-inherits">
@@ -4701,7 +4701,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-init-privs">
+ <sect1 id="catalog-pg-init-privs" xreflabel="pg_init_privs">
<title><structname>pg_init_privs</structname></title>
<indexterm zone="catalog-pg-init-privs">
@@ -4809,7 +4809,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-language">
+ <sect1 id="catalog-pg-language" xreflabel="pg_language">
<title><structname>pg_language</structname></title>
<indexterm zone="catalog-pg-language">
@@ -4944,7 +4944,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-largeobject">
+ <sect1 id="catalog-pg-largeobject" xreflabel="pg_largeobject">
<title><structname>pg_largeobject</structname></title>
<indexterm zone="catalog-pg-largeobject">
@@ -5030,7 +5030,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-largeobject-metadata">
+ <sect1 id="catalog-pg-largeobject-metadata" xreflabel="pg_largeobject_metadata">
<title><structname>pg_largeobject_metadata</structname></title>
<indexterm zone="catalog-pg-largeobject-metadata">
@@ -5092,7 +5092,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-namespace">
+ <sect1 id="catalog-pg-namespace" xreflabel="pg_namespace">
<title><structname>pg_namespace</structname></title>
<indexterm zone="catalog-pg-namespace">
@@ -5164,7 +5164,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-opclass">
+ <sect1 id="catalog-pg-opclass" xreflabel="pg_opclass">
<title><structname>pg_opclass</structname></title>
<indexterm zone="catalog-pg-opclass">
@@ -5302,7 +5302,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-operator">
+ <sect1 id="catalog-pg-operator" xreflabel="pg_operator">
<title><structname>pg_operator</structname></title>
<indexterm zone="catalog-pg-operator">
@@ -5486,7 +5486,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-opfamily">
+ <sect1 id="catalog-pg-opfamily" xreflabel="pg_opfamily">
<title><structname>pg_opfamily</structname></title>
<indexterm zone="catalog-pg-opfamily">
@@ -5586,7 +5586,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-parameter-acl">
+ <sect1 id="catalog-pg-parameter-acl" xreflabel="pg_parameter_acl">
<title><structname>pg_parameter_acl</structname></title>
<indexterm zone="catalog-pg-parameter-acl">
@@ -5654,7 +5654,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-partitioned-table">
+ <sect1 id="catalog-pg-partitioned-table" xreflabel="pg_partitioned_table">
<title><structname>pg_partitioned_table</structname></title>
<indexterm zone="catalog-pg-partitioned-table">
@@ -5779,7 +5779,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-policy">
+ <sect1 id="catalog-pg-policy" xreflabel="pg_policy">
<title><structname>pg_policy</structname></title>
<indexterm zone="catalog-pg-policy">
@@ -5905,7 +5905,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-proc">
+ <sect1 id="catalog-pg-proc" xreflabel="pg_proc">
<title><structname>pg_proc</structname></title>
<indexterm zone="catalog-pg-proc">
@@ -6308,7 +6308,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-publication">
+ <sect1 id="catalog-pg-publication" xreflabel="pg_publication">
<title><structname>pg_publication</structname></title>
<indexterm zone="catalog-pg-publication">
@@ -6453,7 +6453,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-publication-namespace">
+ <sect1 id="catalog-pg-publication-namespace" xreflabel="pg_publication_namespace">
<title><structname>pg_publication_namespace</structname></title>
<indexterm zone="catalog-pg-publication-namespace">
@@ -6514,7 +6514,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-publication-rel">
+ <sect1 id="catalog-pg-publication-rel" xreflabel="pg_publication_rel">
<title><structname>pg_publication_rel</structname></title>
<indexterm zone="catalog-pg-publication-rel">
@@ -6598,7 +6598,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-range">
+ <sect1 id="catalog-pg-range" xreflabel="pg_range">
<title><structname>pg_range</structname></title>
<indexterm zone="catalog-pg-range">
@@ -6711,7 +6711,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-replication-origin">
+ <sect1 id="catalog-pg-replication-origin" xreflabel="pg_replication_origin">
<title><structname>pg_replication_origin</structname></title>
<indexterm zone="catalog-pg-replication-origin">
@@ -6770,7 +6770,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-rewrite">
+ <sect1 id="catalog-pg-rewrite" xreflabel="pg_rewrite">
<title><structname>pg_rewrite</structname></title>
<indexterm zone="catalog-pg-rewrite">
@@ -6892,7 +6892,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-seclabel">
+ <sect1 id="catalog-pg-seclabel" xreflabel="pg_seclabel">
<title><structname>pg_seclabel</structname></title>
<indexterm zone="catalog-pg-seclabel">
@@ -6981,7 +6981,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-sequence">
+ <sect1 id="catalog-pg-sequence" xreflabel="pg_sequence">
<title><structname>pg_sequence</structname></title>
<indexterm zone="catalog-pg-sequence">
@@ -7088,7 +7088,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-shdepend">
+ <sect1 id="catalog-pg-shdepend" xreflabel="pg_shdepend">
<title><structname>pg_shdepend</structname></title>
<indexterm zone="catalog-pg-shdepend">
@@ -7283,7 +7283,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-shdescription">
+ <sect1 id="catalog-pg-shdescription" xreflabel="pg_shdescription">
<title><structname>pg_shdescription</structname></title>
<indexterm zone="catalog-pg-shdescription">
@@ -7359,7 +7359,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-shseclabel">
+ <sect1 id="catalog-pg-shseclabel" xreflabel="pg_shseclabel">
<title><structname>pg_shseclabel</structname></title>
<indexterm zone="catalog-pg-shseclabel">
@@ -7443,7 +7443,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-statistic">
+ <sect1 id="catalog-pg-statistic" xreflabel="pg_statistic">
<title><structname>pg_statistic</structname></title>
<indexterm zone="catalog-pg-statistic">
@@ -7651,7 +7651,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-statistic-ext">
+ <sect1 id="catalog-pg-statistic-ext" xreflabel="pg_statistic_ext">
<title><structname>pg_statistic_ext</structname></title>
<indexterm zone="catalog-pg-statistic-ext">
@@ -7799,7 +7799,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</para>
</sect1>
- <sect1 id="catalog-pg-statistic-ext-data">
+ <sect1 id="catalog-pg-statistic-ext-data" xreflabel="pg_statistic_ext_data">
<title><structname>pg_statistic_ext_data</structname></title>
<indexterm zone="catalog-pg-statistic-ext">
@@ -7919,7 +7919,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-subscription">
+ <sect1 id="catalog-pg-subscription" xreflabel="pg_subscription">
<title><structname>pg_subscription</structname></title>
<indexterm zone="catalog-pg-subscription">
@@ -8191,7 +8191,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-subscription-rel">
+ <sect1 id="catalog-pg-subscription-rel" xreflabel="pg_subscription_rel">
<title><structname>pg_subscription_rel</structname></title>
<indexterm zone="catalog-pg-subscription-rel">
@@ -8286,7 +8286,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</table>
</sect1>
- <sect1 id="catalog-pg-tablespace">
+ <sect1 id="catalog-pg-tablespace" xreflabel="pg_tablespace">
<title><structname>pg_tablespace</structname></title>
<indexterm zone="catalog-pg-tablespace">
@@ -8372,7 +8372,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-transform">
+ <sect1 id="catalog-pg-transform" xreflabel="pg_transform">
<title><structname>pg_transform</structname></title>
<indexterm zone="catalog-pg-transform">
@@ -8458,7 +8458,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-trigger">
+ <sect1 id="catalog-pg-trigger" xreflabel="pg_trigger">
<title><structname>pg_trigger</structname></title>
<indexterm zone="catalog-pg-trigger">
@@ -8715,7 +8715,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-config">
+ <sect1 id="catalog-pg-ts-config" xreflabel="pg_ts_config">
<title><structname>pg_ts_config</structname></title>
<indexterm zone="catalog-pg-ts-config">
@@ -8805,7 +8805,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-config-map">
+ <sect1 id="catalog-pg-ts-config-map" xreflabel="pg_ts_config_map">
<title><structname>pg_ts_config_map</structname></title>
<indexterm zone="catalog-pg-ts-config-map">
@@ -8883,7 +8883,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-dict">
+ <sect1 id="catalog-pg-ts-dict" xreflabel="pg_ts_dict">
<title><structname>pg_ts_dict</structname></title>
<indexterm zone="catalog-pg-ts-dict">
@@ -8983,7 +8983,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-parser">
+ <sect1 id="catalog-pg-ts-parser" xreflabel="pg_ts_parser">
<title><structname>pg_ts_parser</structname></title>
<indexterm zone="catalog-pg-ts-parser">
@@ -9101,7 +9101,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-ts-template">
+ <sect1 id="catalog-pg-ts-template" xreflabel="pg_ts_template">
<title><structname>pg_ts_template</structname></title>
<indexterm zone="catalog-pg-ts-template">
@@ -9189,7 +9189,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-type">
+ <sect1 id="catalog-pg-type" xreflabel="pg_type">
<title><structname>pg_type</structname></title>
<indexterm zone="catalog-pg-type">
@@ -9762,7 +9762,7 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</sect1>
- <sect1 id="catalog-pg-user-mapping">
+ <sect1 id="catalog-pg-user-mapping" xreflabel="pg_user_mapping">
<title><structname>pg_user_mapping</structname></title>
<indexterm zone="catalog-pg-user-mapping">
diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml
index 3aabc798012..fa41e4361f0 100644
--- a/doc/src/sgml/charset.sgml
+++ b/doc/src/sgml/charset.sgml
@@ -32,7 +32,7 @@
</para>
- <sect1 id="locale">
+ <sect1 id="locale" xreflabel="Locale Support">
<title>Locale Support</title>
<indexterm zone="locale"><primary>locale</primary></indexterm>
@@ -46,7 +46,7 @@
system.
</para>
- <sect2 id="locale-overview">
+ <sect2 id="locale-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -206,7 +206,7 @@ initdb --locale=sv_SE
</para>
</sect2>
- <sect2 id="locale-behavior">
+ <sect2 id="locale-behavior" xreflabel="Behavior">
<title>Behavior</title>
<para>
@@ -276,7 +276,7 @@ initdb --locale=sv_SE
</para>
</sect2>
- <sect2 id="locale-selecting-locales">
+ <sect2 id="locale-selecting-locales" xreflabel="Selecting Locales">
<title>Selecting Locales</title>
<para>
@@ -338,7 +338,7 @@ initdb --locale=sv_SE
</orderedlist>
</sect2>
- <sect2 id="locale-providers">
+ <sect2 id="locale-providers" xreflabel="Locale Providers">
<title>Locale Providers</title>
<para>
@@ -450,10 +450,10 @@ initdb --locale-provider=icu --icu-locale=en
</variablelist>
</sect2>
- <sect2 id="icu-locales">
+ <sect2 id="icu-locales" xreflabel="ICU Locales">
<title>ICU Locales</title>
- <sect3 id="icu-locale-names">
+ <sect3 id="icu-locale-names" xreflabel="ICU Locale Names">
<title>ICU Locale Names</title>
<para>
@@ -467,7 +467,7 @@ CREATE COLLATION mycollation2 (provider = icu, locale = 'fr');
</para>
</sect3>
- <sect3 id="icu-canonicalization">
+ <sect3 id="icu-canonicalization" xreflabel="Locale Canonicalization and Validation">
<title>Locale Canonicalization and Validation</title>
<para>
When defining a new ICU collation object or database with ICU as the
@@ -518,7 +518,7 @@ CREATE COLLATION
</para>
</sect3>
- <sect3 id="icu-language-tag">
+ <sect3 id="icu-language-tag" xreflabel="Language Tag">
<title>Language Tag</title>
<para>
@@ -592,7 +592,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
</sect3>
</sect2>
- <sect2 id="locale-problems">
+ <sect2 id="locale-problems" xreflabel="Problems">
<title>Problems</title>
<para>
@@ -641,7 +641,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
</sect1>
- <sect1 id="collation">
+ <sect1 id="collation" xreflabel="Collation Support">
<title>Collation Support</title>
<indexterm zone="collation"><primary>collation</primary></indexterm>
@@ -654,7 +654,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 AS result;
of a database cannot be changed after its creation.
</para>
- <sect2 id="collation-concepts">
+ <sect2 id="collation-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -815,7 +815,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
</para>
</sect2>
- <sect2 id="collation-managing">
+ <sect2 id="collation-managing" xreflabel="Managing Collations">
<title>Managing Collations</title>
<para>
@@ -856,7 +856,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
a database.
</para>
- <sect3 id="collation-managing-standard">
+ <sect3 id="collation-managing-standard" xreflabel="Standard Collations">
<title>Standard Collations</title>
<para>
@@ -963,7 +963,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
</para>
</sect3>
- <sect3 id="collation-managing-predefined">
+ <sect3 id="collation-managing-predefined" xreflabel="Predefined Collations">
<title>Predefined Collations</title>
<para>
@@ -982,7 +982,7 @@ SELECT * FROM test1 ORDER BY a || b COLLATE "fr_FR";
in <application>psql</application>.
</para>
- <sect4 id="collation-managing-predefined-libc">
+ <sect4 id="collation-managing-predefined-libc" xreflabel="libc Collations">
<title>libc Collations</title>
<para>
@@ -1039,7 +1039,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1;
</para>
</sect4>
- <sect4 id="collation-managing-predefined-icu">
+ <sect4 id="collation-managing-predefined-icu" xreflabel="ICU Collations">
<title>ICU Collations</title>
<para>
@@ -1099,7 +1099,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1;
</sect4>
</sect3>
- <sect3 id="collation-create">
+ <sect3 id="collation-create" xreflabel="Creating New Collation Objects">
<title>Creating New Collation Objects</title>
<para>
@@ -1115,7 +1115,7 @@ SELECT a COLLATE "C" < b COLLATE "POSIX" FROM test1;
ensures that they are saved by <command>pg_dump</command>.
</para>
- <sect4 id="collation-managing-create-libc">
+ <sect4 id="collation-managing-create-libc" xreflabel="libc Collations">
<title>libc Collations</title>
<para>
@@ -1139,7 +1139,7 @@ CREATE COLLATION german (provider = libc, locale = 'de_DE');
</para>
</sect4>
- <sect4 id="collation-managing-create-icu">
+ <sect4 id="collation-managing-create-icu" xreflabel="ICU Collations">
<title>ICU Collations</title>
<para>
@@ -1160,7 +1160,7 @@ CREATE COLLATION german (provider = icu, locale = 'de-DE');
linkend="icu-custom-collations"/> for details and examples.
</para>
</sect4>
- <sect4 id="collation-copy">
+ <sect4 id="collation-copy" xreflabel="Copying Collations">
<title>Copying Collations</title>
<para>
@@ -1177,7 +1177,7 @@ CREATE COLLATION french FROM "fr-x-icu";
</sect4>
</sect3>
- <sect3 id="collation-nondeterministic">
+ <sect3 id="collation-nondeterministic" xreflabel="Nondeterministic Collations">
<title>Nondeterministic Collations</title>
<para>
@@ -1238,7 +1238,7 @@ CREATE COLLATION ignore_accents (provider = icu, locale = 'und-u-ks-level1-kc-tr
</sect3>
</sect2>
- <sect2 id="icu-custom-collations">
+ <sect2 id="icu-custom-collations" xreflabel="ICU Custom Collations">
<title>ICU Custom Collations</title>
<para>
@@ -1268,7 +1268,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true
linkend="icu-external-references"/> for more details.
</para>
- <sect3 id="icu-collation-comparison-levels">
+ <sect3 id="icu-collation-comparison-levels" xreflabel="ICU Comparison Levels">
<title>ICU Comparison Levels</title>
<para>
@@ -1380,7 +1380,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true
<literal>true</literal>.
</para>
- <sect4 id="icu-collation-level-examples">
+ <sect4 id="icu-collation-level-examples" xreflabel="Collation Level Examples">
<title>Collation Level Examples</title>
<programlisting>
@@ -1400,7 +1400,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</sect4>
</sect3>
- <sect3 id="icu-collation-settings">
+ <sect3 id="icu-collation-settings" xreflabel="Collation Settings for an ICU Locale">
<title>Collation Settings for an ICU Locale</title>
<para>
@@ -1606,7 +1606,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</note>
</sect3>
- <sect3 id="icu-locale-examples">
+ <sect3 id="icu-locale-examples" xreflabel="Collation Settings Examples">
<title>Collation Settings Examples</title>
<variablelist>
@@ -1656,7 +1656,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
</variablelist>
</sect3>
- <sect3 id="icu-tailoring-rules">
+ <sect3 id="icu-tailoring-rules" xreflabel="ICU Tailoring Rules">
<title>ICU Tailoring Rules</title>
<para>
@@ -1712,7 +1712,7 @@ ORDER BY c COLLATE ebcdic;
</para>
</sect3>
- <sect3 id="icu-external-references">
+ <sect3 id="icu-external-references" xreflabel="External References for ICU">
<title>External References for ICU</title>
<para>
@@ -1752,7 +1752,7 @@ ORDER BY c COLLATE ebcdic;
</sect2>
</sect1>
- <sect1 id="multibyte">
+ <sect1 id="multibyte" xreflabel="Character Set Support">
<title>Character Set Support</title>
<indexterm zone="multibyte"><primary>character set</primary></indexterm>
@@ -1786,7 +1786,7 @@ ORDER BY c COLLATE ebcdic;
with most but not all server-side encodings.
</para>
- <sect2 id="multibyte-charset-supported">
+ <sect2 id="multibyte-charset-supported" xreflabel="Supported Character Sets">
<title>Supported Character Sets</title>
<para>
@@ -2225,7 +2225,7 @@ ORDER BY c COLLATE ebcdic;
</para>
</sect2>
- <sect2 id="multibyte-setting">
+ <sect2 id="multibyte-setting" xreflabel="Setting the Character Set">
<title>Setting the Character Set</title>
<para>
@@ -2313,7 +2313,7 @@ $ <userinput>psql -l</userinput>
</important>
</sect2>
- <sect2 id="multibyte-automatic-conversion">
+ <sect2 id="multibyte-automatic-conversion" xreflabel="Automatic Character Set Conversion Between Server and Client">
<title>Automatic Character Set Conversion Between Server and Client</title>
<para>
@@ -2426,7 +2426,7 @@ RESET client_encoding;
</para>
</sect2>
- <sect2 id="multibyte-conversions-supported">
+ <sect2 id="multibyte-conversions-supported" xreflabel="Available Character Set Conversions">
<title>Available Character Set Conversions</title>
<para>
@@ -3395,7 +3395,7 @@ RESET client_encoding;
</table>
</sect2>
- <sect2 id="multibyte-further-reading">
+ <sect2 id="multibyte-further-reading" xreflabel="Further Reading">
<title>Further Reading</title>
<para>
diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml
index 8322885661e..b9125c93cca 100644
--- a/doc/src/sgml/citext.sgml
+++ b/doc/src/sgml/citext.sgml
@@ -30,7 +30,7 @@
on the current database.
</para>
- <sect2 id="citext-rationale">
+ <sect2 id="citext-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -84,7 +84,7 @@ SELECT * FROM tab WHERE lower(col) = LOWER(?);
</sect2>
- <sect2 id="citext-how-to-use-it">
+ <sect2 id="citext-how-to-use-it" xreflabel="How to Use It">
<title>How to Use It</title>
<para>
@@ -111,7 +111,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</para>
</sect2>
- <sect2 id="citext-string-comparison-behavior">
+ <sect2 id="citext-string-comparison-behavior" xreflabel="String Comparison Behavior">
<title>String Comparison Behavior</title>
<para>
@@ -196,7 +196,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</sect2>
- <sect2 id="citext-limitations">
+ <sect2 id="citext-limitations" xreflabel="Limitations">
<title>Limitations</title>
<itemizedlist>
@@ -277,7 +277,7 @@ SELECT * FROM users WHERE nick = 'Larry';
</itemizedlist>
</sect2>
- <sect2 id="citext-author">
+ <sect2 id="citext-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml
index a347ee18980..fe125d093d2 100644
--- a/doc/src/sgml/client-auth.sgml
+++ b/doc/src/sgml/client-auth.sgml
@@ -54,7 +54,7 @@
database user names and OS user names.
</para>
- <sect1 id="auth-pg-hba-conf">
+ <sect1 id="auth-pg-hba-conf" xreflabel="The pg_hba.conf File">
<title>The <filename>pg_hba.conf</filename> File</title>
<indexterm zone="auth-pg-hba-conf">
@@ -903,7 +903,7 @@ local db1,db2,@demodbs all scram-sha-256
</example>
</sect1>
- <sect1 id="auth-username-maps">
+ <sect1 id="auth-username-maps" xreflabel="User Name Maps">
<title>User Name Maps</title>
<indexterm zone="auth-username-maps">
@@ -1070,7 +1070,7 @@ omicron bryanh guest1
</example>
</sect1>
- <sect1 id="auth-methods">
+ <sect1 id="auth-methods" xreflabel="Authentication Methods">
<title>Authentication Methods</title>
<para>
@@ -1177,7 +1177,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-trust">
+ <sect1 id="auth-trust" xreflabel="Trust Authentication">
<title>Trust Authentication</title>
<para>
@@ -1225,7 +1225,7 @@ omicron bryanh guest1
</sect1>
- <sect1 id="auth-password">
+ <sect1 id="auth-password" xreflabel="Password Authentication">
<title>Password Authentication</title>
<indexterm>
@@ -1358,7 +1358,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="gssapi-auth">
+ <sect1 id="gssapi-auth" xreflabel="GSSAPI Authentication">
<title>GSSAPI Authentication</title>
<indexterm zone="gssapi-auth">
@@ -1524,7 +1524,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="sspi-auth">
+ <sect1 id="sspi-auth" xreflabel="SSPI Authentication">
<title>SSPI Authentication</title>
<indexterm zone="sspi-auth">
@@ -1644,7 +1644,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-ident">
+ <sect1 id="auth-ident" xreflabel="Ident Authentication">
<title>Ident Authentication</title>
<indexterm>
@@ -1726,7 +1726,7 @@ omicron bryanh guest1
</para>
</sect1>
- <sect1 id="auth-peer">
+ <sect1 id="auth-peer" xreflabel="Peer Authentication">
<title>Peer Authentication</title>
<indexterm>
@@ -1767,7 +1767,7 @@ omicron bryanh guest1
</sect1>
- <sect1 id="auth-ldap">
+ <sect1 id="auth-ldap" xreflabel="LDAP Authentication">
<title>LDAP Authentication</title>
<indexterm zone="auth-ldap">
@@ -2096,7 +2096,7 @@ host ... ldap ldapbasedn="dc=example,dc=net"
</sect1>
- <sect1 id="auth-radius">
+ <sect1 id="auth-radius" xreflabel="RADIUS Authentication">
<title>RADIUS Authentication</title>
<indexterm zone="auth-radius">
@@ -2208,7 +2208,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="auth-cert">
+ <sect1 id="auth-cert" xreflabel="Certificate Authentication">
<title>Certificate Authentication</title>
<indexterm zone="auth-cert">
@@ -2252,7 +2252,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="auth-pam">
+ <sect1 id="auth-pam" xreflabel="PAM Authentication">
<title>PAM Authentication</title>
<indexterm zone="auth-pam">
@@ -2310,7 +2310,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</note>
</sect1>
- <sect1 id="auth-bsd">
+ <sect1 id="auth-bsd" xreflabel="BSD Authentication">
<title>BSD Authentication</title>
<indexterm zone="auth-bsd">
@@ -2345,7 +2345,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</note>
</sect1>
- <sect1 id="auth-oauth">
+ <sect1 id="auth-oauth" xreflabel="OAuth Authorization/Authentication">
<title>OAuth Authorization/Authentication</title>
<indexterm zone="auth-oauth">
@@ -2581,7 +2581,7 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
</para>
</sect1>
- <sect1 id="client-authentication-problems">
+ <sect1 id="client-authentication-problems" xreflabel="Authentication Problems">
<title>Authentication Problems</title>
<para>
diff --git a/doc/src/sgml/color.sgml b/doc/src/sgml/color.sgml
index 5b782f7cc27..7a0756ebb4d 100644
--- a/doc/src/sgml/color.sgml
+++ b/doc/src/sgml/color.sgml
@@ -12,7 +12,7 @@
output. This appendix describes how that is configured.
</para>
- <sect1 id="color-when">
+ <sect1 id="color-when" xreflabel="When Color is Used">
<title>When Color is Used</title>
<para>
@@ -43,7 +43,7 @@
</para>
</sect1>
- <sect1 id="color-which">
+ <sect1 id="color-which" xreflabel="Configuring the Colors">
<title>Configuring the Colors</title>
<para>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 1c23538d3c5..db67f07000a 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -15,10 +15,10 @@
discuss each parameter in detail.
</para>
- <sect1 id="config-setting">
+ <sect1 id="config-setting" xreflabel="Setting Parameters">
<title>Setting Parameters</title>
- <sect2 id="config-setting-names-values">
+ <sect2 id="config-setting-names-values" xreflabel="Parameter Names and Values">
<title>Parameter Names and Values</title>
<para>
@@ -129,7 +129,7 @@
</itemizedlist>
</sect2>
- <sect2 id="config-setting-configuration-file">
+ <sect2 id="config-setting-configuration-file" xreflabel="Parameter Interaction via the Configuration File">
<title>Parameter Interaction via the Configuration File</title>
<para>
@@ -216,7 +216,7 @@ shared_buffers = 128MB
</para>
</sect2>
- <sect2 id="config-setting-sql">
+ <sect2 id="config-setting-sql" xreflabel="Parameter Interaction via SQL">
<title>Parameter Interaction via SQL</title>
<para>
@@ -318,7 +318,7 @@ UPDATE pg_settings SET setting = reset_val WHERE name = 'configuration_parameter
</sect2>
- <sect2 id="config-setting-shell">
+ <sect2 id="config-setting-shell" xreflabel="Parameter Interaction via the Shell">
<title>Parameter Interaction via the Shell</title>
<para>
@@ -371,7 +371,7 @@ env PGOPTIONS="-c geqo=off --statement-timeout=5min" psql
</sect2>
- <sect2 id="config-includes">
+ <sect2 id="config-includes" xreflabel="Managing Configuration File Contents">
<title>Managing Configuration File Contents</title>
<para>
@@ -499,7 +499,7 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-file-locations">
+ <sect1 id="runtime-config-file-locations" xreflabel="File Locations">
<title>File Locations</title>
<para>
@@ -633,10 +633,10 @@ include_dir 'conf.d'
</para>
</sect1>
- <sect1 id="runtime-config-connection">
+ <sect1 id="runtime-config-connection" xreflabel="Connections and Authentication">
<title>Connections and Authentication</title>
- <sect2 id="runtime-config-connection-settings">
+ <sect2 id="runtime-config-connection-settings" xreflabel="Connection Settings">
<title>Connection Settings</title>
<variablelist>
@@ -946,7 +946,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-tcp-settings">
+ <sect2 id="runtime-config-tcp-settings" xreflabel="TCP Settings">
<title>TCP Settings</title>
<variablelist>
@@ -1077,7 +1077,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-connection-authentication">
+ <sect2 id="runtime-config-connection-authentication" xreflabel="Authentication">
<title>Authentication</title>
<variablelist>
@@ -1254,7 +1254,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-connection-ssl">
+ <sect2 id="runtime-config-connection-ssl" xreflabel="SSL">
<title>SSL</title>
<para>
@@ -1704,10 +1704,10 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-resource">
+ <sect1 id="runtime-config-resource" xreflabel="Resource Consumption">
<title>Resource Consumption</title>
- <sect2 id="runtime-config-resource-memory">
+ <sect2 id="runtime-config-resource-memory" xreflabel="Memory">
<title>Memory</title>
<variablelist>
@@ -2341,7 +2341,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-resource-disk">
+ <sect2 id="runtime-config-resource-disk" xreflabel="Disk">
<title>Disk</title>
<variablelist>
@@ -2430,7 +2430,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-resource-kernel">
+ <sect2 id="runtime-config-resource-kernel" xreflabel="Kernel Resource Usage">
<title>Kernel Resource Usage</title>
<variablelist>
@@ -2463,7 +2463,7 @@ include_dir 'conf.d'
</sect2>
- <sect2 id="runtime-config-resource-background-writer">
+ <sect2 id="runtime-config-resource-background-writer" xreflabel="Background Writer">
<title>Background Writer</title>
<para>
@@ -2601,7 +2601,7 @@ include_dir 'conf.d'
</para>
</sect2>
- <sect2 id="runtime-config-resource-io">
+ <sect2 id="runtime-config-resource-io" xreflabel="I/O">
<title>I/O</title>
<variablelist>
@@ -2821,7 +2821,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-resource-worker-processes">
+ <sect2 id="runtime-config-resource-worker-processes" xreflabel="Worker Processes">
<title>Worker Processes</title>
<variablelist>
@@ -2981,7 +2981,7 @@ include_dir 'conf.d'
</sect2>
</sect1>
- <sect1 id="runtime-config-wal">
+ <sect1 id="runtime-config-wal" xreflabel="Write Ahead Log">
<title>Write Ahead Log</title>
<para>
@@ -2989,7 +2989,7 @@ include_dir 'conf.d'
see <xref linkend="wal-configuration"/>.
</para>
- <sect2 id="runtime-config-wal-settings">
+ <sect2 id="runtime-config-wal-settings" xreflabel="Settings">
<title>Settings</title>
<variablelist>
@@ -3632,7 +3632,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-wal-checkpoints">
+ <sect2 id="runtime-config-wal-checkpoints" xreflabel="Checkpoints">
<title>Checkpoints</title>
<variablelist>
@@ -3779,7 +3779,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-wal-archiving">
+ <sect2 id="runtime-config-wal-archiving" xreflabel="Archiving">
<title>Archiving</title>
<variablelist>
@@ -3919,7 +3919,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-wal-recovery">
+ <sect2 id="runtime-config-wal-recovery" xreflabel="Recovery">
<title>Recovery</title>
@@ -3983,7 +3983,7 @@ include_dir 'conf.d'
</variablelist>
</sect2>
- <sect2 id="runtime-config-wal-archive-recovery">
+ <sect2 id="runtime-config-wal-archive-recovery" xreflabel="Archive Recovery">
<title>Archive Recovery</title>
@@ -4159,7 +4159,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</sect2>
- <sect2 id="runtime-config-wal-recovery-target">
+ <sect2 id="runtime-config-wal-recovery-target" xreflabel="Recovery Target">
<title>Recovery Target</title>
@@ -4396,7 +4396,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</variablelist>
</sect2>
- <sect2 id="runtime-config-wal-summarization">
+ <sect2 id="runtime-config-wal-summarization" xreflabel="WAL Summarization">
<title>WAL Summarization</title>
<para>
@@ -4464,7 +4464,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</sect1>
- <sect1 id="runtime-config-replication">
+ <sect1 id="runtime-config-replication" xreflabel="Replication">
<title>Replication</title>
<para>
@@ -4498,7 +4498,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
<xref linkend="logical-replication-config"/>.
</para>
- <sect2 id="runtime-config-replication-sender">
+ <sect2 id="runtime-config-replication-sender" xreflabel="Sending Servers">
<title>Sending Servers</title>
<para>
@@ -4751,7 +4751,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
</variablelist>
</sect2>
- <sect2 id="runtime-config-replication-primary">
+ <sect2 id="runtime-config-replication-primary" xreflabel="Primary Server">
<title>Primary Server</title>
<para>
@@ -4901,7 +4901,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</variablelist>
</sect2>
- <sect2 id="runtime-config-replication-standby">
+ <sect2 id="runtime-config-replication-standby" xreflabel="Standby Servers">
<title>Standby Servers</title>
<para>
@@ -5304,7 +5304,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</variablelist>
</sect2>
- <sect2 id="runtime-config-replication-subscriber">
+ <sect2 id="runtime-config-replication-subscriber" xreflabel="Subscribers">
<title>Subscribers</title>
<para>
@@ -5423,10 +5423,10 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</sect1>
- <sect1 id="runtime-config-query">
+ <sect1 id="runtime-config-query" xreflabel="Query Planning">
<title>Query Planning</title>
- <sect2 id="runtime-config-query-enable">
+ <sect2 id="runtime-config-query-enable" xreflabel="Planner Method Configuration">
<title>Planner Method Configuration</title>
<para>
@@ -5873,7 +5873,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</variablelist>
</sect2>
- <sect2 id="runtime-config-query-constants">
+ <sect2 id="runtime-config-query-constants" xreflabel="Planner Cost Constants">
<title>Planner Cost Constants</title>
<para>
@@ -6203,7 +6203,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</variablelist>
</sect2>
- <sect2 id="runtime-config-query-geqo">
+ <sect2 id="runtime-config-query-geqo" xreflabel="Genetic Query Optimizer">
<title>Genetic Query Optimizer</title>
<para>
@@ -6357,7 +6357,7 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
</variablelist>
</sect2>
- <sect2 id="runtime-config-query-other">
+ <sect2 id="runtime-config-query-other" xreflabel="Other Planner Options">
<title>Other Planner Options</title>
<variablelist>
@@ -6593,14 +6593,14 @@ SELECT * FROM parent WHERE key = 2400;
</sect2>
</sect1>
- <sect1 id="runtime-config-logging">
+ <sect1 id="runtime-config-logging" xreflabel="Error Reporting and Logging">
<title>Error Reporting and Logging</title>
<indexterm zone="runtime-config-logging">
<primary>server log</primary>
</indexterm>
- <sect2 id="runtime-config-logging-where">
+ <sect2 id="runtime-config-logging-where" xreflabel="Where to Log">
<title>Where to Log</title>
<indexterm zone="runtime-config-logging-where">
@@ -7064,7 +7064,7 @@ local0.* /var/log/postgresql
</variablelist>
</sect2>
- <sect2 id="runtime-config-logging-when">
+ <sect2 id="runtime-config-logging-when" xreflabel="When to Log">
<title>When to Log</title>
<variablelist>
@@ -7396,7 +7396,7 @@ local0.* /var/log/postgresql
</table>
</sect2>
- <sect2 id="runtime-config-logging-what">
+ <sect2 id="runtime-config-logging-what" xreflabel="What to Log">
<title>What to Log</title>
<note>
@@ -8224,7 +8224,7 @@ log_line_prefix = '%m [%p] %q%u@%d/%a '
</variablelist>
</sect2>
- <sect2 id="runtime-config-logging-csvlog">
+ <sect2 id="runtime-config-logging-csvlog" xreflabel="Using CSV-Format Log Output">
<title>Using CSV-Format Log Output</title>
<para>
@@ -8353,7 +8353,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</orderedlist>
</para>
</sect2>
- <sect2 id="runtime-config-logging-jsonlog">
+ <sect2 id="runtime-config-logging-jsonlog" xreflabel="Using JSON-Format Log Output">
<title>Using JSON-Format Log Output</title>
<para>
@@ -8536,7 +8536,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</table>
</sect2>
- <sect2 id="runtime-config-logging-proc-title">
+ <sect2 id="runtime-config-logging-proc-title" xreflabel="Process Title">
<title>Process Title</title>
<para>
@@ -8598,10 +8598,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-statistics">
+ <sect1 id="runtime-config-statistics" xreflabel="Run-time Statistics">
<title>Run-time Statistics</title>
- <sect2 id="runtime-config-cumulative-statistics">
+ <sect2 id="runtime-config-cumulative-statistics" xreflabel="Cumulative Query and Index Statistics">
<title>Cumulative Query and Index Statistics</title>
<para>
@@ -8824,7 +8824,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</variablelist>
</sect2>
- <sect2 id="runtime-config-statistics-monitor">
+ <sect2 id="runtime-config-statistics-monitor" xreflabel="Statistics Monitoring">
<title>Statistics Monitoring</title>
<variablelist>
@@ -8907,7 +8907,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-vacuum">
+ <sect1 id="runtime-config-vacuum" xreflabel="Vacuuming">
<title>Vacuuming</title>
<indexterm>
@@ -8920,7 +8920,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
purpose and responsibilities of vacuum, see <xref linkend="routine-vacuuming"/>.
</para>
- <sect2 id="runtime-config-autovacuum">
+ <sect2 id="runtime-config-autovacuum" xreflabel="Automatic Vacuuming">
<title>Automatic Vacuuming</title>
<para>
@@ -9274,7 +9274,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</variablelist>
</sect2>
- <sect2 id="runtime-config-resource-vacuum-cost">
+ <sect2 id="runtime-config-resource-vacuum-cost" xreflabel="Cost-based Vacuum Delay">
<title>Cost-based Vacuum Delay</title>
<para>
@@ -9420,7 +9420,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</note>
</sect2>
- <sect2 id="runtime-config-vacuum-default">
+ <sect2 id="runtime-config-vacuum-default" xreflabel="Default Behavior">
<title>Default Behavior</title>
<variablelist>
@@ -9450,7 +9450,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</variablelist>
</sect2>
- <sect2 id="runtime-config-vacuum-freezing">
+ <sect2 id="runtime-config-vacuum-freezing" xreflabel="Freezing">
<title>Freezing</title>
<para>
@@ -9673,10 +9673,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</sect2>
</sect1>
- <sect1 id="runtime-config-client">
+ <sect1 id="runtime-config-client" xreflabel="Client Connection Defaults">
<title>Client Connection Defaults</title>
- <sect2 id="runtime-config-client-statement">
+ <sect2 id="runtime-config-client-statement" xreflabel="Statement Behavior">
<title>Statement Behavior</title>
<variablelist>
@@ -10516,7 +10516,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
</variablelist>
</sect2>
- <sect2 id="runtime-config-client-format">
+ <sect2 id="runtime-config-client-format" xreflabel="Locale and Formatting">
<title>Locale and Formatting</title>
<variablelist>
@@ -10824,7 +10824,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
</sect2>
- <sect2 id="runtime-config-client-preload">
+ <sect2 id="runtime-config-client-preload" xreflabel="Shared Library Preloading">
<title>Shared Library Preloading</title>
<para>
@@ -11034,7 +11034,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
</variablelist>
</sect2>
- <sect2 id="runtime-config-client-other">
+ <sect2 id="runtime-config-client-other" xreflabel="Other Defaults">
<title>Other Defaults</title>
<variablelist>
@@ -11187,7 +11187,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect2>
</sect1>
- <sect1 id="runtime-config-locks">
+ <sect1 id="runtime-config-locks" xreflabel="Lock Management">
<title>Lock Management</title>
<variablelist>
@@ -11334,10 +11334,10 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</variablelist>
</sect1>
- <sect1 id="runtime-config-compatible">
+ <sect1 id="runtime-config-compatible" xreflabel="Version and Platform Compatibility">
<title>Version and Platform Compatibility</title>
- <sect2 id="runtime-config-compatible-version">
+ <sect2 id="runtime-config-compatible-version" xreflabel="Previous PostgreSQL Versions">
<title>Previous PostgreSQL Versions</title>
<variablelist>
@@ -11522,7 +11522,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</variablelist>
</sect2>
- <sect2 id="runtime-config-compatible-clients">
+ <sect2 id="runtime-config-compatible-clients" xreflabel="Platform and Client Compatibility">
<title>Platform and Client Compatibility</title>
<variablelist>
@@ -11626,7 +11626,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect2>
</sect1>
- <sect1 id="runtime-config-error-handling">
+ <sect1 id="runtime-config-error-handling" xreflabel="Error Handling">
<title>Error Handling</title>
<variablelist>
@@ -11746,7 +11746,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</sect1>
- <sect1 id="runtime-config-preset">
+ <sect1 id="runtime-config-preset" xreflabel="Preset Options">
<title>Preset Options</title>
<para>
@@ -12113,7 +12113,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</variablelist>
</sect1>
- <sect1 id="runtime-config-custom">
+ <sect1 id="runtime-config-custom" xreflabel="Customized Options">
<title>Customized Options</title>
<para>
@@ -12142,7 +12142,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
</para>
</sect1>
- <sect1 id="runtime-config-developer">
+ <sect1 id="runtime-config-developer" xreflabel="Developer Options">
<title>Developer Options</title>
<para>
@@ -12981,7 +12981,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</variablelist>
</sect1>
- <sect1 id="runtime-config-short">
+ <sect1 id="runtime-config-short" xreflabel="Short Options">
<title>Short Options</title>
<para>
diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml
index 6fa9479d1b9..e71963ec58c 100644
--- a/doc/src/sgml/contrib-spi.sgml
+++ b/doc/src/sgml/contrib-spi.sgml
@@ -24,7 +24,7 @@
separately-installable extension.
</para>
- <sect2 id="contrib-spi-refint">
+ <sect2 id="contrib-spi-refint" xreflabel="refint — Functions for Implementing Referential Integrity">
<title>refint — Functions for Implementing Referential Integrity</title>
<para>
@@ -75,7 +75,7 @@
</para>
</sect2>
- <sect2 id="contrib-spi-autoinc">
+ <sect2 id="contrib-spi-autoinc" xreflabel="autoinc — Functions for Autoincrementing Fields">
<title>autoinc — Functions for Autoincrementing Fields</title>
<para>
@@ -104,7 +104,7 @@
</sect2>
- <sect2 id="contrib-spi-insert-username">
+ <sect2 id="contrib-spi-insert-username" xreflabel="insert_username — Functions for Tracking Who Changed a Table">
<title>insert_username — Functions for Tracking Who Changed a Table</title>
<para>
@@ -125,7 +125,7 @@
</sect2>
- <sect2 id="contrib-spi-moddatetime">
+ <sect2 id="contrib-spi-moddatetime" xreflabel="moddatetime — Functions for Tracking Last Modification Time">
<title>moddatetime — Functions for Tracking Last Modification Time</title>
<para>
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 24b706b29ad..34b5a48d085 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -207,7 +207,7 @@ pages.
other program.
</para>
- <sect1 id="contrib-prog-client">
+ <sect1 id="contrib-prog-client" xreflabel="Client Applications">
<title>Client Applications</title>
<para>
@@ -223,7 +223,7 @@ pages.
&vacuumlo;
</sect1>
- <sect1 id="contrib-prog-server">
+ <sect1 id="contrib-prog-server" xreflabel="Server Applications">
<title>Server Applications</title>
<para>
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index a11c0cbd767..141d8e55c7f 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -18,7 +18,7 @@
on the current database.
</para>
- <sect2 id="cube-syntax">
+ <sect2 id="cube-syntax" xreflabel="Syntax">
<title>Syntax</title>
<para>
@@ -99,7 +99,7 @@
</para>
</sect2>
- <sect2 id="cube-precision">
+ <sect2 id="cube-precision" xreflabel="Precision">
<title>Precision</title>
<para>
@@ -108,7 +108,7 @@
</para>
</sect2>
- <sect2 id="cube-usage">
+ <sect2 id="cube-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -533,7 +533,7 @@ SELECT c FROM test ORDER BY c ~> 3 DESC LIMIT 5;
</table>
</sect2>
- <sect2 id="cube-defaults">
+ <sect2 id="cube-defaults" xreflabel="Defaults">
<title>Defaults</title>
<para>
@@ -587,7 +587,7 @@ t
</programlisting>
</sect2>
- <sect2 id="cube-notes">
+ <sect2 id="cube-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -601,7 +601,7 @@ t
</para>
</sect2>
- <sect2 id="cube-credits">
+ <sect2 id="cube-credits" xreflabel="Credits">
<title>Credits</title>
<para>
diff --git a/doc/src/sgml/custom-rmgr.sgml b/doc/src/sgml/custom-rmgr.sgml
index 3032b2dc0d2..e972f5c4bf2 100644
--- a/doc/src/sgml/custom-rmgr.sgml
+++ b/doc/src/sgml/custom-rmgr.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/custom-rmgr.sgml -->
-<sect1 id="custom-rmgr">
+<sect1 id="custom-rmgr" xreflabel="Custom WAL Resource Managers">
<title>Custom WAL Resource Managers</title>
<para>
diff --git a/doc/src/sgml/custom-scan.sgml b/doc/src/sgml/custom-scan.sgml
index a200d502cdd..dde182f224a 100644
--- a/doc/src/sgml/custom-scan.sgml
+++ b/doc/src/sgml/custom-scan.sgml
@@ -31,7 +31,7 @@
the same relation.
</para>
- <sect1 id="custom-scan-path">
+ <sect1 id="custom-scan-path" xreflabel="Creating Custom Scan Paths">
<title>Creating Custom Scan Paths</title>
<para>
@@ -131,7 +131,7 @@ extern PGDLLIMPORT set_join_pathlist_hook_type set_join_pathlist_hook;
by the planner as the best path for the <literal>joinrel</literal>.
</para>
- <sect2 id="custom-scan-path-callbacks">
+ <sect2 id="custom-scan-path-callbacks" xreflabel="Custom Scan Path Callbacks">
<title>Custom Scan Path Callbacks</title>
<para>
@@ -167,7 +167,7 @@ List *(*ReparameterizeCustomPathByChild) (PlannerInfo *root,
</sect2>
</sect1>
- <sect1 id="custom-scan-plan">
+ <sect1 id="custom-scan-plan" xreflabel="Creating Custom Scan Plans">
<title>Creating Custom Scan Plans</title>
<para>
@@ -230,7 +230,7 @@ typedef struct CustomScan
for a <structname>CustomPath</structname> or <structname>CustomScanState</structname>.
</para>
- <sect2 id="custom-scan-plan-callbacks">
+ <sect2 id="custom-scan-plan-callbacks" xreflabel="Custom Scan Plan Callbacks">
<title>Custom Scan Plan Callbacks</title>
<para>
<programlisting>
@@ -249,7 +249,7 @@ Node *(*CreateCustomScanState) (CustomScan *cscan);
</sect2>
</sect1>
- <sect1 id="custom-scan-execution">
+ <sect1 id="custom-scan-execution" xreflabel="Executing Custom Scans">
<title>Executing Custom Scans</title>
<para>
@@ -279,7 +279,7 @@ typedef struct CustomScanState
structure embedding the above as its first member.
</para>
- <sect2 id="custom-scan-execution-callbacks">
+ <sect2 id="custom-scan-execution-callbacks" xreflabel="Custom Scan Execution Callbacks">
<title>Custom Scan Execution Callbacks</title>
<para>
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index e5267a8e4be..b4c4db61f90 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -335,7 +335,7 @@
the original input.
</para>
- <sect1 id="datatype-numeric">
+ <sect1 id="datatype-numeric" xreflabel="Numeric Types">
<title>Numeric Types</title>
<indexterm zone="datatype-numeric">
@@ -444,7 +444,7 @@
information. The following sections describe the types in detail.
</para>
- <sect2 id="datatype-int">
+ <sect2 id="datatype-int" xreflabel="Integer Types">
<title>Integer Types</title>
<indexterm zone="datatype-int">
@@ -500,7 +500,7 @@
</sect2>
- <sect2 id="datatype-numeric-decimal">
+ <sect2 id="datatype-numeric-decimal" xreflabel="Arbitrary Precision Numbers">
<title>Arbitrary Precision Numbers</title>
<indexterm>
@@ -735,7 +735,7 @@ FROM generate_series(-3.5, 3.5, 1) AS x;
</sect2>
- <sect2 id="datatype-float">
+ <sect2 id="datatype-float" xreflabel="Floating-Point Types">
<title>Floating-Point Types</title>
<indexterm zone="datatype-float">
@@ -915,7 +915,7 @@ FROM generate_series(-3.5, 3.5, 1) AS x;
</sect2>
- <sect2 id="datatype-serial">
+ <sect2 id="datatype-serial" xreflabel="Serial Types">
<title>Serial Types</title>
<indexterm zone="datatype-serial">
@@ -1038,7 +1038,7 @@ ALTER SEQUENCE <replaceable class="parameter">tablename</replaceable>_<replaceab
</sect2>
</sect1>
- <sect1 id="datatype-money">
+ <sect1 id="datatype-money" xreflabel="Monetary Types">
<title>Monetary Types</title>
<para>
@@ -1122,7 +1122,7 @@ SELECT '52093.89'::money::numeric::float8;
</sect1>
- <sect1 id="datatype-character">
+ <sect1 id="datatype-character" xreflabel="Character Types">
<title>Character Types</title>
<indexterm zone="datatype-character">
@@ -1403,7 +1403,7 @@ SELECT b, char_length(b) FROM test2;
</sect1>
- <sect1 id="datatype-binary">
+ <sect1 id="datatype-binary" xreflabel="Binary Data Types">
<title>Binary Data Types</title>
<indexterm zone="datatype-binary">
@@ -1478,7 +1478,7 @@ SELECT b, char_length(b) FROM test2;
mostly the same.
</para>
- <sect2 id="datatype-binary-bytea-hex-format">
+ <sect2 id="datatype-binary-bytea-hex-format" xreflabel="bytea Hex Format">
<title><type>bytea</type> Hex Format</title>
<para>
@@ -1510,7 +1510,7 @@ SELECT '\xDEADBEEF'::bytea;
</para>
</sect2>
- <sect2 id="datatype-binary-bytea-escape-format">
+ <sect2 id="datatype-binary-bytea-escape-format" xreflabel="bytea Escape Format">
<title><type>bytea</type> Escape Format</title>
<para>
@@ -1706,7 +1706,7 @@ SELECT 'abc \153\154\155 \052\251\124'::bytea;
</sect1>
- <sect1 id="datatype-datetime">
+ <sect1 id="datatype-datetime" xreflabel="Date/Time Types">
<title>Date/Time Types</title>
<indexterm zone="datatype-datetime">
@@ -1872,7 +1872,7 @@ MINUTE TO SECOND
any application.
</para>
- <sect2 id="datatype-datetime-input">
+ <sect2 id="datatype-datetime-input" xreflabel="Date/Time Input">
<title>Date/Time Input</title>
<para>
@@ -1916,7 +1916,7 @@ MINUTE TO SECOND
more than 6 digits).
</para>
- <sect3 id="datatype-datetime-input-dates">
+ <sect3 id="datatype-datetime-input-dates" xreflabel="Dates">
<title>Dates</title>
<indexterm>
@@ -2015,7 +2015,7 @@ MINUTE TO SECOND
</table>
</sect3>
- <sect3 id="datatype-datetime-input-times">
+ <sect3 id="datatype-datetime-input-times" xreflabel="Times">
<title>Times</title>
<indexterm>
@@ -2178,7 +2178,7 @@ MINUTE TO SECOND
</para>
</sect3>
- <sect3 id="datatype-datetime-input-time-stamps">
+ <sect3 id="datatype-datetime-input-time-stamps" xreflabel="Time Stamps">
<title>Time Stamps</title>
<indexterm>
@@ -2285,7 +2285,7 @@ TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
</para>
</sect3>
- <sect3 id="datatype-datetime-special-values">
+ <sect3 id="datatype-datetime-special-values" xreflabel="Special Values">
<title>Special Values</title>
<indexterm>
@@ -2396,7 +2396,7 @@ TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
</sect3>
</sect2>
- <sect2 id="datatype-datetime-output">
+ <sect2 id="datatype-datetime-output" xreflabel="Date/Time Output">
<title>Date/Time Output</title>
<indexterm>
@@ -2558,7 +2558,7 @@ TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
</para>
</sect2>
- <sect2 id="datatype-timezones">
+ <sect2 id="datatype-timezones" xreflabel="Time Zones">
<title>Time Zones</title>
<indexterm zone="datatype-timezones">
@@ -2741,7 +2741,7 @@ TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
</para>
</sect2>
- <sect2 id="datatype-interval-input">
+ <sect2 id="datatype-interval-input" xreflabel="Interval Input">
<title>Interval Input</title>
<indexterm>
@@ -2959,7 +2959,7 @@ SELECT '2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::interval;
</sect2>
- <sect2 id="datatype-interval-output">
+ <sect2 id="datatype-interval-output" xreflabel="Interval Output">
<title>Interval Output</title>
<indexterm>
@@ -3023,7 +3023,7 @@ SELECT '2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::interval;
ISO 8601 standard.
</para>
- <table id="interval-style-output-table">
+ <table id="interval-style-output-table" xreflabel="Interval Output Style Examples">
<title>Interval Output Style Examples</title>
<tgroup cols="4">
<thead>
@@ -3067,7 +3067,7 @@ SELECT '2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::interval;
</sect1>
- <sect1 id="datatype-boolean">
+ <sect1 id="datatype-boolean" xreflabel="Boolean Type">
<title>Boolean Type</title>
<indexterm zone="datatype-boolean">
@@ -3188,7 +3188,7 @@ SELECT * FROM test1 WHERE a;
</para>
</sect1>
- <sect1 id="datatype-enum">
+ <sect1 id="datatype-enum" xreflabel="Enumerated Types">
<title>Enumerated Types</title>
<indexterm zone="datatype-enum">
@@ -3209,7 +3209,7 @@ SELECT * FROM test1 WHERE a;
a piece of data.
</para>
- <sect2 id="datatype-enum-declaration">
+ <sect2 id="datatype-enum-declaration" xreflabel="Declaration of Enumerated Types">
<title>Declaration of Enumerated Types</title>
<para>
@@ -3239,7 +3239,7 @@ SELECT * FROM person WHERE current_mood = 'happy';
</para>
</sect2>
- <sect2 id="datatype-enum-ordering">
+ <sect2 id="datatype-enum-ordering" xreflabel="Ordering">
<title>Ordering</title>
<para>
@@ -3276,7 +3276,7 @@ WHERE current_mood = (SELECT MIN(current_mood) FROM person);
</para>
</sect2>
- <sect2 id="datatype-enum-type-safety">
+ <sect2 id="datatype-enum-type-safety" xreflabel="Type Safety">
<title>Type Safety</title>
<para>
@@ -3316,7 +3316,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-enum-implementation-details">
+ <sect2 id="datatype-enum-implementation-details" xreflabel="Implementation Details">
<title>Implementation Details</title>
<para>
@@ -3350,7 +3350,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</sect2>
</sect1>
- <sect1 id="datatype-geometric">
+ <sect1 id="datatype-geometric" xreflabel="Geometric Types">
<title>Geometric Types</title>
<para>
@@ -3438,7 +3438,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
intersections. They are explained in <xref linkend="functions-geometry"/>.
</para>
- <sect2 id="datatype-geometric-points">
+ <sect2 id="datatype-geometric-points" xreflabel="Points">
<title>Points</title>
<indexterm>
@@ -3464,7 +3464,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-line">
+ <sect2 id="datatype-line" xreflabel="Lines">
<title>Lines</title>
<indexterm>
@@ -3497,7 +3497,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-lseg">
+ <sect2 id="datatype-lseg" xreflabel="Line Segments">
<title>Line Segments</title>
<indexterm>
@@ -3532,7 +3532,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-geometric-boxes">
+ <sect2 id="datatype-geometric-boxes" xreflabel="Boxes">
<title>Boxes</title>
<indexterm>
@@ -3573,7 +3573,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-geometric-paths">
+ <sect2 id="datatype-geometric-paths" xreflabel="Paths">
<title>Paths</title>
<indexterm>
@@ -3612,7 +3612,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-polygon">
+ <sect2 id="datatype-polygon" xreflabel="Polygons">
<title>Polygons</title>
<indexterm>
@@ -3654,7 +3654,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-circle">
+ <sect2 id="datatype-circle" xreflabel="Circles">
<title>Circles</title>
<indexterm>
@@ -3686,7 +3686,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</sect1>
- <sect1 id="datatype-net-types">
+ <sect1 id="datatype-net-types" xreflabel="Network Address Types">
<title>Network Address Types</title>
<indexterm zone="datatype-net-types">
@@ -3754,7 +3754,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
- <sect2 id="datatype-inet">
+ <sect2 id="datatype-inet" xreflabel="inet">
<title><type>inet</type></title>
<indexterm>
@@ -3792,7 +3792,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</para>
</sect2>
- <sect2 id="datatype-cidr">
+ <sect2 id="datatype-cidr" xreflabel="cidr">
<title><type>cidr</type></title>
<indexterm>
@@ -3916,7 +3916,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</table>
</sect2>
- <sect2 id="datatype-inet-vs-cidr">
+ <sect2 id="datatype-inet-vs-cidr" xreflabel="inet vs. cidr">
<title><type>inet</type> vs. <type>cidr</type></title>
<para>
@@ -3936,7 +3936,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
</tip>
</sect2>
- <sect2 id="datatype-macaddr">
+ <sect2 id="datatype-macaddr" xreflabel="macaddr">
<title><type>macaddr</type></title>
<indexterm>
@@ -4062,7 +4062,7 @@ SELECT macaddr8_set7bit('08:00:2b:01:02:03');
</sect1>
- <sect1 id="datatype-bit">
+ <sect1 id="datatype-bit" xreflabel="Bit String Types">
<title>Bit String Types</title>
<indexterm zone="datatype-bit">
@@ -4138,7 +4138,7 @@ SELECT * FROM test;
</para>
</sect1>
- <sect1 id="datatype-textsearch">
+ <sect1 id="datatype-textsearch" xreflabel="Text Search Types">
<title>Text Search Types</title>
<indexterm zone="datatype-textsearch">
@@ -4164,7 +4164,7 @@ SELECT * FROM test;
related functions and operators.
</para>
- <sect2 id="datatype-tsvector">
+ <sect2 id="datatype-tsvector" xreflabel="tsvector">
<title><type>tsvector</type></title>
<indexterm>
@@ -4274,7 +4274,7 @@ SELECT to_tsvector('english', 'The Fat Rats');
</sect2>
- <sect2 id="datatype-tsquery">
+ <sect2 id="datatype-tsquery" xreflabel="tsquery">
<title><type>tsquery</type></title>
<indexterm>
@@ -4385,7 +4385,7 @@ SELECT to_tsvector( 'postgraduate' ), to_tsquery( 'postgres:*' );
</sect1>
- <sect1 id="datatype-uuid">
+ <sect1 id="datatype-uuid" xreflabel="UUID Type">
<title><acronym>UUID</acronym> Type</title>
<indexterm zone="datatype-uuid">
@@ -4445,7 +4445,7 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
</para>
</sect1>
- <sect1 id="datatype-xml">
+ <sect1 id="datatype-xml" xreflabel="XML Type">
<title><acronym>XML</acronym> Type</title>
<indexterm zone="datatype-xml">
@@ -4481,7 +4481,7 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
can be found in <xref linkend="xml-limits-conformance"/>.
</para>
- <sect2 id="datatype-xml-creating">
+ <sect2 id="datatype-xml-creating" xreflabel="Creating XML Values">
<title>Creating XML Values</title>
<para>
To produce a value of type <type>xml</type> from character data,
@@ -4558,7 +4558,7 @@ SET xmloption TO { DOCUMENT | CONTENT };
</sect2>
- <sect2 id="datatype-xml-encoding-handling">
+ <sect2 id="datatype-xml-encoding-handling" xreflabel="Encoding Handling">
<title>Encoding Handling</title>
<para>
Care must be taken when dealing with multiple character encodings
@@ -4616,7 +4616,7 @@ SET xmloption TO { DOCUMENT | CONTENT };
</caution>
</sect2>
- <sect2 id="datatype-xml-accessing-xml-values">
+ <sect2 id="datatype-xml-accessing-xml-values" xreflabel="Accessing XML Values">
<title>Accessing XML Values</title>
<para>
@@ -4659,7 +4659,7 @@ SET xmloption TO { DOCUMENT | CONTENT };
&rangetypes;
- <sect1 id="domains">
+ <sect1 id="domains" xreflabel="Domain Types">
<title>Domain Types</title>
<indexterm zone="domains">
@@ -4712,7 +4712,7 @@ INSERT INTO mytable VALUES(-1); -- fails
</para>
</sect1>
- <sect1 id="datatype-oid">
+ <sect1 id="datatype-oid" xreflabel="Object Identifier Types">
<title>Object Identifier Types</title>
<indexterm zone="datatype-oid">
@@ -5093,7 +5093,7 @@ WHERE ...
</para>
</sect1>
- <sect1 id="datatype-pg-lsn">
+ <sect1 id="datatype-pg-lsn" xreflabel="pg_lsn Type">
<title><type>pg_lsn</type> Type</title>
<indexterm zone="datatype-pg-lsn">
@@ -5125,7 +5125,7 @@ WHERE ...
</para>
</sect1>
- <sect1 id="datatype-pseudo">
+ <sect1 id="datatype-pseudo" xreflabel="Pseudo-Types">
<title>Pseudo-Types</title>
<indexterm zone="datatype-pseudo">
diff --git a/doc/src/sgml/datetime.sgml b/doc/src/sgml/datetime.sgml
index 5905f5fa550..7dddfd006b1 100644
--- a/doc/src/sgml/datetime.sgml
+++ b/doc/src/sgml/datetime.sgml
@@ -20,7 +20,7 @@
dates and times.
</para>
- <sect1 id="datetime-input-rules">
+ <sect1 id="datetime-input-rules" xreflabel="Date/Time Input Interpretation">
<title>Date/Time Input Interpretation</title>
<para>
@@ -177,7 +177,7 @@
</sect1>
- <sect1 id="datetime-invalid-input">
+ <sect1 id="datetime-invalid-input" xreflabel="Handling of Invalid or Ambiguous Timestamps">
<title>Handling of Invalid or Ambiguous Timestamps</title>
<para>
@@ -252,7 +252,7 @@
</sect1>
- <sect1 id="datetime-keywords">
+ <sect1 id="datetime-keywords" xreflabel="Date/Time Key Words">
<title>Date/Time Key Words</title>
<para>
@@ -413,7 +413,7 @@
</table>
</sect1>
- <sect1 id="datetime-config-files">
+ <sect1 id="datetime-config-files" xreflabel="Date/Time Configuration Files">
<title>Date/Time Configuration Files</title>
<indexterm>
@@ -587,7 +587,7 @@
</sect1>
- <sect1 id="datetime-posix-timezone-specs">
+ <sect1 id="datetime-posix-timezone-specs" xreflabel="POSIX Time Zone Specifications">
<title><acronym>POSIX</acronym> Time Zone Specifications</title>
<indexterm zone="datetime-posix-timezone-specs">
@@ -789,7 +789,7 @@
</sect1>
- <sect1 id="datetime-units-history">
+ <sect1 id="datetime-units-history" xreflabel="History of Units">
<title>History of Units</title>
<indexterm zone="datetime-units-history">
@@ -899,7 +899,7 @@ $ <userinput>cal 9 1752</userinput>
</sect1>
- <sect1 id="datetime-julian-dates">
+ <sect1 id="datetime-julian-dates" xreflabel="Julian Dates">
<title>Julian Dates</title>
<indexterm zone="datetime-julian-dates">
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index cea28c00f8a..116a41d3f6c 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -16,7 +16,7 @@
triggers.
</para>
- <sect1 id="ddl-basics">
+ <sect1 id="ddl-basics" xreflabel="Table Basics">
<title>Table Basics</title>
<indexterm zone="ddl-basics">
@@ -168,7 +168,7 @@ DROP TABLE products;
</para>
</sect1>
- <sect1 id="ddl-default">
+ <sect1 id="ddl-default" xreflabel="Default Values">
<title>Default Values</title>
<indexterm zone="ddl-default">
@@ -233,7 +233,7 @@ CREATE TABLE products (
</para>
</sect1>
- <sect1 id="ddl-identity-columns">
+ <sect1 id="ddl-identity-columns" xreflabel="Identity Columns">
<title>Identity Columns</title>
<indexterm zone="ddl-identity-columns">
@@ -345,7 +345,7 @@ INSERT INTO people (id, name, address) VALUES (<emphasis>DEFAULT</emphasis>, 'C'
</para>
</sect1>
- <sect1 id="ddl-generated-columns">
+ <sect1 id="ddl-generated-columns" xreflabel="Generated Columns">
<title>Generated Columns</title>
<indexterm zone="ddl-generated-columns">
@@ -562,7 +562,7 @@ CREATE TABLE people (
</para>
</sect1>
- <sect1 id="ddl-constraints">
+ <sect1 id="ddl-constraints" xreflabel="Constraints">
<title>Constraints</title>
<indexterm zone="ddl-constraints">
@@ -588,7 +588,7 @@ CREATE TABLE people (
even if the value came from the default value definition.
</para>
- <sect2 id="ddl-constraints-check-constraints">
+ <sect2 id="ddl-constraints-check-constraints" xreflabel="Check Constraints">
<title>Check Constraints</title>
<indexterm>
@@ -787,7 +787,7 @@ CREATE TABLE products (
</note>
</sect2>
- <sect2 id="ddl-constraints-not-null">
+ <sect2 id="ddl-constraints-not-null" xreflabel="Not-Null Constraints">
<title>Not-Null Constraints</title>
<indexterm>
@@ -890,7 +890,7 @@ CREATE TABLE products (
</tip>
</sect2>
- <sect2 id="ddl-constraints-unique-constraints">
+ <sect2 id="ddl-constraints-unique-constraints" xreflabel="Unique Constraints">
<title>Unique Constraints</title>
<indexterm>
@@ -999,7 +999,7 @@ CREATE TABLE products (
</para>
</sect2>
- <sect2 id="ddl-constraints-primary-keys">
+ <sect2 id="ddl-constraints-primary-keys" xreflabel="Primary Keys">
<title>Primary Keys</title>
<indexterm>
@@ -1074,7 +1074,7 @@ CREATE TABLE example (
</para>
</sect2>
- <sect2 id="ddl-constraints-fk">
+ <sect2 id="ddl-constraints-fk" xreflabel="Foreign Keys">
<title>Foreign Keys</title>
<indexterm>
@@ -1409,7 +1409,7 @@ CREATE TABLE posts (
</para>
</sect2>
- <sect2 id="ddl-constraints-exclusion">
+ <sect2 id="ddl-constraints-exclusion" xreflabel="Exclusion Constraints">
<title>Exclusion Constraints</title>
<indexterm>
@@ -1446,7 +1446,7 @@ CREATE TABLE circles (
</sect2>
</sect1>
- <sect1 id="ddl-system-columns">
+ <sect1 id="ddl-system-columns" xreflabel="System Columns">
<title>System Columns</title>
<para>
@@ -1585,7 +1585,7 @@ CREATE TABLE circles (
</para>
</sect1>
- <sect1 id="ddl-temporal-tables">
+ <sect1 id="ddl-temporal-tables" xreflabel="Temporal Tables">
<title>Temporal Tables</title>
<indexterm zone="ddl-temporal-tables">
@@ -1601,7 +1601,7 @@ CREATE TABLE circles (
to express and manage such histories in temporal tables.
</para>
- <sect2 id="ddl-application-time">
+ <sect2 id="ddl-application-time" xreflabel="Application Time">
<title>Application Time</title>
<indexterm zone="ddl-application-time">
@@ -1680,7 +1680,7 @@ CREATE TABLE products (
<quote>versions</quote> persist for extended periods of time.
</para>
- <sect3 id="ddl-application-time-primary-keys">
+ <sect3 id="ddl-application-time-primary-keys" xreflabel="Temporal Primary Keys and Unique Constraints">
<title>Temporal Primary Keys and Unique Constraints</title>
<para>
@@ -1756,7 +1756,7 @@ CREATE TABLE products (
</para>
</sect3>
- <sect3 id="ddl-application-time-foreign-keys">
+ <sect3 id="ddl-application-time-foreign-keys" xreflabel="Temporal Foreign Keys">
<title>Temporal Foreign Keys</title>
<para>
@@ -1855,7 +1855,7 @@ CREATE TABLE variants (
</sect3>
</sect2>
- <sect2 id="ddl-system-time">
+ <sect2 id="ddl-system-time" xreflabel="System Time">
<title>System Time</title>
<indexterm zone="ddl-system-time">
@@ -1876,7 +1876,7 @@ CREATE TABLE variants (
</sect2>
</sect1>
- <sect1 id="ddl-alter">
+ <sect1 id="ddl-alter" xreflabel="Modifying Tables">
<title>Modifying Tables</title>
<indexterm zone="ddl-alter">
@@ -1932,7 +1932,7 @@ CREATE TABLE variants (
here.
</para>
- <sect2 id="ddl-alter-adding-a-column">
+ <sect2 id="ddl-alter-adding-a-column" xreflabel="Adding a Column">
<title>Adding a Column</title>
<indexterm>
@@ -1986,7 +1986,7 @@ ALTER TABLE products ADD COLUMN description text CHECK (description <> '')
</sect2>
- <sect2 id="ddl-alter-removing-a-column">
+ <sect2 id="ddl-alter-removing-a-column" xreflabel="Removing a Column">
<title>Removing a Column</title>
<indexterm>
@@ -2013,7 +2013,7 @@ ALTER TABLE products DROP COLUMN description CASCADE;
</para>
</sect2>
- <sect2 id="ddl-alter-adding-a-constraint">
+ <sect2 id="ddl-alter-adding-a-constraint" xreflabel="Adding a Constraint">
<title>Adding a Constraint</title>
<indexterm>
@@ -2046,7 +2046,7 @@ ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
</para>
</sect2>
- <sect2 id="ddl-alter-removing-a-constraint">
+ <sect2 id="ddl-alter-removing-a-constraint" xreflabel="Removing a Constraint">
<title>Removing a Constraint</title>
<indexterm>
@@ -2087,7 +2087,7 @@ ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
</para>
</sect2>
- <sect2 id="ddl-alter-column-default">
+ <sect2 id="ddl-alter-column-default" xreflabel="Changing a Column's Default Value">
<title>Changing a Column's Default Value</title>
<indexterm>
@@ -2116,7 +2116,7 @@ ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
</para>
</sect2>
- <sect2 id="ddl-alter-column-type">
+ <sect2 id="ddl-alter-column-type" xreflabel="Changing a Column's Data Type">
<title>Changing a Column's Data Type</title>
<indexterm>
@@ -2145,7 +2145,7 @@ ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
</para>
</sect2>
- <sect2 id="ddl-alter-renaming-column">
+ <sect2 id="ddl-alter-renaming-column" xreflabel="Renaming a Column">
<title>Renaming a Column</title>
<indexterm>
@@ -2161,7 +2161,7 @@ ALTER TABLE products RENAME COLUMN product_no TO product_number;
</para>
</sect2>
- <sect2 id="ddl-alter-renaming-table">
+ <sect2 id="ddl-alter-renaming-table" xreflabel="Renaming a Table">
<title>Renaming a Table</title>
<indexterm>
@@ -2178,7 +2178,7 @@ ALTER TABLE products RENAME TO items;
</sect2>
</sect1>
- <sect1 id="ddl-priv">
+ <sect1 id="ddl-priv" xreflabel="Privileges">
<title>Privileges</title>
<indexterm zone="ddl-priv">
@@ -2888,7 +2888,7 @@ GRANT SELECT (col1), UPDATE (col1) ON mytable TO miriam_rw;
</para>
</sect1>
- <sect1 id="ddl-rowsecurity">
+ <sect1 id="ddl-rowsecurity" xreflabel="Row Security Policies">
<title>Row Security Policies</title>
<indexterm zone="ddl-rowsecurity">
@@ -3354,7 +3354,7 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE;
</sect1>
- <sect1 id="ddl-schemas">
+ <sect1 id="ddl-schemas" xreflabel="Schemas">
<title>Schemas</title>
<indexterm zone="ddl-schemas">
@@ -3425,7 +3425,7 @@ SELECT * FROM information WHERE group_id = 2 FOR UPDATE;
except that schemas cannot be nested.
</para>
- <sect2 id="ddl-schemas-create">
+ <sect2 id="ddl-schemas-create" xreflabel="Creating a Schema">
<title>Creating a Schema</title>
<indexterm zone="ddl-schemas-create">
@@ -3521,7 +3521,7 @@ CREATE SCHEMA <replaceable>schema_name</replaceable> AUTHORIZATION <replaceable>
</para>
</sect2>
- <sect2 id="ddl-schemas-public">
+ <sect2 id="ddl-schemas-public" xreflabel="The Public Schema">
<title>The Public Schema</title>
<indexterm zone="ddl-schemas-public">
@@ -3544,7 +3544,7 @@ CREATE TABLE public.products ( ... );
</para>
</sect2>
- <sect2 id="ddl-schemas-path">
+ <sect2 id="ddl-schemas-path" xreflabel="The Schema Search Path">
<title>The Schema Search Path</title>
<indexterm>
@@ -3678,7 +3678,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</para>
</sect2>
- <sect2 id="ddl-schemas-priv">
+ <sect2 id="ddl-schemas-priv" xreflabel="Schemas and Privileges">
<title>Schemas and Privileges</title>
<indexterm zone="ddl-schemas-priv">
@@ -3714,7 +3714,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-catalog">
+ <sect2 id="ddl-schemas-catalog" xreflabel="The System Catalog Schema">
<title>The System Catalog Schema</title>
<indexterm zone="ddl-schemas-catalog">
@@ -3748,7 +3748,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-patterns">
+ <sect2 id="ddl-schemas-patterns" xreflabel="Usage Patterns">
<title>Usage Patterns</title>
<para>
@@ -3837,7 +3837,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</para>
</sect2>
- <sect2 id="ddl-schemas-portability">
+ <sect2 id="ddl-schemas-portability" xreflabel="Portability">
<title>Portability</title>
<para>
@@ -3870,7 +3870,7 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
</sect2>
</sect1>
- <sect1 id="ddl-inherit">
+ <sect1 id="ddl-inherit" xreflabel="Inheritance">
<title>Inheritance</title>
<indexterm>
@@ -4154,7 +4154,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
the foreign table are not supported on the whole hierarchy either.
</para>
- <sect2 id="ddl-inherit-caveats">
+ <sect2 id="ddl-inherit-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -4227,7 +4227,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
</sect2>
</sect1>
- <sect1 id="ddl-partitioning">
+ <sect1 id="ddl-partitioning" xreflabel="Table Partitioning">
<title>Table Partitioning</title>
<indexterm>
@@ -4249,7 +4249,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
partitioning as part of your database design.
</para>
- <sect2 id="ddl-partitioning-overview">
+ <sect2 id="ddl-partitioning-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -4362,7 +4362,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
</para>
</sect2>
- <sect2 id="ddl-partitioning-declarative">
+ <sect2 id="ddl-partitioning-declarative" xreflabel="Declarative Partitioning">
<title>Declarative Partitioning</title>
<para>
@@ -4419,7 +4419,7 @@ VALUES ('Albany', NULL, NULL, 'NY');
information.
</para>
- <sect3 id="ddl-partitioning-declarative-example">
+ <sect3 id="ddl-partitioning-declarative-example" xreflabel="Example">
<title>Example</title>
<para>
@@ -4587,7 +4587,7 @@ CREATE INDEX ON measurement (logdate);
</para>
</sect3>
- <sect3 id="ddl-partitioning-declarative-maintenance">
+ <sect3 id="ddl-partitioning-declarative-maintenance" xreflabel="Partition Maintenance">
<title>Partition Maintenance</title>
<para>
@@ -4785,7 +4785,7 @@ ALTER TABLE measurement SPLIT PARTITION measurement_y2006q1 INTO
</sect3>
- <sect3 id="ddl-partitioning-declarative-limitations">
+ <sect3 id="ddl-partitioning-declarative-limitations" xreflabel="Limitations">
<title>Limitations</title>
<para>
@@ -4901,7 +4901,7 @@ ALTER TABLE measurement SPLIT PARTITION measurement_y2006q1 INTO
</sect3>
</sect2>
- <sect2 id="ddl-partitioning-using-inheritance">
+ <sect2 id="ddl-partitioning-using-inheritance" xreflabel="Partitioning Using Inheritance">
<title>Partitioning Using Inheritance</title>
<para>
@@ -4938,7 +4938,7 @@ ALTER TABLE measurement SPLIT PARTITION measurement_y2006q1 INTO
</itemizedlist>
</para>
- <sect3 id="ddl-partitioning-inheritance-example">
+ <sect3 id="ddl-partitioning-inheritance-example" xreflabel="Example">
<title>Example</title>
<para>
@@ -5195,7 +5195,7 @@ DO INSTEAD
</para>
</sect3>
- <sect3 id="ddl-partitioning-inheritance-maintenance">
+ <sect3 id="ddl-partitioning-inheritance-maintenance" xreflabel="Maintenance for Inheritance Partitioning">
<title>Maintenance for Inheritance Partitioning</title>
<para>
To remove old data quickly, simply drop the child table that is no longer
@@ -5241,7 +5241,7 @@ ALTER TABLE measurement_y2008m02 INHERIT measurement;
</para>
</sect3>
- <sect3 id="ddl-partitioning-inheritance-caveats">
+ <sect3 id="ddl-partitioning-inheritance-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -5314,7 +5314,7 @@ ANALYZE ONLY measurement;
</sect3>
</sect2>
- <sect2 id="ddl-partition-pruning">
+ <sect2 id="ddl-partition-pruning" xreflabel="Partition Pruning">
<title>Partition Pruning</title>
<indexterm>
@@ -5452,7 +5452,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect2>
- <sect2 id="ddl-partitioning-constraint-exclusion">
+ <sect2 id="ddl-partitioning-constraint-exclusion" xreflabel="Partitioning and Constraint Exclusion">
<title>Partitioning and Constraint Exclusion</title>
<indexterm>
@@ -5545,7 +5545,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect2>
- <sect2 id="ddl-partitioning-declarative-best-practices">
+ <sect2 id="ddl-partitioning-declarative-best-practices" xreflabel="Best Practices for Declarative Partitioning">
<title>Best Practices for Declarative Partitioning</title>
<para>
@@ -5629,7 +5629,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</sect1>
- <sect1 id="ddl-foreign-data">
+ <sect1 id="ddl-foreign-data" xreflabel="Foreign Data">
<title>Foreign Data</title>
<indexterm>
@@ -5693,7 +5693,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect1>
- <sect1 id="ddl-others">
+ <sect1 id="ddl-others" xreflabel="Other Database Objects">
<title>Other Database Objects</title>
<para>
@@ -5737,7 +5737,7 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate >= DATE '2008-01-01';
</para>
</sect1>
- <sect1 id="ddl-depend">
+ <sect1 id="ddl-depend" xreflabel="Dependency Tracking">
<title>Dependency Tracking</title>
<indexterm zone="ddl-depend">
diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml
index 3778efc83eb..f6561091579 100644
--- a/doc/src/sgml/dfunc.sgml
+++ b/doc/src/sgml/dfunc.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/dfunc.sgml -->
-<sect2 id="dfunc">
+<sect2 id="dfunc" xreflabel="Compiling and Linking Dynamically-Loaded Functions">
<title>Compiling and Linking Dynamically-Loaded Functions</title>
<para>
diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml
index b4ce5484823..3cc064a0e64 100644
--- a/doc/src/sgml/dict-int.sgml
+++ b/doc/src/sgml/dict-int.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="dict-int-config">
+ <sect2 id="dict-int-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -59,7 +59,7 @@
</itemizedlist>
</sect2>
- <sect2 id="dict-int-usage">
+ <sect2 id="dict-int-usage" xreflabel="Usage">
<title>Usage</title>
<para>
diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml
index a94c6430ed4..6da50a856c6 100644
--- a/doc/src/sgml/dict-xsyn.sgml
+++ b/doc/src/sgml/dict-xsyn.sgml
@@ -14,7 +14,7 @@
search for a word using any of its synonyms.
</para>
- <sect2 id="dict-xsyn-config">
+ <sect2 id="dict-xsyn-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -83,7 +83,7 @@ word syn1 syn2 syn3
</para>
</sect2>
- <sect2 id="dict-xsyn-usage">
+ <sect2 id="dict-xsyn-usage" xreflabel="Usage">
<title>Usage</title>
<para>
diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml
index 61c64cf6c49..a06e329f96b 100644
--- a/doc/src/sgml/dml.sgml
+++ b/doc/src/sgml/dml.sgml
@@ -12,7 +12,7 @@
from the database.
</para>
- <sect1 id="dml-insert">
+ <sect1 id="dml-insert" xreflabel="Inserting Data">
<title>Inserting Data</title>
<indexterm zone="dml-insert">
@@ -122,7 +122,7 @@ INSERT INTO products (product_no, name, price)
</tip>
</sect1>
- <sect1 id="dml-update">
+ <sect1 id="dml-update" xreflabel="Updating Data">
<title>Updating Data</title>
<indexterm zone="dml-update">
@@ -217,7 +217,7 @@ UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;
</para>
</sect1>
- <sect1 id="dml-delete">
+ <sect1 id="dml-delete" xreflabel="Deleting Data">
<title>Deleting Data</title>
<indexterm zone="dml-delete">
@@ -261,7 +261,7 @@ DELETE FROM products;
</para>
</sect1>
- <sect1 id="dml-returning">
+ <sect1 id="dml-returning" xreflabel="Returning Data from Modified Rows">
<title>Returning Data from Modified Rows</title>
<indexterm zone="dml-returning">
diff --git a/doc/src/sgml/docguide.sgml b/doc/src/sgml/docguide.sgml
index 7b61b4841aa..2c8954a191c 100644
--- a/doc/src/sgml/docguide.sgml
+++ b/doc/src/sgml/docguide.sgml
@@ -42,7 +42,7 @@
download.
</para>
- <sect1 id="docguide-docbook">
+ <sect1 id="docguide-docbook" xreflabel="DocBook">
<title>DocBook</title>
<para>
The documentation sources are written in
@@ -69,7 +69,7 @@
</sect1>
- <sect1 id="docguide-toolsets">
+ <sect1 id="docguide-toolsets" xreflabel="Tool Sets">
<title>Tool Sets</title>
<para>
@@ -150,7 +150,7 @@
here.
</para>
- <sect2 id="docguide-toolsets-inst-fedora-et-al">
+ <sect2 id="docguide-toolsets-inst-fedora-et-al" xreflabel="Installation on Fedora, RHEL, and Derivatives">
<title>Installation on Fedora, RHEL, and Derivatives</title>
<para>
@@ -161,7 +161,7 @@ yum install docbook-dtds docbook-style-xsl libxslt fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-freebsd">
+ <sect2 id="docguide-toolsets-inst-freebsd" xreflabel="Installation on FreeBSD">
<title>Installation on FreeBSD</title>
<para>
@@ -178,7 +178,7 @@ pkg install docbook-xml docbook-xsl libxslt fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-debian">
+ <sect2 id="docguide-toolsets-inst-debian" xreflabel="Debian Packages">
<title>Debian Packages</title>
<para>
@@ -191,7 +191,7 @@ apt-get install docbook-xml docbook-xsl libxml2-utils xsltproc fop
</para>
</sect2>
- <sect2 id="docguide-toolsets-inst-macos">
+ <sect2 id="docguide-toolsets-inst-macos" xreflabel="macOS">
<title>macOS</title>
<para>
@@ -232,7 +232,7 @@ postgres.sgml:21: warning: failed to load external entity "http://www.oasis-open
</para>
</sect2>
- <sect2 id="docguide-toolsets-configure">
+ <sect2 id="docguide-toolsets-configure" xreflabel="Detection by configure">
<title>Detection by <command>configure</command></title>
<para>
@@ -272,7 +272,7 @@ checking for dbtoepub... dbtoepub
</sect2>
</sect1>
- <sect1 id="docguide-build">
+ <sect1 id="docguide-build" xreflabel="Building the Documentation with Make">
<title>Building the Documentation with Make</title>
<para>
@@ -282,7 +282,7 @@ checking for dbtoepub... dbtoepub
documentation. (Remember to use GNU make.)
</para>
- <sect2 id="docguide-build-html">
+ <sect2 id="docguide-build-html" xreflabel="HTML">
<title>HTML</title>
<para>
@@ -311,7 +311,7 @@ checking for dbtoepub... dbtoepub
</para>
</sect2>
- <sect2 id="docguide-build-manpages">
+ <sect2 id="docguide-build-manpages" xreflabel="Manpages">
<title>Manpages</title>
<para>
@@ -325,7 +325,7 @@ checking for dbtoepub... dbtoepub
</para>
</sect2>
- <sect2 id="docguide-build-pdf">
+ <sect2 id="docguide-build-pdf" xreflabel="PDF">
<title>PDF</title>
<para>
@@ -391,7 +391,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</para>
</sect2>
- <sect2 id="docguide-build-syntax-check">
+ <sect2 id="docguide-build-syntax-check" xreflabel="Syntax Check">
<title>Syntax Check</title>
<para>
@@ -406,7 +406,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-build-meson">
+ <sect1 id="docguide-build-meson" xreflabel="Building the Documentation with Meson">
<title>Building the Documentation with Meson</title>
<para>
@@ -429,7 +429,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-authoring">
+ <sect1 id="docguide-authoring" xreflabel="Documentation Authoring">
<title>Documentation Authoring</title>
<para>
@@ -446,7 +446,7 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
correct mode.
</para>
- <sect2 id="docguide-authoring-emacs">
+ <sect2 id="docguide-authoring-emacs" xreflabel="Emacs">
<title>Emacs</title>
<para>
@@ -469,10 +469,10 @@ LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN
</sect1>
- <sect1 id="docguide-style">
+ <sect1 id="docguide-style" xreflabel="Style Guide">
<title>Style Guide</title>
- <sect2 id="docguide-style-ref-pages">
+ <sect2 id="docguide-style-ref-pages" xreflabel="Reference Pages">
<title>Reference Pages</title>
<para>
diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml
index 5a709e3d476..b0414b13129 100644
--- a/doc/src/sgml/earthdistance.sgml
+++ b/doc/src/sgml/earthdistance.sgml
@@ -44,7 +44,7 @@
</para>
</caution>
- <sect2 id="earthdistance-cube-based">
+ <sect2 id="earthdistance-cube-based" xreflabel="Cube-Based Earth Distances">
<title>Cube-Based Earth Distances</title>
<para>
@@ -202,7 +202,7 @@
</sect2>
- <sect2 id="earthdistance-point-based">
+ <sect2 id="earthdistance-point-based" xreflabel="Point-Based Earth Distances">
<title>Point-Based Earth Distances</title>
<para>
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 807dadcb4a3..802315850f0 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -22,7 +22,7 @@
many resources about SQL.
</para>
- <sect1 id="ecpg-concept">
+ <sect1 id="ecpg-concept" xreflabel="The Concept">
<title>The Concept</title>
<para>
@@ -86,7 +86,7 @@ EXEC SQL ...;
</para>
</sect1>
- <sect1 id="ecpg-connect">
+ <sect1 id="ecpg-connect" xreflabel="Managing Database Connections">
<title>Managing Database Connections</title>
<para>
@@ -94,7 +94,7 @@ EXEC SQL ...;
connections.
</para>
- <sect2 id="ecpg-connecting">
+ <sect2 id="ecpg-connecting" xreflabel="Connecting to the Database Server">
<title>Connecting to the Database Server</title>
<para>
@@ -271,7 +271,7 @@ EXEC SQL CONNECT TO :target USER :user USING :passwd;
</para>
</sect2>
- <sect2 id="ecpg-set-connection">
+ <sect2 id="ecpg-set-connection" xreflabel="Choosing a Connection">
<title>Choosing a Connection</title>
<para>
@@ -394,7 +394,7 @@ postgres
</para>
</sect2>
- <sect2 id="ecpg-disconnect">
+ <sect2 id="ecpg-disconnect" xreflabel="Closing a Connection">
<title>Closing a Connection</title>
<para>
@@ -437,7 +437,7 @@ EXEC SQL DISCONNECT <optional><replaceable>connection</replaceable></optional>;
</sect1>
- <sect1 id="ecpg-commands">
+ <sect1 id="ecpg-commands" xreflabel="Running SQL Commands">
<title>Running SQL Commands</title>
<para>
@@ -445,7 +445,7 @@ EXEC SQL DISCONNECT <optional><replaceable>connection</replaceable></optional>;
Below are some examples of how to do that.
</para>
- <sect2 id="ecpg-executing">
+ <sect2 id="ecpg-executing" xreflabel="Executing SQL Statements">
<title>Executing SQL Statements</title>
<para>
@@ -517,7 +517,7 @@ EXEC SQL SHOW search_path INTO :var;
</para>
</sect2>
- <sect2 id="ecpg-cursors">
+ <sect2 id="ecpg-cursors" xreflabel="Using Cursors">
<title>Using Cursors</title>
<para>
@@ -558,7 +558,7 @@ EXEC SQL COMMIT;
</note>
</sect2>
- <sect2 id="ecpg-transactions">
+ <sect2 id="ecpg-transactions" xreflabel="Managing Transactions">
<title>Managing Transactions</title>
<para>
@@ -644,7 +644,7 @@ EXEC SQL COMMIT;
</para>
</sect2>
- <sect2 id="ecpg-prepared">
+ <sect2 id="ecpg-prepared" xreflabel="Prepared Statements">
<title>Prepared Statements</title>
<para>
@@ -714,7 +714,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
</sect2>
</sect1>
- <sect1 id="ecpg-variables">
+ <sect1 id="ecpg-variables" xreflabel="Using Host Variables">
<title>Using Host Variables</title>
<para>
@@ -739,7 +739,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
in <xref linkend="ecpg-descriptors"/>.
</para>
- <sect2 id="ecpg-variables-overview">
+ <sect2 id="ecpg-variables-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -764,7 +764,7 @@ EXEC SQL INSERT INTO sometable VALUES (:v1, 'foo', :v2);
</para>
</sect2>
- <sect2 id="ecpg-declare-sections">
+ <sect2 id="ecpg-declare-sections" xreflabel="Declare Sections">
<title>Declare Sections</title>
<para>
@@ -815,7 +815,7 @@ EXEC SQL int i = 4;
</para>
</sect2>
- <sect2 id="ecpg-retrieving">
+ <sect2 id="ecpg-retrieving" xreflabel="Retrieving Query Results">
<title>Retrieving Query Results</title>
<para>
@@ -882,7 +882,7 @@ do
</sect2>
- <sect2 id="ecpg-variables-type-mapping">
+ <sect2 id="ecpg-variables-type-mapping" xreflabel="Type Mapping">
<title>Type Mapping</title>
<para>
@@ -1017,7 +1017,7 @@ do
</tgroup>
</table>
- <sect3 id="ecpg-char">
+ <sect3 id="ecpg-char" xreflabel="Handling Character Strings">
<title>Handling Character Strings</title>
<para>
@@ -1077,7 +1077,7 @@ struct varchar_var { int len; char arr[180]; } var;
</para>
</sect3>
- <sect3 id="ecpg-special-types">
+ <sect3 id="ecpg-special-types" xreflabel="Accessing Special Data Types">
<title>Accessing Special Data Types</title>
<para>
@@ -1104,7 +1104,7 @@ struct varchar_var { int len; char arr[180]; } var;
see <xref linkend="ecpg-pgtypes"/>.
</para>
- <sect4 id="ecpg-special-types-timestamp-date">
+ <sect4 id="ecpg-special-types-timestamp-date" xreflabel="timestamp, date">
<title>timestamp, date</title>
<para>
@@ -1156,7 +1156,7 @@ ts = 2010-06-27 18:03:56.949343
</para>
</sect4>
- <sect4 id="ecpg-type-interval">
+ <sect4 id="ecpg-type-interval" xreflabel="interval">
<title>interval</title>
<para>
@@ -1198,7 +1198,7 @@ EXEC SQL END DECLARE SECTION;
</para>
</sect4>
- <sect4 id="ecpg-type-numeric-decimal">
+ <sect4 id="ecpg-type-numeric-decimal" xreflabel="numeric, decimal">
<title>numeric, decimal</title>
<para>
@@ -1269,7 +1269,7 @@ EXEC SQL END DECLARE SECTION;
</para>
</sect4>
- <sect4 id="ecpg-special-types-bytea">
+ <sect4 id="ecpg-special-types-bytea" xreflabel="bytea">
<title>bytea</title>
<para>
@@ -1300,7 +1300,7 @@ struct bytea_var { int len; char arr[180]; } var;
</sect4>
</sect3>
- <sect3 id="ecpg-variables-nonprimitive-c">
+ <sect3 id="ecpg-variables-nonprimitive-c" xreflabel="Host Variables with Nonprimitive Types">
<title>Host Variables with Nonprimitive Types</title>
<para>
@@ -1308,7 +1308,7 @@ struct bytea_var { int len; char arr[180]; } var;
pointers.
</para>
- <sect4 id="ecpg-variables-arrays">
+ <sect4 id="ecpg-variables-arrays" xreflabel="Arrays">
<title>Arrays</title>
<para>
@@ -1371,7 +1371,7 @@ oid=0, dbname=
</para>
</sect4>
- <sect4 id="ecpg-variables-struct">
+ <sect4 id="ecpg-variables-struct" xreflabel="Structures">
<title>Structures</title>
<para>
@@ -1475,7 +1475,7 @@ EXEC SQL END DECLARE SECTION;
</para>
</sect4>
- <sect4 id="ecpg-variables-nonprimitive-c-typedefs">
+ <sect4 id="ecpg-variables-nonprimitive-c-typedefs" xreflabel="Typedefs">
<title>Typedefs</title>
<indexterm>
<primary>typedef</primary>
@@ -1532,7 +1532,7 @@ EXEC SQL START TRANSACTION;
</note>
</sect4>
- <sect4 id="ecpg-variables-nonprimitive-c-pointers">
+ <sect4 id="ecpg-variables-nonprimitive-c-pointers" xreflabel="Pointers">
<title>Pointers</title>
<para>
@@ -1554,7 +1554,7 @@ EXEC SQL END DECLARE SECTION;
</sect3>
</sect2>
- <sect2 id="ecpg-variables-nonprimitive-sql">
+ <sect2 id="ecpg-variables-nonprimitive-sql" xreflabel="Handling Nonprimitive SQL Data Types">
<title>Handling Nonprimitive SQL Data Types</title>
<para>
@@ -1564,7 +1564,7 @@ EXEC SQL END DECLARE SECTION;
nonprimitive types, described in the previous section.
</para>
- <sect3 id="ecpg-variables-nonprimitive-sql-arrays">
+ <sect3 id="ecpg-variables-nonprimitive-sql-arrays" xreflabel="Arrays">
<title>Arrays</title>
<para>
@@ -1687,7 +1687,7 @@ while (1)
</para>
</sect3>
- <sect3 id="ecpg-variables-nonprimitive-sql-composite">
+ <sect3 id="ecpg-variables-nonprimitive-sql-composite" xreflabel="Composite Types">
<title>Composite Types</title>
<para>
@@ -1807,7 +1807,7 @@ while (1)
</para>
</sect3>
- <sect3 id="ecpg-variables-nonprimitive-sql-user-defined-base-types">
+ <sect3 id="ecpg-variables-nonprimitive-sql-user-defined-base-types" xreflabel="User-Defined Base Types">
<title>User-Defined Base Types</title>
<para>
@@ -1895,7 +1895,7 @@ EXEC SQL INSERT INTO test_complex VALUES ('(1,2)', '(3,4)');
</sect3>
</sect2>
- <sect2 id="ecpg-indicators">
+ <sect2 id="ecpg-indicators" xreflabel="Indicators">
<title>Indicators</title>
<para>
@@ -1943,7 +1943,7 @@ EXEC SQL SELECT b INTO :val :val_ind FROM test1;
</sect2>
</sect1>
- <sect1 id="ecpg-dynamic">
+ <sect1 id="ecpg-dynamic" xreflabel="Dynamic SQL">
<title>Dynamic SQL</title>
<para>
@@ -1956,7 +1956,7 @@ EXEC SQL SELECT b INTO :val :val_ind FROM test1;
provide in a string variable.
</para>
- <sect2 id="ecpg-dynamic-without-result">
+ <sect2 id="ecpg-dynamic-without-result" xreflabel="Executing Statements without a Result Set">
<title>Executing Statements without a Result Set</title>
<para>
@@ -1978,7 +1978,7 @@ EXEC SQL EXECUTE IMMEDIATE :stmt;
</para>
</sect2>
- <sect2 id="ecpg-dynamic-input">
+ <sect2 id="ecpg-dynamic-input" xreflabel="Executing a Statement with Input Parameters">
<title>Executing a Statement with Input Parameters</title>
<para>
@@ -2009,7 +2009,7 @@ EXEC SQL DEALLOCATE PREPARE <replaceable>name</replaceable>;
</para>
</sect2>
- <sect2 id="ecpg-dynamic-with-result">
+ <sect2 id="ecpg-dynamic-with-result" xreflabel="Executing a Statement with a Result Set">
<title>Executing a Statement with a Result Set</title>
<para>
@@ -2072,7 +2072,7 @@ EXEC SQL DISCONNECT ALL;
</sect2>
</sect1>
- <sect1 id="ecpg-pgtypes">
+ <sect1 id="ecpg-pgtypes" xreflabel="pgtypes Library">
<title>pgtypes Library</title>
<para>
@@ -2099,7 +2099,7 @@ PGTYPESchar_free(out);
</programlisting>
</para>
- <sect2 id="ecpg-pgtypes-cstrings">
+ <sect2 id="ecpg-pgtypes-cstrings" xreflabel="Character Strings">
<title>Character Strings</title>
<para>
Some functions such as <function>PGTYPESnumeric_to_asc</function> return
@@ -2111,7 +2111,7 @@ PGTYPESchar_free(out);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-numeric">
+ <sect2 id="ecpg-pgtypes-numeric" xreflabel="The numeric Type">
<title>The numeric Type</title>
<para>
The numeric type offers to do calculations with arbitrary precision. See
@@ -2436,7 +2436,7 @@ int PGTYPESnumeric_from_decimal(decimal *src, numeric *dst);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-date">
+ <sect2 id="ecpg-pgtypes-date" xreflabel="The date Type">
<title>The date Type</title>
<para>
The date type in C enables your programs to deal with data of the SQL type
@@ -2914,7 +2914,7 @@ int PGTYPESdate_defmt_asc(date *d, char *fmt, char *str);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-timestamp">
+ <sect2 id="ecpg-pgtypes-timestamp" xreflabel="The timestamp Type">
<title>The timestamp Type</title>
<para>
The timestamp type in C enables your programs to deal with data of the SQL
@@ -3444,7 +3444,7 @@ int PGTYPEStimestamp_sub_interval(timestamp *tin, interval *span, timestamp *tou
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-interval">
+ <sect2 id="ecpg-pgtypes-interval" xreflabel="The interval Type">
<title>The interval Type</title>
<para>
The interval type in C enables your programs to deal with data of the SQL
@@ -3532,7 +3532,7 @@ int PGTYPESinterval_copy(interval *intvlsrc, interval *intvldest);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-decimal">
+ <sect2 id="ecpg-pgtypes-decimal" xreflabel="The decimal Type">
<title>The decimal Type</title>
<para>
The decimal type is similar to the numeric type. However it is limited to
@@ -3576,7 +3576,7 @@ void PGTYPESdecimal_free(decimal *var);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-errno">
+ <sect2 id="ecpg-pgtypes-errno" xreflabel="errno Values of pgtypeslib">
<title>errno Values of pgtypeslib</title>
<para>
<variablelist>
@@ -3718,7 +3718,7 @@ void PGTYPESdecimal_free(decimal *var);
</para>
</sect2>
- <sect2 id="ecpg-pgtypes-constants">
+ <sect2 id="ecpg-pgtypes-constants" xreflabel="Special Constants of pgtypeslib">
<title>Special Constants of pgtypeslib</title>
<para>
<variablelist>
@@ -3744,7 +3744,7 @@ void PGTYPESdecimal_free(decimal *var);
</sect2>
</sect1>
- <sect1 id="ecpg-descriptors">
+ <sect1 id="ecpg-descriptors" xreflabel="Using Descriptor Areas">
<title>Using Descriptor Areas</title>
<para>
@@ -3759,7 +3759,7 @@ void PGTYPESdecimal_free(decimal *var);
SQLDAs.
</para>
- <sect2 id="ecpg-named-descriptors">
+ <sect2 id="ecpg-named-descriptors" xreflabel="Named SQL Descriptor Areas">
<title>Named SQL Descriptor Areas</title>
<para>
@@ -4017,7 +4017,7 @@ EXEC SQL GET DESCRIPTOR mydesc VALUE 1 :id = DATA;
</sect2>
- <sect2 id="ecpg-sqlda-descriptors">
+ <sect2 id="ecpg-sqlda-descriptors" xreflabel="SQLDA Descriptor Areas">
<title>SQLDA Descriptor Areas</title>
<para>
@@ -4054,7 +4054,7 @@ EXEC SQL DESCRIBE prepared_statement INTO mysqlda;
<step><simpara>Free the memory area allocated for the input SQLDA.</simpara></step>
</procedure>
- <sect3 id="ecpg-sqlda-descriptors-sqlda">
+ <sect3 id="ecpg-sqlda-descriptors-sqlda" xreflabel="SQLDA Data Structure">
<title>SQLDA Data Structure</title>
<para>
@@ -4071,7 +4071,7 @@ EXEC SQL DESCRIBE prepared_statement INTO mysqlda;
</para>
</tip>
- <sect4 id="ecpg-sqlda-sqlda">
+ <sect4 id="ecpg-sqlda-sqlda" xreflabel="sqlda_t Structure">
<title>sqlda_t Structure</title>
<para>
@@ -4169,7 +4169,7 @@ typedef struct sqlda_struct sqlda_t;
</para>
</sect4>
- <sect4 id="ecpg-sqlda-sqlvar">
+ <sect4 id="ecpg-sqlda-sqlvar" xreflabel="sqlvar_t Structure">
<title>sqlvar_t Structure</title>
<para>
@@ -4244,7 +4244,7 @@ typedef struct sqlvar_struct sqlvar_t;
</para>
</sect4>
- <sect4 id="ecpg-sqlda-sqlname">
+ <sect4 id="ecpg-sqlda-sqlname" xreflabel="struct sqlname Structure">
<title>struct sqlname Structure</title>
<para>
@@ -4283,7 +4283,7 @@ struct sqlname
</sect4>
</sect3>
- <sect3 id="ecpg-sqlda-output">
+ <sect3 id="ecpg-sqlda-output" xreflabel="Retrieving a Result Set Using an SQLDA">
<title>Retrieving a Result Set Using an SQLDA</title>
<procedure>
@@ -4372,7 +4372,7 @@ switch (v.sqltype)
</para>
</sect3>
- <sect3 id="ecpg-sqlda-input">
+ <sect3 id="ecpg-sqlda-input" xreflabel="Passing Query Parameters Using an SQLDA">
<title>Passing Query Parameters Using an SQLDA</title>
<procedure>
@@ -4458,7 +4458,7 @@ free(sqlda2);
</para>
</sect3>
- <sect3 id="ecpg-sqlda-example">
+ <sect3 id="ecpg-sqlda-example" xreflabel="A Sample Application Using SQLDA">
<title>A Sample Application Using SQLDA</title>
<para>
@@ -4813,7 +4813,7 @@ tup_deleted = 0 (type: 9)
</sect2>
</sect1>
- <sect1 id="ecpg-errors">
+ <sect1 id="ecpg-errors" xreflabel="Error Handling">
<title>Error Handling</title>
<para>
@@ -4838,7 +4838,7 @@ tup_deleted = 0 (type: 9)
</itemizedlist>
</para>
- <sect2 id="ecpg-whenever">
+ <sect2 id="ecpg-whenever" xreflabel="Setting Callbacks">
<title>Setting Callbacks</title>
<para>
@@ -5029,7 +5029,7 @@ static void set_error_handler(void)
</para>
</sect2>
- <sect2 id="ecpg-sqlca">
+ <sect2 id="ecpg-sqlca" xreflabel="sqlca">
<title>sqlca</title>
<para>
@@ -5172,7 +5172,7 @@ sqlstate: 42P01
</para>
</sect2>
- <sect2 id="ecpg-sqlstate-sqlcode">
+ <sect2 id="ecpg-sqlstate-sqlcode" xreflabel="SQLSTATE vs. SQLCODE">
<title><literal>SQLSTATE</literal> vs. <literal>SQLCODE</literal></title>
<para>
@@ -5684,7 +5684,7 @@ while (1)
</sect2>
</sect1>
- <sect1 id="ecpg-preproc">
+ <sect1 id="ecpg-preproc" xreflabel="Preprocessor Directives">
<title>Preprocessor Directives</title>
<para>
@@ -5693,7 +5693,7 @@ while (1)
file.
</para>
- <sect2 id="ecpg-include">
+ <sect2 id="ecpg-include" xreflabel="Including Files">
<title>Including Files</title>
<para>
@@ -5752,7 +5752,7 @@ EXEC SQL INCLUDE "<replaceable>filename</replaceable>";
</note>
</sect2>
- <sect2 id="ecpg-define">
+ <sect2 id="ecpg-define" xreflabel="The define and undef Directives">
<title>The define and undef Directives</title>
<para>
Similar to the directive <literal>#define</literal> that is known from C,
@@ -5803,7 +5803,7 @@ EXEC SQL UPDATE Tbl SET col = MYNUMBER;
</para>
</sect2>
- <sect2 id="ecpg-ifdef">
+ <sect2 id="ecpg-ifdef" xreflabel="ifdef, ifndef, elif, else, and endif Directives">
<title>ifdef, ifndef, elif, else, and endif Directives</title>
<para>
You can use the following directives to compile code sections conditionally:
@@ -5898,7 +5898,7 @@ EXEC SQL endif;
</sect2>
</sect1>
- <sect1 id="ecpg-process">
+ <sect1 id="ecpg-process" xreflabel="Processing Embedded SQL Programs">
<title>Processing Embedded SQL Programs</title>
<para>
@@ -5986,7 +5986,7 @@ ECPG = ecpg
</para>
</sect1>
- <sect1 id="ecpg-library">
+ <sect1 id="ecpg-library" xreflabel="Library Functions">
<title>Library Functions</title>
<para>
@@ -6060,7 +6060,7 @@ ECPG = ecpg
</itemizedlist>
</sect1>
- <sect1 id="ecpg-lo">
+ <sect1 id="ecpg-lo" xreflabel="Large Objects">
<title>Large Objects</title>
<para>
@@ -6175,7 +6175,7 @@ main(void)
</example>
</sect1>
- <sect1 id="ecpg-cpp">
+ <sect1 id="ecpg-cpp" xreflabel="C++ Applications">
<title><acronym>C++</acronym> Applications</title>
<para>
@@ -6211,7 +6211,7 @@ main(void)
about that.
</para>
- <sect2 id="ecpg-cpp-scope">
+ <sect2 id="ecpg-cpp-scope" xreflabel="Scope for Host Variables">
<title>Scope for Host Variables</title>
<para>
@@ -6290,7 +6290,7 @@ void TestCpp::test()
</para>
</sect2>
- <sect2 id="ecpg-cpp-and-c">
+ <sect2 id="ecpg-cpp-and-c" xreflabel="C++ Application Development with External C Module">
<title>C++ Application Development with External C Module</title>
<para>
@@ -6458,7 +6458,7 @@ c++ test_cpp.o test_mod.o -lecpg -o test_cpp
</sect2>
</sect1>
- <sect1 id="ecpg-sql-commands">
+ <sect1 id="ecpg-sql-commands" xreflabel="Embedded SQL Commands">
<title>Embedded SQL Commands</title>
<para>
@@ -8215,7 +8215,7 @@ main(void)
</refentry>
</sect1>
- <sect1 id="ecpg-informix-compat">
+ <sect1 id="ecpg-informix-compat" xreflabel="Informix Compatibility Mode">
<title><productname>Informix</productname> Compatibility Mode</title>
<para>
<command>ecpg</command> can be run in a so-called <firstterm>Informix compatibility mode</firstterm>. If
@@ -8269,7 +8269,7 @@ $COMMIT;
find support in ECPG for that either.
</para>
- <sect2 id="ecpg-informix-types">
+ <sect2 id="ecpg-informix-types" xreflabel="Additional Types">
<title>Additional Types</title>
<para>
The Informix-special "string" pseudo-type for storing right-trimmed character string data is now
@@ -8285,7 +8285,7 @@ EXEC SQL FETCH MYCUR INTO :userid;
</para>
</sect2>
- <sect2 id="ecpg-informix-statements">
+ <sect2 id="ecpg-informix-statements" xreflabel="Additional/Missing Embedded SQL Statements">
<title>Additional/Missing Embedded SQL Statements</title>
<para>
<variablelist>
@@ -8327,7 +8327,7 @@ EXEC SQL CLOSE DATABASE;
</para>
</sect2>
- <sect2 id="ecpg-informix-sqlda">
+ <sect2 id="ecpg-informix-sqlda" xreflabel="Informix-compatible SQLDA Descriptor Areas">
<title>Informix-compatible SQLDA Descriptor Areas</title>
<para>
Informix-compatible mode supports a different structure than the one described in
@@ -8604,7 +8604,7 @@ EXEC SQL INCLUDE sqlda.h;
</para>
</sect2>
- <sect2 id="ecpg-informix-functions">
+ <sect2 id="ecpg-informix-functions" xreflabel="Additional Functions">
<title>Additional Functions</title>
<para>
<variablelist>
@@ -9662,7 +9662,7 @@ risnull(CINTTYPE, (char *) &i);
</para>
</sect2>
- <sect2 id="ecpg-informix-constants">
+ <sect2 id="ecpg-informix-constants" xreflabel="Additional Constants">
<title>Additional Constants</title>
<para>
Note that all constants here describe errors and all of them are defined
@@ -9830,7 +9830,7 @@ risnull(CINTTYPE, (char *) &i);
</sect2>
</sect1>
- <sect1 id="ecpg-oracle-compat">
+ <sect1 id="ecpg-oracle-compat" xreflabel="Oracle Compatibility Mode">
<title><productname>Oracle</productname> Compatibility Mode</title>
<para>
<command>ecpg</command> can be run in a so-called <firstterm>Oracle
@@ -9866,7 +9866,7 @@ risnull(CINTTYPE, (char *) &i);
</para>
</sect1>
- <sect1 id="ecpg-develop">
+ <sect1 id="ecpg-develop" xreflabel="Internals">
<title>Internals</title>
<para>
diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml
index c10627554bd..c82d8d8f116 100644
--- a/doc/src/sgml/event-trigger.sgml
+++ b/doc/src/sgml/event-trigger.sgml
@@ -21,7 +21,7 @@
SQL.
</para>
- <sect1 id="event-trigger-definition">
+ <sect1 id="event-trigger-definition" xreflabel="Overview of Event Trigger Behavior">
<title>Overview of Event Trigger Behavior</title>
<para>
@@ -36,7 +36,7 @@
Support for additional events may be added in future releases.
</para>
- <sect2 id="event-trigger-login">
+ <sect2 id="event-trigger-login" xreflabel="login">
<title>login</title>
<para>
@@ -161,7 +161,7 @@
</para>
</sect2>
- <sect2 id="event-trigger-aborted-transactions">
+ <sect2 id="event-trigger-aborted-transactions" xreflabel="Event Triggers in Aborted Transactions">
<title>Event Triggers in Aborted Transactions</title>
<para>
@@ -177,7 +177,7 @@
</para>
</sect2>
- <sect2 id="event-trigger-creating">
+ <sect2 id="event-trigger-creating" xreflabel="Creating Event Triggers">
<title>Creating Event Triggers</title>
<para>
@@ -203,7 +203,7 @@
</sect2>
</sect1>
- <sect1 id="event-trigger-interface">
+ <sect1 id="event-trigger-interface" xreflabel="Writing Event Trigger Functions in C">
<title>Writing Event Trigger Functions in C</title>
<indexterm zone="event-trigger-interface">
@@ -317,7 +317,7 @@ typedef struct EventTriggerData
</para>
</sect1>
- <sect1 id="event-trigger-example">
+ <sect1 id="event-trigger-example" xreflabel="A Complete Event Trigger Example">
<title>A Complete Event Trigger Example</title>
<para>
@@ -410,7 +410,7 @@ COMMIT;
</para>
</sect1>
- <sect1 id="event-trigger-table-rewrite-example">
+ <sect1 id="event-trigger-table-rewrite-example" xreflabel="A Table Rewrite Event Trigger Example">
<title>A Table Rewrite Event Trigger Example</title>
<para>
@@ -464,7 +464,7 @@ CREATE EVENT TRIGGER no_rewrite_allowed
</para>
</sect1>
- <sect1 id="event-trigger-database-login-example">
+ <sect1 id="event-trigger-database-login-example" xreflabel="A Database Login Event Trigger Example">
<title>A Database Login Event Trigger Example</title>
<para>
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 63c5ec6d1eb..d4ae0553539 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -46,7 +46,7 @@
</itemizedlist>
</para>
- <sect1 id="extend-how">
+ <sect1 id="extend-how" xreflabel="How Extensibility Works">
<title>How Extensibility Works</title>
<para>
@@ -85,7 +85,7 @@
</para>
</sect1>
- <sect1 id="extend-type-system">
+ <sect1 id="extend-type-system" xreflabel="The PostgreSQL Type System">
<title>The <productname>PostgreSQL</productname> Type System</title>
<indexterm zone="extend-type-system">
@@ -120,7 +120,7 @@
types, container types, domains, and pseudo-types.
</para>
- <sect2 id="extend-type-system-base">
+ <sect2 id="extend-type-system-base" xreflabel="Base Types">
<title>Base Types</title>
<para>
@@ -143,7 +143,7 @@
</para>
</sect2>
- <sect2 id="extend-type-system-container">
+ <sect2 id="extend-type-system-container" xreflabel="Container Types">
<title>Container Types</title>
<para>
@@ -180,7 +180,7 @@
</para>
</sect2>
- <sect2 id="extend-type-system-domains">
+ <sect2 id="extend-type-system-domains" xreflabel="Domains">
<title>Domains</title>
<para>
@@ -193,7 +193,7 @@
</para>
</sect2>
- <sect2 id="extend-type-system-pseudo">
+ <sect2 id="extend-type-system-pseudo" xreflabel="Pseudo-Types">
<title>Pseudo-Types</title>
<para>
@@ -207,7 +207,7 @@
</para>
</sect2>
- <sect2 id="extend-types-polymorphic">
+ <sect2 id="extend-types-polymorphic" xreflabel="Polymorphic Types">
<title>Polymorphic Types</title>
<indexterm zone="extend-types-polymorphic">
@@ -515,7 +515,7 @@ RETURNS anycompatible AS ...
&xindex;
- <sect1 id="extend-extensions">
+ <sect1 id="extend-extensions" xreflabel="Packaging Related Objects into an Extension">
<title>Packaging Related Objects into an Extension</title>
<indexterm zone="extend-extensions">
@@ -628,7 +628,7 @@ RETURNS anycompatible AS ...
dropping the whole extension.
</para>
- <sect2 id="extend-extensions-files">
+ <sect2 id="extend-extensions-files" xreflabel="Extension Files">
<title>Extension Files</title>
<indexterm>
@@ -887,7 +887,7 @@ RETURNS anycompatible AS ...
</sect2>
- <sect2 id="extend-extensions-relocation">
+ <sect2 id="extend-extensions-relocation" xreflabel="Extension Relocatability">
<title>Extension Relocatability</title>
<para>
@@ -1015,7 +1015,7 @@ SET LOCAL search_path TO @extschema@, pg_temp;
</para>
</sect2>
- <sect2 id="extend-extensions-config-tables">
+ <sect2 id="extend-extensions-config-tables" xreflabel="Extension Configuration Tables">
<title>Extension Configuration Tables</title>
<para>
@@ -1107,7 +1107,7 @@ SELECT pg_catalog.pg_extension_config_dump('my_config', 'WHERE NOT standard_entr
</para>
</sect2>
- <sect2 id="extend-extensions-updates">
+ <sect2 id="extend-extensions-updates" xreflabel="Extension Updates">
<title>Extension Updates</title>
<para>
@@ -1188,7 +1188,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
</para>
</sect2>
- <sect2 id="extend-extensions-update-scripts">
+ <sect2 id="extend-extensions-update-scripts" xreflabel="Installing Extensions Using Update Scripts">
<title>Installing Extensions Using Update Scripts</title>
<para>
@@ -1229,7 +1229,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
</para>
</sect2>
- <sect2 id="extend-extensions-security">
+ <sect2 id="extend-extensions-security" xreflabel="Security Considerations for Extensions">
<title>Security Considerations for Extensions</title>
<para>
@@ -1264,7 +1264,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
<xref linkend="extend-extensions-security-scripts"/>.
</para>
- <sect3 id="extend-extensions-security-funcs">
+ <sect3 id="extend-extensions-security-funcs" xreflabel="Security Considerations for Extension Functions">
<title>Security Considerations for Extension Functions</title>
<para>
@@ -1316,7 +1316,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
</para>
</sect3>
- <sect3 id="extend-extensions-security-scripts">
+ <sect3 id="extend-extensions-security-scripts" xreflabel="Security Considerations for Extension Scripts">
<title>Security Considerations for Extension Scripts</title>
<para>
@@ -1362,7 +1362,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
</sect3>
</sect2>
- <sect2 id="extend-extensions-example">
+ <sect2 id="extend-extensions-example" xreflabel="Extension Example">
<title>Extension Example</title>
<para>
@@ -1439,7 +1439,7 @@ include $(PGXS)
</sect2>
</sect1>
- <sect1 id="extend-pgxs">
+ <sect1 id="extend-pgxs" xreflabel="Extension Building Infrastructure">
<title>Extension Building Infrastructure</title>
<indexterm zone="extend-pgxs">
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
index 50872dfd88e..850943ba7b6 100644
--- a/doc/src/sgml/external-projects.sgml
+++ b/doc/src/sgml/external-projects.sgml
@@ -10,7 +10,7 @@
efficiently developed separately from the core project.
</para>
- <sect1 id="external-interfaces">
+ <sect1 id="external-interfaces" xreflabel="Client Interfaces">
<title>Client Interfaces</title>
<indexterm>
@@ -53,7 +53,7 @@
</para>
</sect1>
- <sect1 id="external-admin-tools">
+ <sect1 id="external-admin-tools" xreflabel="Administration Tools">
<title>Administration Tools</title>
<indexterm>
@@ -69,7 +69,7 @@
</para>
</sect1>
- <sect1 id="external-pl">
+ <sect1 id="external-pl" xreflabel="Procedural Languages">
<title>Procedural Languages</title>
<indexterm>
@@ -102,7 +102,7 @@
</para>
</sect1>
- <sect1 id="external-extensions">
+ <sect1 id="external-extensions" xreflabel="Extensions">
<title>Extensions</title>
<indexterm>
diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml
index c6d66414b8e..faccdbd3faa 100644
--- a/doc/src/sgml/fdwhandler.sgml
+++ b/doc/src/sgml/fdwhandler.sgml
@@ -35,7 +35,7 @@
</para>
</note>
- <sect1 id="fdw-functions">
+ <sect1 id="fdw-functions" xreflabel="Foreign Data Wrapper Functions">
<title>Foreign Data Wrapper Functions</title>
<para>
@@ -83,7 +83,7 @@
</sect1>
- <sect1 id="fdw-callbacks">
+ <sect1 id="fdw-callbacks" xreflabel="Foreign Data Wrapper Callback Routines">
<title>Foreign Data Wrapper Callback Routines</title>
<para>
@@ -98,7 +98,7 @@
details.
</para>
- <sect2 id="fdw-callbacks-scan">
+ <sect2 id="fdw-callbacks-scan" xreflabel="FDW Routines for Scanning Foreign Tables">
<title>FDW Routines for Scanning Foreign Tables</title>
<para>
@@ -297,7 +297,7 @@ EndForeignScan(ForeignScanState *node);
</sect2>
- <sect2 id="fdw-callbacks-join-scan">
+ <sect2 id="fdw-callbacks-join-scan" xreflabel="FDW Routines for Scanning Foreign Joins">
<title>FDW Routines for Scanning Foreign Joins</title>
<para>
@@ -381,7 +381,7 @@ GetForeignJoinPaths(PlannerInfo *root,
</para>
</sect2>
- <sect2 id="fdw-callbacks-upper-planning">
+ <sect2 id="fdw-callbacks-upper-planning" xreflabel="FDW Routines for Planning Post-Scan/Join Processing">
<title>FDW Routines for Planning Post-Scan/Join Processing</title>
<para>
@@ -437,7 +437,7 @@ GetForeignUpperPaths(PlannerInfo *root,
</para>
</sect2>
- <sect2 id="fdw-callbacks-update">
+ <sect2 id="fdw-callbacks-update" xreflabel="FDW Routines for Updating Foreign Tables">
<title>FDW Routines for Updating Foreign Tables</title>
<para>
@@ -1092,7 +1092,7 @@ EndDirectModify(ForeignScanState *node);
</sect2>
- <sect2 id="fdw-callbacks-truncate">
+ <sect2 id="fdw-callbacks-truncate" xreflabel="FDW Routines for TRUNCATE">
<title>FDW Routines for <command>TRUNCATE</command></title>
<para>
@@ -1147,7 +1147,7 @@ ExecForeignTruncate(List *rels,
</para>
</sect2>
- <sect2 id="fdw-callbacks-row-locking">
+ <sect2 id="fdw-callbacks-row-locking" xreflabel="FDW Routines for Row Locking">
<title>FDW Routines for Row Locking</title>
<para>
@@ -1288,7 +1288,7 @@ RecheckForeignScan(ForeignScanState *node,
</para>
</sect2>
- <sect2 id="fdw-callbacks-explain">
+ <sect2 id="fdw-callbacks-explain" xreflabel="FDW Routines for EXPLAIN">
<title>FDW Routines for <command>EXPLAIN</command></title>
<para>
@@ -1364,7 +1364,7 @@ ExplainDirectModify(ForeignScanState *node,
</sect2>
- <sect2 id="fdw-callbacks-analyze">
+ <sect2 id="fdw-callbacks-analyze" xreflabel="FDW Routines for ANALYZE">
<title>FDW Routines for <command>ANALYZE</command></title>
<para>
@@ -1411,7 +1411,7 @@ AcquireSampleRowsFunc(Relation relation,
</sect2>
- <sect2 id="fdw-callbacks-import">
+ <sect2 id="fdw-callbacks-import" xreflabel="FDW Routines for IMPORT FOREIGN SCHEMA">
<title>FDW Routines for <command>IMPORT FOREIGN SCHEMA</command></title>
<para>
@@ -1471,7 +1471,7 @@ ImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid);
</sect2>
- <sect2 id="fdw-callbacks-parallel">
+ <sect2 id="fdw-callbacks-parallel" xreflabel="FDW Routines for Parallel Execution">
<title>FDW Routines for Parallel Execution</title>
<para>
A <structname>ForeignScan</structname> node can, optionally, support parallel
@@ -1574,7 +1574,7 @@ ShutdownForeignScan(ForeignScanState *node);
</para>
</sect2>
- <sect2 id="fdw-callbacks-async">
+ <sect2 id="fdw-callbacks-async" xreflabel="FDW Routines for Asynchronous Execution">
<title>FDW Routines for Asynchronous Execution</title>
<para>
A <structname>ForeignScan</structname> node can, optionally, support
@@ -1664,7 +1664,7 @@ ForeignAsyncNotify(AsyncRequest *areq);
</para>
</sect2>
- <sect2 id="fdw-callbacks-reparameterize-paths">
+ <sect2 id="fdw-callbacks-reparameterize-paths" xreflabel="FDW Routines for Reparameterization of Paths">
<title>FDW Routines for Reparameterization of Paths</title>
<para>
@@ -1686,7 +1686,7 @@ ReparameterizeForeignPathByChild(PlannerInfo *root, List *fdw_private,
</sect1>
- <sect1 id="fdw-helpers">
+ <sect1 id="fdw-helpers" xreflabel="Foreign Data Wrapper Helper Functions">
<title>Foreign Data Wrapper Helper Functions</title>
<para>
@@ -1825,7 +1825,7 @@ GetForeignServerByName(const char *name, bool missing_ok);
</sect1>
- <sect1 id="fdw-planning">
+ <sect1 id="fdw-planning" xreflabel="Foreign Data Wrapper Query Planning">
<title>Foreign Data Wrapper Query Planning</title>
<para>
@@ -2051,7 +2051,7 @@ GetForeignServerByName(const char *name, bool missing_ok);
</sect1>
- <sect1 id="fdw-row-locking">
+ <sect1 id="fdw-row-locking" xreflabel="Row Locking in Foreign Data Wrappers">
<title>Row Locking in Foreign Data Wrappers</title>
<para>
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index 966fd398827..93ab8f15f91 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -106,7 +106,7 @@
</para>
</note>
- <sect1 id="features-sql-standard">
+ <sect1 id="features-sql-standard" xreflabel="Supported Features">
<title>Supported Features</title>
<para>
@@ -132,7 +132,7 @@
</para>
</sect1>
- <sect1 id="unsupported-features-sql-standard">
+ <sect1 id="unsupported-features-sql-standard" xreflabel="Unsupported Features">
<title>Unsupported Features</title>
<para>
@@ -163,7 +163,7 @@
</para>
</sect1>
- <sect1 id="xml-limits-conformance">
+ <sect1 id="xml-limits-conformance" xreflabel="XML Limits and Conformance to SQL/XML">
<title>XML Limits and Conformance to SQL/XML</title>
<indexterm>
@@ -398,7 +398,7 @@
</para>
</sect3>
- <sect3 id="functions-xml-limits-casts">
+ <sect3 id="functions-xml-limits-casts" xreflabel="Mappings between SQL and XML Data Types and Values">
<title>Mappings between SQL and XML Data Types and Values</title>
<para>
@@ -428,7 +428,7 @@
</sect3>
</sect2>
- <sect2 id="functions-xml-limits-postgresql">
+ <sect2 id="functions-xml-limits-postgresql" xreflabel="Incidental Limits of the Implementation">
<title>Incidental Limits of the Implementation</title>
<para>
@@ -437,7 +437,7 @@
implementation in <productname>PostgreSQL</productname>.
</para>
- <sect3 id="functions-xml-limits-postgresql-by-value-only">
+ <sect3 id="functions-xml-limits-postgresql-by-value-only" xreflabel="Only BY VALUE Passing Mechanism Is Supported">
<title>Only <literal>BY VALUE</literal> Passing Mechanism Is Supported</title>
<para>
@@ -473,7 +473,7 @@ SELECT XMLQUERY('$a is $b' PASSING BY VALUE <replaceable>x</replaceable> AS a, <
</para>
</sect3>
- <sect3 id="functions-xml-limits-postgresql-named-parameters">
+ <sect3 id="functions-xml-limits-postgresql-named-parameters" xreflabel="Cannot Pass Named Parameters to Queries">
<title>Cannot Pass Named Parameters to Queries</title>
<para>
@@ -483,7 +483,7 @@ SELECT XMLQUERY('$a is $b' PASSING BY VALUE <replaceable>x</replaceable> AS a, <
</para>
</sect3>
- <sect3 id="functions-xml-limits-postgresql-no-xml-sequence">
+ <sect3 id="functions-xml-limits-postgresql-no-xml-sequence" xreflabel="No XML(SEQUENCE) Type">
<title>No <type>XML(SEQUENCE)</type> Type</title>
<para>
diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml
index bcadc440e39..f8053a8fa95 100644
--- a/doc/src/sgml/fuzzystrmatch.sgml
+++ b/doc/src/sgml/fuzzystrmatch.sgml
@@ -28,7 +28,7 @@
on the current database.
</para>
- <sect2 id="fuzzystrmatch-soundex">
+ <sect2 id="fuzzystrmatch-soundex" xreflabel="Soundex">
<title>Soundex</title>
<para>
@@ -90,7 +90,7 @@ SELECT * FROM s WHERE difference(s.nm, 'john') > 2;
</programlisting>
</sect2>
- <sect2 id="fuzzystrmatch-daitch-mokotoff">
+ <sect2 id="fuzzystrmatch-daitch-mokotoff" xreflabel="Daitch-Mokotoff Soundex">
<title>Daitch-Mokotoff Soundex</title>
<para>
@@ -243,7 +243,7 @@ SELECT * FROM s WHERE soundex_tsvector(nm) @@ soundex_tsquery('Jameson John');
</para>
</sect2>
- <sect2 id="fuzzystrmatch-levenshtein">
+ <sect2 id="fuzzystrmatch-levenshtein" xreflabel="Levenshtein">
<title>Levenshtein</title>
<para>
@@ -314,7 +314,7 @@ test=# SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
</screen>
</sect2>
- <sect2 id="fuzzystrmatch-metaphone">
+ <sect2 id="fuzzystrmatch-metaphone" xreflabel="Metaphone">
<title>Metaphone</title>
<para>
@@ -355,7 +355,7 @@ test=# SELECT metaphone('GUMBO', 4);
</screen>
</sect2>
- <sect2 id="fuzzystrmatch-double-metaphone">
+ <sect2 id="fuzzystrmatch-double-metaphone" xreflabel="Double Metaphone">
<title>Double Metaphone</title>
<para>
diff --git a/doc/src/sgml/generic-wal.sgml b/doc/src/sgml/generic-wal.sgml
index 41f97ad7dc8..0bcaf48604c 100644
--- a/doc/src/sgml/generic-wal.sgml
+++ b/doc/src/sgml/generic-wal.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/generic-wal.sgml -->
-<sect1 id="generic-wal">
+<sect1 id="generic-wal" xreflabel="Generic WAL Records">
<title>Generic WAL Records</title>
<para>
diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml
index 82bf3b690d8..da6cb62ee36 100644
--- a/doc/src/sgml/geqo.sgml
+++ b/doc/src/sgml/geqo.sgml
@@ -13,7 +13,7 @@
</note>
</para>
- <sect1 id="geqo-intro">
+ <sect1 id="geqo-intro" xreflabel="Query Handling as a Complex Optimization Problem">
<title>Query Handling as a Complex Optimization Problem</title>
<para>
@@ -59,7 +59,7 @@
</para>
</sect1>
- <sect1 id="geqo-intro2">
+ <sect1 id="geqo-intro2" xreflabel="Genetic Algorithms">
<title>Genetic Algorithms</title>
<para>
@@ -106,7 +106,7 @@
</sect1>
- <sect1 id="geqo-pg-intro">
+ <sect1 id="geqo-pg-intro" xreflabel="Genetic Query Optimization (GEQO) in PostgreSQL">
<title>Genetic Query Optimization (<acronym>GEQO</acronym>) in PostgreSQL</title>
<para>
@@ -173,7 +173,7 @@
non-exhaustive search.
</para>
- <sect2 id="geqo-pg-intro-gen-possible-plans">
+ <sect2 id="geqo-pg-intro-gen-possible-plans" xreflabel="Generating Possible Plans with GEQO">
<title>Generating Possible Plans with <acronym>GEQO</acronym></title>
<para>
@@ -213,7 +213,7 @@
</sect2>
- <sect2 id="geqo-future">
+ <sect2 id="geqo-future" xreflabel="Future Implementation Tasks for PostgreSQL GEQO">
<title>Future Implementation Tasks for
<productname>PostgreSQL</productname> <acronym>GEQO</acronym></title>
@@ -261,7 +261,7 @@
</sect2>
</sect1>
- <sect1 id="geqo-biblio">
+ <sect1 id="geqo-biblio" xreflabel="Further Reading">
<title>Further Reading</title>
<para>
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 82410b1fbdf..baac344075f 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/gin.sgml -->
-<sect1 id="gin">
+<sect1 id="gin" xreflabel="GIN Indexes">
<title>GIN Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>GIN</secondary>
</indexterm>
-<sect2 id="gin-intro">
+<sect2 id="gin-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -62,7 +62,7 @@
</para>
</sect2>
-<sect2 id="gin-builtin-opclasses">
+<sect2 id="gin-builtin-opclasses" xreflabel="Built-in Operator Classes">
<title>Built-in Operator Classes</title>
<para>
@@ -142,7 +142,7 @@
</sect2>
-<sect2 id="gin-extensibility">
+<sect2 id="gin-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
<para>
@@ -464,7 +464,7 @@
</sect2>
-<sect2 id="gin-implementation">
+<sect2 id="gin-implementation" xreflabel="Implementation">
<title>Implementation</title>
<para>
@@ -501,7 +501,7 @@
</mediaobject>
</figure>
- <sect3 id="gin-fast-update">
+ <sect3 id="gin-fast-update" xreflabel="GIN Fast Update Technique">
<title>GIN Fast Update Technique</title>
<para>
@@ -541,7 +541,7 @@
</para>
</sect3>
- <sect3 id="gin-partial-match">
+ <sect3 id="gin-partial-match" xreflabel="Partial Match Algorithm">
<title>Partial Match Algorithm</title>
<para>
@@ -562,7 +562,7 @@
</sect2>
-<sect2 id="gin-tips">
+<sect2 id="gin-tips" xreflabel="GIN Tips and Tricks">
<title>GIN Tips and Tricks</title>
<variablelist>
@@ -659,7 +659,7 @@
</sect2>
-<sect2 id="gin-limit">
+<sect2 id="gin-limit" xreflabel="Limitations">
<title>Limitations</title>
<para>
@@ -673,7 +673,7 @@
</para>
</sect2>
-<sect2 id="gin-examples">
+<sect2 id="gin-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index 1871f742721..d6d2fa85ea2 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/gist.sgml -->
-<sect1 id="gist">
+<sect1 id="gist" xreflabel="GiST Indexes">
<title>GiST Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>GiST</secondary>
</indexterm>
-<sect2 id="gist-intro">
+<sect2 id="gist-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -40,7 +40,7 @@
</sect2>
-<sect2 id="gist-builtin-opclasses">
+<sect2 id="gist-builtin-opclasses" xreflabel="Built-in Operator Classes">
<title>Built-in Operator Classes</title>
<para>
@@ -218,7 +218,7 @@ CREATE INDEX ON my_table USING GIST (my_inet_column inet_ops);
</sect2>
-<sect2 id="gist-extensibility">
+<sect2 id="gist-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
<para>
@@ -1270,10 +1270,10 @@ my_translate_cmptype(PG_FUNCTION_ARGS)
</sect2>
-<sect2 id="gist-implementation">
+<sect2 id="gist-implementation" xreflabel="Implementation">
<title>Implementation</title>
- <sect3 id="gist-buffering-build">
+ <sect3 id="gist-buffering-build" xreflabel="GiST Index Build Methods">
<title>GiST Index Build Methods</title>
<para>
@@ -1325,7 +1325,7 @@ my_translate_cmptype(PG_FUNCTION_ARGS)
</sect3>
</sect2>
-<sect2 id="gist-examples">
+<sect2 id="gist-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/hash.sgml b/doc/src/sgml/hash.sgml
index 34f3b2cb0c1..15690b25513 100644
--- a/doc/src/sgml/hash.sgml
+++ b/doc/src/sgml/hash.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/hash.sgml -->
-<sect1 id="hash-index">
+<sect1 id="hash-index" xreflabel="Hash Indexes">
<title>Hash Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>Hash</secondary>
</indexterm>
-<sect2 id="hash-intro">
+<sect2 id="hash-intro" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -110,7 +110,7 @@
</sect2>
-<sect2 id="hash-implementation">
+<sect2 id="hash-implementation" xreflabel="Implementation">
<title>Implementation</title>
<para>
diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml
index 33ca3f0286c..d2f51a8a477 100644
--- a/doc/src/sgml/high-availability.sgml
+++ b/doc/src/sgml/high-availability.sgml
@@ -79,7 +79,7 @@
and load balancing solutions.
</para>
- <sect1 id="different-replication-solutions">
+ <sect1 id="different-replication-solutions" xreflabel="Comparison of Different Solutions">
<title>Comparison of Different Solutions</title>
<variablelist>
@@ -489,7 +489,7 @@ protocol to make nodes agree on a serializable transactional order.
</sect1>
- <sect1 id="warm-standby">
+ <sect1 id="warm-standby" xreflabel="Log-Shipping Standby Servers">
<title>Log-Shipping Standby Servers</title>
@@ -576,7 +576,7 @@ protocol to make nodes agree on a serializable transactional order.
<primary>STONITH</primary>
</indexterm>
- <sect2 id="standby-planning">
+ <sect2 id="standby-planning" xreflabel="Planning">
<title>Planning</title>
<para>
@@ -660,7 +660,7 @@ protocol to make nodes agree on a serializable transactional order.
</para>
</sect2>
- <sect2 id="preparing-primary-for-standby">
+ <sect2 id="preparing-primary-for-standby" xreflabel="Preparing the Primary for Standby Servers">
<title>Preparing the Primary for Standby Servers</title>
<para>
@@ -690,7 +690,7 @@ protocol to make nodes agree on a serializable transactional order.
</para>
</sect2>
- <sect2 id="standby-server-setup">
+ <sect2 id="standby-server-setup" xreflabel="Setting Up a Standby Server">
<title>Setting Up a Standby Server</title>
<para>
@@ -758,7 +758,7 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive "%r"'
</sect2>
- <sect2 id="streaming-replication">
+ <sect2 id="streaming-replication" xreflabel="Streaming Replication">
<title>Streaming Replication</title>
<indexterm zone="high-availability">
@@ -836,7 +836,7 @@ archive_cleanup_command = 'pg_archivecleanup /path/to/archive "%r"'
a corresponding <literal>walsender</literal> process in the primary.
</para>
- <sect3 id="streaming-replication-authentication">
+ <sect3 id="streaming-replication-authentication" xreflabel="Authentication">
<title>Authentication</title>
<para>
It is very important that the access privileges for replication be set up
@@ -888,7 +888,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</para>
</sect3>
- <sect3 id="streaming-replication-monitoring">
+ <sect3 id="streaming-replication-monitoring" xreflabel="Monitoring">
<title>Monitoring</title>
<para>
An important health indicator of streaming replication is the amount
@@ -925,7 +925,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</sect3>
</sect2>
- <sect2 id="streaming-replication-slots">
+ <sect2 id="streaming-replication-slots" xreflabel="Replication Slots">
<title>Replication Slots</title>
<indexterm>
<primary>replication slot</primary>
@@ -966,7 +966,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
</para>
</caution>
- <sect3 id="streaming-replication-slots-manipulation">
+ <sect3 id="streaming-replication-slots-manipulation" xreflabel="Querying and Manipulating Replication Slots">
<title>Querying and Manipulating Replication Slots</title>
<para>
Each replication slot has a name, which can contain lower-case letters,
@@ -983,7 +983,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass'
functions (see <xref linkend="functions-replication"/>).
</para>
</sect3>
- <sect3 id="streaming-replication-slots-config">
+ <sect3 id="streaming-replication-slots-config" xreflabel="Configuration Example">
<title>Configuration Example</title>
<para>
You can create a physical replication slot on the primary like this:
@@ -1009,7 +1009,7 @@ primary_slot_name = 'node_a_slot'
</sect3>
</sect2>
- <sect2 id="cascading-replication">
+ <sect2 id="cascading-replication" xreflabel="Cascading Replication">
<title>Cascading Replication</title>
<indexterm zone="high-availability">
@@ -1066,7 +1066,7 @@ primary_slot_name = 'node_a_slot'
</para>
</sect2>
- <sect2 id="synchronous-replication">
+ <sect2 id="synchronous-replication" xreflabel="Synchronous Replication">
<title>Synchronous Replication</title>
<indexterm zone="high-availability">
@@ -1127,7 +1127,7 @@ primary_slot_name = 'node_a_slot'
support.
</para>
- <sect3 id="synchronous-replication-config">
+ <sect3 id="synchronous-replication-config" xreflabel="Basic Configuration">
<title>Basic Configuration</title>
<para>
@@ -1198,7 +1198,7 @@ primary_slot_name = 'node_a_slot'
</sect3>
- <sect3 id="synchronous-replication-multiple-standbys">
+ <sect3 id="synchronous-replication-multiple-standbys" xreflabel="Multiple Synchronous Standbys">
<title>Multiple Synchronous Standbys</title>
<para>
@@ -1260,7 +1260,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)'
</para>
</sect3>
- <sect3 id="synchronous-replication-performance">
+ <sect3 id="synchronous-replication-performance" xreflabel="Planning for Performance">
<title>Planning for Performance</title>
<para>
@@ -1301,7 +1301,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)'
</sect3>
- <sect3 id="synchronous-replication-ha">
+ <sect3 id="synchronous-replication-ha" xreflabel="Planning for High Availability">
<title>Planning for High Availability</title>
<para>
@@ -1384,7 +1384,7 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)'
</sect3>
</sect2>
- <sect2 id="read-your-writes-consistency">
+ <sect2 id="read-your-writes-consistency" xreflabel="Read-Your-Writes Consistency">
<title>Read-Your-Writes Consistency</title>
<para>
@@ -1438,7 +1438,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="continuous-archiving-in-standby">
+ <sect2 id="continuous-archiving-in-standby" xreflabel="Continuous Archiving in Standby">
<title>Continuous Archiving in Standby</title>
<indexterm>
@@ -1480,7 +1480,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</sect2>
</sect1>
- <sect1 id="warm-standby-failover">
+ <sect1 id="warm-standby-failover" xreflabel="Failover">
<title>Failover</title>
<para>
@@ -1567,7 +1567,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect1>
- <sect1 id="hot-standby">
+ <sect1 id="hot-standby" xreflabel="Hot Standby">
<title>Hot Standby</title>
<indexterm zone="high-availability">
@@ -1591,7 +1591,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
explained below.
</para>
- <sect2 id="hot-standby-users">
+ <sect2 id="hot-standby-users" xreflabel="User's Overview">
<title>User's Overview</title>
<para>
@@ -1807,7 +1807,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="hot-standby-conflict">
+ <sect2 id="hot-standby-conflict" xreflabel="Handling Query Conflicts">
<title>Handling Query Conflicts</title>
<para>
@@ -2009,7 +2009,7 @@ postgres=# WAIT FOR LSN '0/306EE20';
</para>
</sect2>
- <sect2 id="hot-standby-admin">
+ <sect2 id="hot-standby-admin" xreflabel="Administrator's Overview">
<title>Administrator's Overview</title>
<para>
@@ -2325,7 +2325,7 @@ HINT: You can then restart the server after making the necessary configuration
</para>
</sect2>
- <sect2 id="hot-standby-parameters">
+ <sect2 id="hot-standby-parameters" xreflabel="Hot Standby Parameter Reference">
<title>Hot Standby Parameter Reference</title>
<para>
@@ -2348,7 +2348,7 @@ HINT: You can then restart the server after making the necessary configuration
</para>
</sect2>
- <sect2 id="hot-standby-caveats">
+ <sect2 id="hot-standby-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml
index 8bfa1db670d..a051b816b4b 100644
--- a/doc/src/sgml/history.sgml
+++ b/doc/src/sgml/history.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/history.sgml -->
-<sect1 id="history">
+<sect1 id="history" xreflabel="A Brief History of PostgreSQL">
<title>A Brief History of <productname>PostgreSQL</productname></title>
<indexterm zone="history">
@@ -23,7 +23,7 @@
<xref linkend="hell18"/>.
</para>
- <sect2 id="history-berkeley">
+ <sect2 id="history-berkeley" xreflabel="The Berkeley POSTGRES Project">
<title>The Berkeley <productname>POSTGRES</productname> Project</title>
<indexterm zone="history-berkeley">
@@ -90,7 +90,7 @@
</para>
</sect2>
- <sect2 id="history-postgres95">
+ <sect2 id="history-postgres95" xreflabel="Postgres95">
<title><productname>Postgres95</productname></title>
<indexterm zone="history-postgres95">
@@ -188,7 +188,7 @@
</para>
</sect2>
- <sect2 id="history-postgresql">
+ <sect2 id="history-postgresql" xreflabel="PostgreSQL">
<title><productname>PostgreSQL</productname></title>
<para>
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 5f8d1d1ff43..bae5a68b898 100644
--- a/doc/src/sgml/hstore.sgml
+++ b/doc/src/sgml/hstore.sgml
@@ -21,7 +21,7 @@
on the current database.
</para>
- <sect2 id="hstore-external-rep">
+ <sect2 id="hstore-external-rep" xreflabel="hstore External Representation">
<title><type>hstore</type> External Representation</title>
<para>
@@ -88,7 +88,7 @@ key => NULL
</sect2>
- <sect2 id="hstore-ops-funcs">
+ <sect2 id="hstore-ops-funcs" xreflabel="hstore Operators and Functions">
<title><type>hstore</type> Operators and Functions</title>
<para>
@@ -738,7 +738,7 @@ SELECT h FROM mytable;
</para>
</sect2>
- <sect2 id="hstore-indexes">
+ <sect2 id="hstore-indexes" xreflabel="Indexes">
<title>Indexes</title>
<para>
@@ -784,7 +784,7 @@ CREATE INDEX hidx ON testhstore USING HASH (h);
</programlisting>
</sect2>
- <sect2 id="hstore-examples">
+ <sect2 id="hstore-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -853,7 +853,7 @@ SELECT (r).* FROM (SELECT t #= '"col3"=>"baz"' AS r FROM test t) s;
</para>
</sect2>
- <sect2 id="hstore-statistics">
+ <sect2 id="hstore-statistics" xreflabel="Statistics">
<title>Statistics</title>
<para>
@@ -900,7 +900,7 @@ SELECT key, count(*) FROM
</para>
</sect2>
- <sect2 id="hstore-compatibility">
+ <sect2 id="hstore-compatibility" xreflabel="Compatibility">
<title>Compatibility</title>
<para>
@@ -933,7 +933,7 @@ ALTER TABLE tablename ALTER hstorecol TYPE hstore USING hstorecol || '';
</sect2>
- <sect2 id="hstore-transforms">
+ <sect2 id="hstore-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -948,7 +948,7 @@ ALTER TABLE tablename ALTER hstorecol TYPE hstore USING hstorecol || '';
</para>
</sect2>
- <sect2 id="hstore-authors">
+ <sect2 id="hstore-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/indexam.sgml b/doc/src/sgml/indexam.sgml
index 63d7e376f19..521279f33a6 100644
--- a/doc/src/sgml/indexam.sgml
+++ b/doc/src/sgml/indexam.sgml
@@ -52,7 +52,7 @@
are reclaimed.
</para>
- <sect1 id="index-api">
+ <sect1 id="index-api" xreflabel="Basic API Structure for Indexes">
<title>Basic API Structure for Indexes</title>
<para>
@@ -276,7 +276,7 @@ typedef struct IndexAmRoutine
</sect1>
- <sect1 id="index-functions">
+ <sect1 id="index-functions" xreflabel="Index Access Method Functions">
<title>Index Access Method Functions</title>
<para>
@@ -911,7 +911,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-scanning">
+ <sect1 id="index-scanning" xreflabel="Index Scanning">
<title>Index Scanning</title>
<para>
@@ -1066,7 +1066,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-locking">
+ <sect1 id="index-locking" xreflabel="Index Locking Considerations">
<title>Index Locking Considerations</title>
<para>
@@ -1182,7 +1182,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-unique-checks">
+ <sect1 id="index-unique-checks" xreflabel="Index Uniqueness Checks">
<title>Index Uniqueness Checks</title>
<para>
@@ -1331,7 +1331,7 @@ amtranslatecmptype (CompareType cmptype, Oid opfamily, Oid opcintype);
</sect1>
- <sect1 id="index-cost-estimation">
+ <sect1 id="index-cost-estimation" xreflabel="Index Cost Estimation Functions">
<title>Index Cost Estimation Functions</title>
<para>
diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml
index 55f39b0df2f..93f9617b4c1 100644
--- a/doc/src/sgml/indices.sgml
+++ b/doc/src/sgml/indices.sgml
@@ -16,7 +16,7 @@
</para>
- <sect1 id="indexes-intro">
+ <sect1 id="indexes-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -145,7 +145,7 @@ CREATE INDEX test1_id_index ON test1 (id);
</sect1>
- <sect1 id="indexes-types">
+ <sect1 id="indexes-types" xreflabel="Index Types">
<title>Index Types</title>
<para>
@@ -165,7 +165,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</programlisting>
</para>
- <sect2 id="indexes-types-btree">
+ <sect2 id="indexes-types-btree" xreflabel="B-Tree">
<title>B-Tree</title>
<indexterm>
@@ -217,7 +217,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</para>
</sect2>
- <sect2 id="indexes-types-hash">
+ <sect2 id="indexes-types-hash" xreflabel="Hash">
<title>Hash</title>
<indexterm>
@@ -243,7 +243,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
</para>
</sect2>
- <sect2 id="indexes-type-gist">
+ <sect2 id="indexes-type-gist" xreflabel="GiST">
<title>GiST</title>
<indexterm>
@@ -292,7 +292,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-type-spgist">
+ <sect2 id="indexes-type-spgist" xreflabel="SP-GiST">
<title>SP-GiST</title>
<indexterm>
@@ -332,7 +332,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-types-gin">
+ <sect2 id="indexes-types-gin" xreflabel="GIN">
<title>GIN</title>
<indexterm>
@@ -375,7 +375,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</para>
</sect2>
- <sect2 id="indexes-types-brin">
+ <sect2 id="indexes-types-brin" xreflabel="BRIN">
<title>BRIN</title>
<indexterm>
@@ -413,7 +413,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;
</sect1>
- <sect1 id="indexes-multicolumn">
+ <sect1 id="indexes-multicolumn" xreflabel="Multicolumn Indexes">
<title>Multicolumn Indexes</title>
<indexterm zone="indexes-multicolumn">
@@ -555,7 +555,7 @@ CREATE INDEX test2_mm_idx ON test2 (major, minor);
</sect1>
- <sect1 id="indexes-ordering">
+ <sect1 id="indexes-ordering" xreflabel="Indexes and ORDER BY">
<title>Indexes and <literal>ORDER BY</literal></title>
<indexterm zone="indexes-ordering">
@@ -639,7 +639,7 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);
</sect1>
- <sect1 id="indexes-bitmap-scans">
+ <sect1 id="indexes-bitmap-scans" xreflabel="Combining Multiple Indexes">
<title>Combining Multiple Indexes</title>
<indexterm zone="indexes-bitmap-scans">
@@ -725,7 +725,7 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);
</sect1>
- <sect1 id="indexes-unique">
+ <sect1 id="indexes-unique" xreflabel="Unique Indexes">
<title>Unique Indexes</title>
<indexterm zone="indexes-unique">
@@ -769,7 +769,7 @@ CREATE UNIQUE INDEX <replaceable>name</replaceable> ON <replaceable>table</repla
</sect1>
- <sect1 id="indexes-expressional">
+ <sect1 id="indexes-expressional" xreflabel="Indexes on Expressions">
<title>Indexes on Expressions</title>
<indexterm zone="indexes-expressional">
@@ -838,7 +838,7 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name));
</sect1>
- <sect1 id="indexes-partial">
+ <sect1 id="indexes-partial" xreflabel="Partial Indexes">
<title>Partial Indexes</title>
<indexterm zone="indexes-partial">
@@ -1118,7 +1118,7 @@ CREATE INDEX mytable_cat_data ON mytable (category, data);
</sect1>
- <sect1 id="indexes-index-only-scans">
+ <sect1 id="indexes-index-only-scans" xreflabel="Index-Only Scans and Covering Indexes">
<title>Index-Only Scans and Covering Indexes</title>
<indexterm zone="indexes-index-only-scans">
@@ -1378,7 +1378,7 @@ SELECT target FROM tests WHERE subject = 'some-subject' AND success;
</sect1>
- <sect1 id="indexes-opclass">
+ <sect1 id="indexes-opclass" xreflabel="Operator Classes and Operator Families">
<title>Operator Classes and Operator Families</title>
<indexterm zone="indexes-opclass">
@@ -1516,7 +1516,7 @@ SELECT am.amname AS index_method,
</sect1>
- <sect1 id="indexes-collations">
+ <sect1 id="indexes-collations" xreflabel="Indexes and Collations">
<title>Indexes and Collations</title>
<para>
@@ -1554,7 +1554,7 @@ CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");
</sect1>
- <sect1 id="indexes-examine">
+ <sect1 id="indexes-examine" xreflabel="Examining Index Usage">
<title>Examining Index Usage</title>
<indexterm zone="indexes-examine">
diff --git a/doc/src/sgml/info.sgml b/doc/src/sgml/info.sgml
index 6b9f1b5d814..9f6aef4014f 100644
--- a/doc/src/sgml/info.sgml
+++ b/doc/src/sgml/info.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/info.sgml -->
-<sect1 id="resources">
+<sect1 id="resources" xreflabel="Further Information">
<title>Further Information</title>
<para>
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 60b4c4ae8c0..1b847d04aa7 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -45,7 +45,7 @@
</note>
- <sect1 id="infoschema-schema">
+ <sect1 id="infoschema-schema" xreflabel="The Schema">
<title>The Schema</title>
<para>
@@ -67,7 +67,7 @@
</para>
</sect1>
- <sect1 id="infoschema-datatypes">
+ <sect1 id="infoschema-datatypes" xreflabel="Data Types">
<title>Data Types</title>
<para>
@@ -141,7 +141,7 @@
</para>
</sect1>
- <sect1 id="infoschema-information-schema-catalog-name">
+ <sect1 id="infoschema-information-schema-catalog-name" xreflabel="information_schema_catalog_name">
<title><literal>information_schema_catalog_name</literal></title>
<para>
@@ -178,7 +178,7 @@
</table>
</sect1>
- <sect1 id="infoschema-administrable-role-authorizations">
+ <sect1 id="infoschema-administrable-role-authorizations" xreflabel="administrable_role_authorizations">
<title><literal>administrable_role_&zwsp;authorizations</literal></title>
<para>
@@ -235,7 +235,7 @@
</table>
</sect1>
- <sect1 id="infoschema-applicable-roles">
+ <sect1 id="infoschema-applicable-roles" xreflabel="applicable_roles">
<title><literal>applicable_roles</literal></title>
<para>
@@ -297,7 +297,7 @@
</table>
</sect1>
- <sect1 id="infoschema-attributes">
+ <sect1 id="infoschema-attributes" xreflabel="attributes">
<title><literal>attributes</literal></title>
<para>
@@ -666,7 +666,7 @@
</para>
</sect1>
- <sect1 id="infoschema-character-sets">
+ <sect1 id="infoschema-character-sets" xreflabel="character_sets">
<title><literal>character_sets</literal></title>
<para>
@@ -824,7 +824,7 @@
</table>
</sect1>
- <sect1 id="infoschema-check-constraint-routine-usage">
+ <sect1 id="infoschema-check-constraint-routine-usage" xreflabel="check_constraint_routine_usage">
<title><literal>check_constraint_routine_usage</literal></title>
<para>
@@ -907,7 +907,7 @@
</table>
</sect1>
- <sect1 id="infoschema-check-constraints">
+ <sect1 id="infoschema-check-constraints" xreflabel="check_constraints">
<title><literal>check_constraints</literal></title>
<para>
@@ -979,7 +979,7 @@
</table>
</sect1>
- <sect1 id="infoschema-collations">
+ <sect1 id="infoschema-collations" xreflabel="collations">
<title><literal>collations</literal></title>
<para>
@@ -1043,7 +1043,7 @@
</table>
</sect1>
- <sect1 id="infoschema-collation-character-set-applicab"> <!-- max 44 characters -->
+ <sect1 id="infoschema-collation-character-set-applicab" xreflabel="collation_character_set_&zwsp;applicability">
<title><literal>collation_character_set_&zwsp;applicability</literal></title>
<para>
@@ -1128,7 +1128,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-column-usage">
+ <sect1 id="infoschema-column-column-usage" xreflabel="column_column_usage">
<title><literal>column_column_usage</literal></title>
<para>
@@ -1201,7 +1201,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-domain-usage">
+ <sect1 id="infoschema-column-domain-usage" xreflabel="column_domain_usage">
<title><literal>column_domain_usage</literal></title>
<para>
@@ -1292,7 +1292,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-options">
+ <sect1 id="infoschema-column-options" xreflabel="column_options">
<title><literal>column_options</literal></title>
<para>
@@ -1375,7 +1375,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-privileges">
+ <sect1 id="infoschema-column-privileges" xreflabel="column_privileges">
<title><literal>column_privileges</literal></title>
<para>
@@ -1486,7 +1486,7 @@
</table>
</sect1>
- <sect1 id="infoschema-column-udt-usage">
+ <sect1 id="infoschema-column-udt-usage" xreflabel="column_udt_usage">
<title><literal>column_udt_usage</literal></title>
<para>
@@ -1583,7 +1583,7 @@
</table>
</sect1>
- <sect1 id="infoschema-columns">
+ <sect1 id="infoschema-columns" xreflabel="columns">
<title><literal>columns</literal></title>
<para>
@@ -2115,7 +2115,7 @@
</para>
</sect1>
- <sect1 id="infoschema-constraint-column-usage">
+ <sect1 id="infoschema-constraint-column-usage" xreflabel="constraint_column_usage">
<title><literal>constraint_column_usage</literal></title>
<para>
@@ -2217,7 +2217,7 @@
</table>
</sect1>
- <sect1 id="infoschema-constraint-table-usage">
+ <sect1 id="infoschema-constraint-table-usage" xreflabel="constraint_table_usage">
<title><literal>constraint_table_usage</literal></title>
<para>
@@ -2308,7 +2308,7 @@
</table>
</sect1>
- <sect1 id="infoschema-data-type-privileges">
+ <sect1 id="infoschema-data-type-privileges" xreflabel="data_type_privileges">
<title><literal>data_type_privileges</literal></title>
<para>
@@ -2397,7 +2397,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domain-constraints">
+ <sect1 id="infoschema-domain-constraints" xreflabel="domain_constraints">
<title><literal>domain_constraints</literal></title>
<para>
@@ -2498,7 +2498,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domain-udt-usage">
+ <sect1 id="infoschema-domain-udt-usage" xreflabel="domain_udt_usage">
<title><literal>domain_udt_usage</literal></title>
<para>
@@ -2582,7 +2582,7 @@
</table>
</sect1>
- <sect1 id="infoschema-domains">
+ <sect1 id="infoschema-domains" xreflabel="domains">
<title><literal>domains</literal></title>
<para>
@@ -2904,7 +2904,7 @@
</table>
</sect1>
- <sect1 id="infoschema-element-types">
+ <sect1 id="infoschema-element-types" xreflabel="element_types">
<title><literal>element_types</literal></title>
<para>
@@ -3222,7 +3222,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-enabled-roles">
+ <sect1 id="infoschema-enabled-roles" xreflabel="enabled_roles">
<title><literal>enabled_roles</literal></title>
<para>
@@ -3273,7 +3273,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-data-wrapper-options">
+ <sect1 id="infoschema-foreign-data-wrapper-options" xreflabel="foreign_data_wrapper_options">
<title><literal>foreign_data_wrapper_options</literal></title>
<para>
@@ -3339,7 +3339,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-data-wrappers">
+ <sect1 id="infoschema-foreign-data-wrappers" xreflabel="foreign_data_wrappers">
<title><literal>foreign_data_wrappers</literal></title>
<para>
@@ -3414,7 +3414,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-server-options">
+ <sect1 id="infoschema-foreign-server-options" xreflabel="foreign_server_options">
<title><literal>foreign_server_options</literal></title>
<para>
@@ -3479,7 +3479,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-servers">
+ <sect1 id="infoschema-foreign-servers" xreflabel="foreign_servers">
<title><literal>foreign_servers</literal></title>
<para>
@@ -3572,7 +3572,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-table-options">
+ <sect1 id="infoschema-foreign-table-options" xreflabel="foreign_table_options">
<title><literal>foreign_table_options</literal></title>
<para>
@@ -3646,7 +3646,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-foreign-tables">
+ <sect1 id="infoschema-foreign-tables" xreflabel="foreign_tables">
<title><literal>foreign_tables</literal></title>
<para>
@@ -3720,7 +3720,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-key-column-usage">
+ <sect1 id="infoschema-key-column-usage" xreflabel="key_column_usage">
<title><literal>key_column_usage</literal></title>
<para>
@@ -3838,7 +3838,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-parameters">
+ <sect1 id="infoschema-parameters" xreflabel="parameters">
<title><literal>parameters</literal></title>
<para>
@@ -4171,7 +4171,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-referential-constraints">
+ <sect1 id="infoschema-referential-constraints" xreflabel="referential_constraints">
<title><literal>referential_constraints</literal></title>
<para>
@@ -4295,7 +4295,7 @@ ORDER BY c.ordinal_position;
</sect1>
- <sect1 id="infoschema-role-column-grants">
+ <sect1 id="infoschema-role-column-grants" xreflabel="role_column_grants">
<title><literal>role_column_grants</literal></title>
<para>
@@ -4402,7 +4402,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-routine-grants">
+ <sect1 id="infoschema-role-routine-grants" xreflabel="role_routine_grants">
<title><literal>role_routine_grants</literal></title>
<para>
@@ -4525,7 +4525,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-table-grants">
+ <sect1 id="infoschema-role-table-grants" xreflabel="role_table_grants">
<title><literal>role_table_grants</literal></title>
<para>
@@ -4638,7 +4638,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-udt-grants">
+ <sect1 id="infoschema-role-udt-grants" xreflabel="role_udt_grants">
<title><literal>role_udt_grants</literal></title>
<para>
@@ -4736,7 +4736,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-role-usage-grants">
+ <sect1 id="infoschema-role-usage-grants" xreflabel="role_usage_grants">
<title><literal>role_usage_grants</literal></title>
<para>
@@ -4842,7 +4842,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-column-usage">
+ <sect1 id="infoschema-routine-column-usage" xreflabel="routine_column_usage">
<title><literal>routine_column_usage</literal></title>
<para>
@@ -4964,7 +4964,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-privileges">
+ <sect1 id="infoschema-routine-privileges" xreflabel="routine_privileges">
<title><literal>routine_privileges</literal></title>
<para>
@@ -5083,7 +5083,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-routine-usage">
+ <sect1 id="infoschema-routine-routine-usage" xreflabel="routine_routine_usage">
<title><literal>routine_routine_usage</literal></title>
<para>
@@ -5182,7 +5182,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-sequence-usage">
+ <sect1 id="infoschema-routine-sequence-usage" xreflabel="routine_sequence_usage">
<title><literal>routine_sequence_usage</literal></title>
<para>
@@ -5295,7 +5295,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routine-table-usage">
+ <sect1 id="infoschema-routine-table-usage" xreflabel="routine_table_usage">
<title><literal>routine_table_usage</literal></title>
<para>
@@ -5406,7 +5406,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-routines">
+ <sect1 id="infoschema-routines" xreflabel="routines">
<title><literal>routines</literal></title>
<para>
@@ -6215,7 +6215,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-schemata">
+ <sect1 id="infoschema-schemata" xreflabel="schemata">
<title><literal>schemata</literal></title>
<para>
@@ -6306,7 +6306,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sequences">
+ <sect1 id="infoschema-sequences" xreflabel="sequences">
<title><literal>sequences</literal></title>
<para>
@@ -6460,7 +6460,7 @@ ORDER BY c.ordinal_position;
</para>
</sect1>
- <sect1 id="infoschema-sql-features">
+ <sect1 id="infoschema-sql-features" xreflabel="sql_features">
<title><structname>sql_features</structname></title>
<para>
@@ -6555,7 +6555,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-implementation-info">
+ <sect1 id="infoschema-sql-implementation-info" xreflabel="sql_implementation_info">
<title><structname>sql_implementation_info</structname></title>
<para>
@@ -6637,7 +6637,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-parts">
+ <sect1 id="infoschema-sql-parts" xreflabel="sql_parts">
<title><structname>sql_parts</structname></title>
<para>
@@ -6713,7 +6713,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-sql-sizing">
+ <sect1 id="infoschema-sql-sizing" xreflabel="sql_sizing">
<title><structname>sql_sizing</structname></title>
<para>
@@ -6784,7 +6784,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-table-constraints">
+ <sect1 id="infoschema-table-constraints" xreflabel="table_constraints">
<title><literal>table_constraints</literal></title>
<para>
@@ -6916,7 +6916,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-table-privileges">
+ <sect1 id="infoschema-table-privileges" xreflabel="table_privileges">
<title><literal>table_privileges</literal></title>
<para>
@@ -7025,7 +7025,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-tables">
+ <sect1 id="infoschema-tables" xreflabel="tables">
<title><literal>tables</literal></title>
<para>
@@ -7172,7 +7172,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-transforms">
+ <sect1 id="infoschema-transforms" xreflabel="transforms">
<title><literal>transforms</literal></title>
<para>
@@ -7276,7 +7276,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-triggered-update-columns">
+ <sect1 id="infoschema-triggered-update-columns" xreflabel="triggered_update_columns">
<title><literal>triggered_update_columns</literal></title>
<para>
@@ -7372,7 +7372,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-triggers">
+ <sect1 id="infoschema-triggers" xreflabel="triggers">
<title><literal>triggers</literal></title>
<para>
@@ -7613,7 +7613,7 @@ ORDER BY c.ordinal_position;
</note>
</sect1>
- <sect1 id="infoschema-udt-privileges">
+ <sect1 id="infoschema-udt-privileges" xreflabel="udt_privileges">
<title><literal>udt_privileges</literal></title>
<para>
@@ -7708,7 +7708,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-usage-privileges">
+ <sect1 id="infoschema-usage-privileges" xreflabel="usage_privileges">
<title><literal>usage_privileges</literal></title>
<para>
@@ -7827,7 +7827,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-defined-types">
+ <sect1 id="infoschema-user-defined-types" xreflabel="user_defined_types">
<title><literal>user_defined_types</literal></title>
<para>
@@ -8130,7 +8130,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-mapping-options">
+ <sect1 id="infoschema-user-mapping-options" xreflabel="user_mapping_options">
<title><literal>user_mapping_options</literal></title>
<para>
@@ -8212,7 +8212,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-user-mappings">
+ <sect1 id="infoschema-user-mappings" xreflabel="user_mappings">
<title><literal>user_mappings</literal></title>
<para>
@@ -8271,7 +8271,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-column-usage">
+ <sect1 id="infoschema-view-column-usage" xreflabel="view_column_usage">
<title><literal>view_column_usage</literal></title>
<para>
@@ -8374,7 +8374,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-routine-usage">
+ <sect1 id="infoschema-view-routine-usage" xreflabel="view_routine_usage">
<title><literal>view_routine_usage</literal></title>
<para>
@@ -8458,7 +8458,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-view-table-usage">
+ <sect1 id="infoschema-view-table-usage" xreflabel="view_table_usage">
<title><literal>view_table_usage</literal></title>
<para>
@@ -8550,7 +8550,7 @@ ORDER BY c.ordinal_position;
</table>
</sect1>
- <sect1 id="infoschema-views">
+ <sect1 id="infoschema-views" xreflabel="views">
<title><literal>views</literal></title>
<para>
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index fe8d73e1f8c..caa818a61f3 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -15,7 +15,7 @@
and see <xref linkend="install-binaries" /> instead.
</para>
- <sect1 id="install-requirements">
+ <sect1 id="install-requirements" xreflabel="Requirements">
<title>Requirements</title>
<para>
@@ -357,7 +357,7 @@
</para>
</sect1>
- <sect1 id="install-getsource">
+ <sect1 id="install-getsource" xreflabel="Getting the Source">
<title>Getting the Source</title>
<para>
@@ -383,10 +383,10 @@
</para>
</sect1>
- <sect1 id="install-make">
+ <sect1 id="install-make" xreflabel="Building and Installation with Autoconf and Make">
<title>Building and Installation with Autoconf and Make</title>
- <sect2 id="install-short-make">
+ <sect2 id="install-short-make" xreflabel="Short Version">
<title>Short Version</title>
<para>
@@ -410,7 +410,7 @@ su - postgres
</sect2>
- <sect2 id="install-procedure-make">
+ <sect2 id="install-procedure-make" xreflabel="Installation Procedure">
<title>Installation Procedure</title>
<procedure>
@@ -661,7 +661,7 @@ build-postgresql:
</para>
</sect2>
- <sect2 id="configure-options">
+ <sect2 id="configure-options" xreflabel="configure Options">
<title><filename>configure</filename> Options</title>
<indexterm zone="configure-options">
@@ -676,7 +676,7 @@ build-postgresql:
the standard Autoconf documentation.
</para>
- <sect3 id="configure-options-locations">
+ <sect3 id="configure-options-locations" xreflabel="Installation Locations">
<title>Installation Locations</title>
<para>
@@ -866,7 +866,7 @@ build-postgresql:
</sect3>
- <sect3 id="configure-options-features">
+ <sect3 id="configure-options-features" xreflabel="PostgreSQL Features">
<title><productname>PostgreSQL</productname> Features</title>
<para>
@@ -1251,7 +1251,7 @@ build-postgresql:
</sect3>
- <sect3 id="configure-options-anti-features">
+ <sect3 id="configure-options-anti-features" xreflabel="Anti-Features">
<title>Anti-Features</title>
<para>
@@ -1319,7 +1319,7 @@ build-postgresql:
</sect3>
- <sect3 id="configure-options-build-process">
+ <sect3 id="configure-options-build-process" xreflabel="Build Process Details">
<title>Build Process Details</title>
<variablelist>
@@ -1433,7 +1433,7 @@ build-postgresql:
</sect3>
- <sect3 id="configure-options-misc">
+ <sect3 id="configure-options-misc" xreflabel="Miscellaneous">
<title>Miscellaneous</title>
<para>
@@ -1535,7 +1535,7 @@ build-postgresql:
</sect3>
- <sect3 id="configure-options-devel">
+ <sect3 id="configure-options-devel" xreflabel="Developer Options">
<title>Developer Options</title>
<para>
@@ -1715,7 +1715,7 @@ build-postgresql:
</sect2>
- <sect2 id="configure-envvars">
+ <sect2 id="configure-envvars" xreflabel="configure Environment Variables">
<title><filename>configure</filename> Environment Variables</title>
<indexterm zone="configure-envvars">
@@ -1999,10 +1999,10 @@ build-postgresql:
</sect2>
</sect1>
- <sect1 id="install-meson">
+ <sect1 id="install-meson" xreflabel="Building and Installation with Meson">
<title>Building and Installation with Meson</title>
- <sect2 id="install-short-meson">
+ <sect2 id="install-short-meson" xreflabel="Short Version">
<title>Short Version</title>
<para>
@@ -2026,7 +2026,7 @@ su - postgres
</para>
</sect2>
- <sect2 id="install-procedure-meson">
+ <sect2 id="install-procedure-meson" xreflabel="Installation Procedure">
<title>Installation Procedure</title>
<procedure>
@@ -2204,7 +2204,7 @@ ninja install
</formalpara>
</sect2>
- <sect2 id="meson-options">
+ <sect2 id="meson-options" xreflabel="meson setup Options">
<title><literal>meson setup</literal> Options</title>
<para>
@@ -2217,7 +2217,7 @@ ninja install
setup</command> as well.
</para>
- <sect3 id="meson-options-locations">
+ <sect3 id="meson-options-locations" xreflabel="Installation Locations">
<title>Installation Locations</title>
<para>
@@ -2356,7 +2356,7 @@ ninja install
</note>
</sect3>
- <sect3 id="meson-options-features">
+ <sect3 id="meson-options-features" xreflabel="PostgreSQL Features">
<title><productname>PostgreSQL</productname> Features</title>
<para>
@@ -2712,7 +2712,7 @@ ninja install
</variablelist>
</sect3>
- <sect3 id="meson-options-anti-features">
+ <sect3 id="meson-options-anti-features" xreflabel="Anti-Features">
<title>Anti-Features</title>
<variablelist>
@@ -2759,7 +2759,7 @@ ninja install
</variablelist>
</sect3>
- <sect3 id="meson-options-build-process">
+ <sect3 id="meson-options-build-process" xreflabel="Build Process Details">
<title>Build Process Details</title>
<variablelist>
@@ -2929,7 +2929,7 @@ ninja install
</variablelist>
</sect3>
- <sect3 id="meson-options-docs">
+ <sect3 id="meson-options-docs" xreflabel="Documentation">
<title>Documentation</title>
<para>
@@ -2974,7 +2974,7 @@ ninja install
</variablelist>
</sect3>
- <sect3 id="meson-options-misc">
+ <sect3 id="meson-options-misc" xreflabel="Miscellaneous">
<title>Miscellaneous</title>
<variablelist>
@@ -3057,7 +3057,7 @@ ninja install
</variablelist>
</sect3>
- <sect3 id="meson-options-devel">
+ <sect3 id="meson-options-devel" xreflabel="Developer Options">
<title>Developer Options</title>
<para>
@@ -3248,7 +3248,7 @@ ninja install
</sect3>
</sect2>
- <sect2 id="targets-meson">
+ <sect2 id="targets-meson" xreflabel="meson Build Targets">
<title><literal>meson</literal> Build Targets</title>
<para>
@@ -3264,10 +3264,10 @@ ninja install
</sect1>
- <sect1 id="install-post">
+ <sect1 id="install-post" xreflabel="Post-Installation Setup">
<title>Post-Installation Setup</title>
- <sect2 id="install-post-shlibs">
+ <sect2 id="install-post-shlibs" xreflabel="Shared Libraries">
<title>Shared Libraries</title>
<indexterm>
@@ -3355,7 +3355,7 @@ libpq.so.2.1: cannot open shared object file: No such file or directory
</para>
</sect2>
- <sect2 id="install-post-env-vars">
+ <sect2 id="install-post-env-vars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<indexterm>
@@ -3412,7 +3412,7 @@ export MANPATH
</sect2>
</sect1>
- <sect1 id="supported-platforms">
+ <sect1 id="supported-platforms" xreflabel="Supported Platforms">
<title>Supported Platforms</title>
<para>
@@ -3467,7 +3467,7 @@ export MANPATH
</para>
</sect1>
- <sect1 id="installation-platform-notes">
+ <sect1 id="installation-platform-notes" xreflabel="Platform-Specific Notes">
<title>Platform-Specific Notes</title>
<para>
@@ -3484,7 +3484,7 @@ export MANPATH
installation issues.
</para>
- <sect2 id="installation-notes-cygwin">
+ <sect2 id="installation-notes-cygwin" xreflabel="Cygwin">
<title>Cygwin</title>
<indexterm zone="installation-notes-cygwin">
@@ -3585,7 +3585,7 @@ make MAX_CONNECTIONS=5 check
</para>
</sect2>
- <sect2 id="installation-notes-macos">
+ <sect2 id="installation-notes-macos" xreflabel="macOS">
<title>macOS</title>
<indexterm zone="installation-notes-macos">
@@ -3660,7 +3660,7 @@ xcrun --show-sdk-path
</para>
</sect2>
- <sect2 id="installation-notes-mingw">
+ <sect2 id="installation-notes-mingw" xreflabel="MinGW">
<title>MinGW</title>
<indexterm zone="installation-notes-mingw">
@@ -3675,7 +3675,7 @@ xcrun --show-sdk-path
to install any prerequisite packages.
</para>
- <sect3 id="mingw-crash-dumps">
+ <sect3 id="mingw-crash-dumps" xreflabel="Collecting Crash Dumps">
<title>Collecting Crash Dumps</title>
<para>
@@ -3692,7 +3692,7 @@ xcrun --show-sdk-path
</sect3>
</sect2>
- <sect2 id="installation-notes-solaris">
+ <sect2 id="installation-notes-solaris" xreflabel="Solaris">
<title>Solaris</title>
<indexterm zone="installation-notes-solaris">
@@ -3705,7 +3705,7 @@ xcrun --show-sdk-path
operating system, the fewer issues you will experience.
</para>
- <sect3 id="installation-notes-solaris-req-tools">
+ <sect3 id="installation-notes-solaris-req-tools" xreflabel="Required Tools">
<title>Required Tools</title>
<para>
@@ -3719,7 +3719,7 @@ xcrun --show-sdk-path
</para>
</sect3>
- <sect3 id="installation-notes-solaris-configure-complains">
+ <sect3 id="installation-notes-solaris-configure-complains" xreflabel="configure Complains About a Failed Test Program">
<title>configure Complains About a Failed Test Program</title>
<para>
@@ -3738,7 +3738,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
</para>
</sect3>
- <sect3 id="installation-notes-solaris-using-dtrace">
+ <sect3 id="installation-notes-solaris-using-dtrace" xreflabel="Using DTrace for Tracing PostgreSQL">
<title>Using DTrace for Tracing PostgreSQL</title>
<para>
@@ -3748,7 +3748,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
</sect3>
</sect2>
- <sect2 id="installation-notes-visual-studio">
+ <sect2 id="installation-notes-visual-studio" xreflabel="Visual Studio">
<title>Visual Studio</title>
<indexterm zone="installation-notes-visual-studio">
@@ -3825,7 +3825,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
complete command-line build environment.
</para>
- <sect3 id="windows-requirements">
+ <sect3 id="windows-requirements" xreflabel="Requirements">
<title>Requirements</title>
<para>
The following additional products are required to build
@@ -3985,7 +3985,7 @@ configure ... LDFLAGS="-R /usr/sfw/lib:/opt/sfw/lib:/usr/local/lib"
</para>
</sect3>
- <sect3 id="windows-crash-dumps">
+ <sect3 id="windows-crash-dumps" xreflabel="Collecting Crash Dumps">
<title>Collecting Crash Dumps</title>
<para>
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
index 29e74ce146c..f7d2076a079 100644
--- a/doc/src/sgml/intagg.sgml
+++ b/doc/src/sgml/intagg.sgml
@@ -15,7 +15,7 @@
the built-in functions.
</para>
- <sect2 id="intagg-functions">
+ <sect2 id="intagg-functions" xreflabel="Functions">
<title>Functions</title>
<indexterm>
@@ -50,7 +50,7 @@
</sect2>
- <sect2 id="intagg-samples">
+ <sect2 id="intagg-samples" xreflabel="Sample Uses">
<title>Sample Uses</title>
<para>
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index c72d49b01d8..26c812a5b79 100644
--- a/doc/src/sgml/intarray.sgml
+++ b/doc/src/sgml/intarray.sgml
@@ -30,7 +30,7 @@
on the current database.
</para>
- <sect2 id="intarray-funcs-ops">
+ <sect2 id="intarray-funcs-ops" xreflabel="intarray Functions and Operators">
<title><filename>intarray</filename> Functions and Operators</title>
<para>
@@ -391,7 +391,7 @@
</para>
</sect2>
- <sect2 id="intarray-index">
+ <sect2 id="intarray-index" xreflabel="Index Support">
<title>Index Support</title>
<para>
@@ -443,7 +443,7 @@
</para>
</sect2>
- <sect2 id="intarray-example">
+ <sect2 id="intarray-example" xreflabel="Example">
<title>Example</title>
<programlisting>
@@ -464,7 +464,7 @@ SELECT message.mid FROM message WHERE message.sections @@ '1&2'::query_int;
</programlisting>
</sect2>
- <sect2 id="intarray-benchmark">
+ <sect2 id="intarray-benchmark" xreflabel="Benchmark">
<title>Benchmark</title>
<para>
@@ -488,7 +488,7 @@ psql -c "CREATE EXTENSION intarray" TEST
</para>
</sect2>
- <sect2 id="intarray-Authors">
+ <sect2 id="intarray-Authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml
index fec72481b54..cf6340c0643 100644
--- a/doc/src/sgml/intro.sgml
+++ b/doc/src/sgml/intro.sgml
@@ -81,7 +81,7 @@
</itemizedlist>
</para>
- <sect1 id="intro-whatis">
+ <sect1 id="intro-whatis" xreflabel=" What Is PostgreSQL?">
<title> What Is <productname>PostgreSQL</productname>?</title>
<para>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index d0ab06ca8d0..37dae676f54 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -27,7 +27,7 @@
on the current database.
</para>
- <sect2 id="isn-data-types">
+ <sect2 id="isn-data-types" xreflabel="Data Types">
<title>Data Types</title>
<para>
@@ -156,7 +156,7 @@
</para>
</sect2>
- <sect2 id="isn-casts">
+ <sect2 id="isn-casts" xreflabel="Casts">
<title>Casts</title>
<para>
@@ -224,7 +224,7 @@
</para>
</sect2>
- <sect2 id="isn-funcs-ops">
+ <sect2 id="isn-funcs-ops" xreflabel="Functions and Operators">
<title>Functions and Operators</title>
<para>
@@ -303,7 +303,7 @@
</table>
</sect2>
- <sect2 id="isn-configuration-parameters">
+ <sect2 id="isn-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -360,7 +360,7 @@
</para>
</sect2>
- <sect2 id="isn-examples">
+ <sect2 id="isn-examples" xreflabel="Examples">
<title>Examples</title>
<programlisting>
@@ -404,7 +404,7 @@ SELECT isbn13(id) FROM test;
</programlisting>
</sect2>
- <sect2 id="isn-bibliography">
+ <sect2 id="isn-bibliography" xreflabel="Bibliography">
<title>Bibliography</title>
<para>
@@ -432,7 +432,7 @@ SELECT isbn13(id) FROM test;
</para>
</sect2>
- <sect2 id="isn-author">
+ <sect2 id="isn-author" xreflabel="Author">
<title>Author</title>
<para>
Germán Méndez Bravo (Kronuz), 2004–2006
diff --git a/doc/src/sgml/jit.sgml b/doc/src/sgml/jit.sgml
index 44e18bf1a6f..9a10c3bc5e4 100644
--- a/doc/src/sgml/jit.sgml
+++ b/doc/src/sgml/jit.sgml
@@ -17,7 +17,7 @@
configured in <productname>PostgreSQL</productname>.
</para>
- <sect1 id="jit-reason">
+ <sect1 id="jit-reason" xreflabel="What Is JIT compilation?">
<title>What Is <acronym>JIT</acronym> compilation?</title>
<para>
@@ -43,7 +43,7 @@
See <filename>src/backend/jit/README</filename> for further details.
</para>
- <sect2 id="jit-accelerated-operations">
+ <sect2 id="jit-accelerated-operations" xreflabel="JIT Accelerated Operations">
<title><acronym>JIT</acronym> Accelerated Operations</title>
<para>
Currently <productname>PostgreSQL</productname>'s <acronym>JIT</acronym>
@@ -64,7 +64,7 @@
</para>
</sect2>
- <sect2 id="jit-inlining">
+ <sect2 id="jit-inlining" xreflabel="Inlining">
<title>Inlining</title>
<para>
<productname>PostgreSQL</productname> is very extensible and allows new
@@ -78,7 +78,7 @@
</para>
</sect2>
- <sect2 id="jit-optimization">
+ <sect2 id="jit-optimization" xreflabel="Optimization">
<title>Optimization</title>
<para>
<productname>LLVM</productname> has support for optimizing generated
@@ -92,7 +92,7 @@
</sect1>
- <sect1 id="jit-decision">
+ <sect1 id="jit-decision" xreflabel="When to JIT?">
<title>When to <acronym>JIT</acronym>?</title>
<para>
@@ -212,10 +212,10 @@ SET
</para>
</sect1>
- <sect1 id="jit-extensibility">
+ <sect1 id="jit-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
- <sect2 id="jit-extensibility-bitcode">
+ <sect2 id="jit-extensibility-bitcode" xreflabel="Inlining Support for Extensions">
<title>Inlining Support for Extensions</title>
<para>
<productname>PostgreSQL</productname>'s <acronym>JIT</acronym>
@@ -246,7 +246,7 @@ SET
</para>
</sect2>
- <sect2 id="jit-pluggable">
+ <sect2 id="jit-pluggable" xreflabel="Pluggable JIT Providers">
<title>Pluggable <acronym>JIT</acronym> Providers</title>
<para>
@@ -259,7 +259,7 @@ SET
<xref linkend="guc-jit-provider"/>.
</para>
- <sect3 id="jit-pluggable-provider-interface">
+ <sect3 id="jit-pluggable-provider-interface" xreflabel="JIT Provider Interface">
<title><acronym>JIT</acronym> Provider Interface</title>
<para>
A <acronym>JIT</acronym> provider is loaded by dynamically loading the
diff --git a/doc/src/sgml/json.sgml b/doc/src/sgml/json.sgml
index 206eadb8f7b..837579a87e0 100644
--- a/doc/src/sgml/json.sgml
+++ b/doc/src/sgml/json.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/json.sgml -->
-<sect1 id="datatype-json">
+<sect1 id="datatype-json" xreflabel="JSON Types">
<title><acronym>JSON</acronym> Types</title>
<indexterm zone="datatype-json">
@@ -168,7 +168,7 @@
</tgroup>
</table>
- <sect2 id="json-keys-elements">
+ <sect2 id="json-keys-elements" xreflabel="JSON Input and Output Syntax">
<title>JSON Input and Output Syntax</title>
<para>
The input/output syntax for the JSON data types is as specified in
@@ -234,7 +234,7 @@ SELECT '{"reading": 1.230e-5}'::json, '{"reading": 1.230e-5}'::jsonb;
</para>
</sect2>
- <sect2 id="json-doc-design">
+ <sect2 id="json-doc-design" xreflabel="Designing JSON Documents">
<title>Designing JSON Documents</title>
<para>
Representing data as JSON can be considerably more flexible than
@@ -263,7 +263,7 @@ SELECT '{"reading": 1.230e-5}'::json, '{"reading": 1.230e-5}'::jsonb;
</para>
</sect2>
- <sect2 id="json-containment">
+ <sect2 id="json-containment" xreflabel="jsonb Containment and Existence">
<title><type>jsonb</type> Containment and Existence</title>
<indexterm>
<primary>jsonb</primary>
@@ -399,7 +399,7 @@ SELECT doc->'site_name' FROM websites
</para>
</sect2>
- <sect2 id="json-indexing">
+ <sect2 id="json-indexing" xreflabel="jsonb Indexing">
<title><type>jsonb</type> Indexing</title>
<indexterm>
<primary>jsonb</primary>
@@ -613,7 +613,7 @@ SELECT jdoc->'guid', jdoc->'name' FROM api WHERE jdoc @@ '$.tags[*] == "qui"';
</para>
</sect2>
- <sect2 id="jsonb-subscripting">
+ <sect2 id="jsonb-subscripting" xreflabel="jsonb Subscripting">
<title><type>jsonb</type> Subscripting</title>
<para>
The <type>jsonb</type> data type supports array-style subscripting expressions
@@ -712,7 +712,7 @@ UPDATE table_name SET jsonb_field[1]['a'] = '1';
</para>
</sect2>
- <sect2 id="datatype-json-transforms">
+ <sect2 id="datatype-json-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -740,7 +740,7 @@ UPDATE table_name SET jsonb_field[1]['a'] = '1';
</para>
</sect2>
- <sect2 id="datatype-jsonpath">
+ <sect2 id="datatype-jsonpath" xreflabel="jsonpath Type">
<title>jsonpath Type</title>
<indexterm zone="datatype-jsonpath">
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 7d05938feda..97b94755d5d 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -46,7 +46,7 @@
and must link with the <application>libpq</application> library.
</para>
- <sect1 id="libpq-connect">
+ <sect1 id="libpq-connect" xreflabel="Database Connection Control Functions">
<title>Database Connection Control Functions</title>
<para>
@@ -933,7 +933,7 @@ PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void);
</variablelist>
</para>
- <sect2 id="libpq-connstring">
+ <sect2 id="libpq-connstring" xreflabel="Connection Strings">
<title>Connection Strings</title>
<indexterm zone="libpq-connstring">
@@ -954,7 +954,7 @@ PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void);
as further described below.
</para>
- <sect3 id="libpq-connstring-keyword-value">
+ <sect3 id="libpq-connstring-keyword-value" xreflabel="Keyword/Value Connection Strings">
<title>Keyword/Value Connection Strings</title>
<para>
@@ -982,7 +982,7 @@ host=localhost port=5432 dbname=mydb connect_timeout=10
</para>
</sect3>
- <sect3 id="libpq-connstring-uris">
+ <sect3 id="libpq-connstring-uris" xreflabel="Connection URIs">
<title>Connection URIs</title>
<para>
@@ -1079,7 +1079,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
</para>
</sect3>
- <sect3 id="libpq-multiple-hosts">
+ <sect3 id="libpq-multiple-hosts" xreflabel="Specifying Multiple Hosts">
<title>Specifying Multiple Hosts</title>
<para>
@@ -1122,7 +1122,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
</sect3>
</sect2>
- <sect2 id="libpq-paramkeywords">
+ <sect2 id="libpq-paramkeywords" xreflabel="Parameter Key Words">
<title>Parameter Key Words</title>
<para>
@@ -2573,7 +2573,7 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
</sect2>
</sect1>
- <sect1 id="libpq-status">
+ <sect1 id="libpq-status" xreflabel="Connection Status Functions">
<title>Connection Status Functions</title>
<para>
@@ -3342,7 +3342,7 @@ void *PQgetssl(const PGconn *conn);
</sect1>
- <sect1 id="libpq-exec">
+ <sect1 id="libpq-exec" xreflabel="Command Execution Functions">
<title>Command Execution Functions</title>
<para>
@@ -3351,7 +3351,7 @@ void *PQgetssl(const PGconn *conn);
SQL queries and commands.
</para>
- <sect2 id="libpq-exec-main">
+ <sect2 id="libpq-exec-main" xreflabel="Main Functions">
<title>Main Functions</title>
<para>
@@ -4383,7 +4383,7 @@ void PQclear(PGresult *res);
</para>
</sect2>
- <sect2 id="libpq-exec-select-info">
+ <sect2 id="libpq-exec-select-info" xreflabel="Retrieving Query Result Information">
<title>Retrieving Query Result Information</title>
<para>
@@ -4829,7 +4829,7 @@ typedef struct
</variablelist>
</sect2>
- <sect2 id="libpq-exec-nonselect">
+ <sect2 id="libpq-exec-nonselect" xreflabel="Retrieving Other Result Information">
<title>Retrieving Other Result Information</title>
<para>
@@ -4931,7 +4931,7 @@ char *PQoidStatus(const PGresult *res);
</sect2>
- <sect2 id="libpq-exec-escape-string">
+ <sect2 id="libpq-exec-escape-string" xreflabel="Escaping Strings for Inclusion in SQL Commands">
<title>Escaping Strings for Inclusion in SQL Commands</title>
<indexterm zone="libpq-exec-escape-string">
@@ -5257,7 +5257,7 @@ unsigned char *PQunescapeBytea(const unsigned char *from, size_t *to_length);
</sect1>
- <sect1 id="libpq-async">
+ <sect1 id="libpq-async" xreflabel="Asynchronous Command Processing">
<title>Asynchronous Command Processing</title>
<indexterm zone="libpq-async">
@@ -5796,7 +5796,7 @@ int PQflush(PGconn *conn);
</sect1>
- <sect1 id="libpq-pipeline-mode">
+ <sect1 id="libpq-pipeline-mode" xreflabel="Pipeline Mode">
<title>Pipeline Mode</title>
<indexterm zone="libpq-pipeline-mode">
@@ -5844,7 +5844,7 @@ int PQflush(PGconn *conn);
<xref linkend="protocol-flow-pipelining"/>.
</para>
- <sect2 id="libpq-pipeline-using">
+ <sect2 id="libpq-pipeline-using" xreflabel="Using Pipeline Mode">
<title>Using Pipeline Mode</title>
<para>
@@ -5893,7 +5893,7 @@ int PQflush(PGconn *conn);
</para>
</note>
- <sect3 id="libpq-pipeline-sending">
+ <sect3 id="libpq-pipeline-sending" xreflabel="Issuing Queries">
<title>Issuing Queries</title>
<para>
@@ -5941,7 +5941,7 @@ int PQflush(PGconn *conn);
</para>
</sect3>
- <sect3 id="libpq-pipeline-results">
+ <sect3 id="libpq-pipeline-results" xreflabel="Processing Results">
<title>Processing Results</title>
<para>
@@ -5997,7 +5997,7 @@ int PQflush(PGconn *conn);
</sect3>
- <sect3 id="libpq-pipeline-errors">
+ <sect3 id="libpq-pipeline-errors" xreflabel="Error Handling">
<title>Error Handling</title>
<para>
@@ -6047,7 +6047,7 @@ int PQflush(PGconn *conn);
</note>
</sect3>
- <sect3 id="libpq-pipeline-interleave">
+ <sect3 id="libpq-pipeline-interleave" xreflabel="Interleaving Result Processing and Query Dispatch">
<title>Interleaving Result Processing and Query Dispatch</title>
<para>
@@ -6080,7 +6080,7 @@ int PQflush(PGconn *conn);
</sect3>
</sect2>
- <sect2 id="libpq-pipeline-functions">
+ <sect2 id="libpq-pipeline-functions" xreflabel="Functions Associated with Pipeline Mode">
<title>Functions Associated with Pipeline Mode</title>
<variablelist>
@@ -6269,7 +6269,7 @@ int PQsendFlushRequest(PGconn *conn);
</variablelist>
</sect2>
- <sect2 id="libpq-pipeline-tips">
+ <sect2 id="libpq-pipeline-tips" xreflabel="When to Use Pipeline Mode">
<title>When to Use Pipeline Mode</title>
<para>
@@ -6327,7 +6327,7 @@ UPDATE mytable SET x = x + 1 WHERE id = 42;
</sect1>
<!-- keep this not-too-apropos sect1 ID for stability of doc URLs -->
- <sect1 id="libpq-single-row-mode">
+ <sect1 id="libpq-single-row-mode" xreflabel="Retrieving Query Results in Chunks">
<title>Retrieving Query Results in Chunks</title>
<indexterm zone="libpq-single-row-mode">
@@ -6464,7 +6464,7 @@ int PQsetChunkedRowsMode(PGconn *conn, int chunkSize);
</sect1>
- <sect1 id="libpq-cancel">
+ <sect1 id="libpq-cancel" xreflabel="Canceling Queries in Progress">
<title>Canceling Queries in Progress</title>
<indexterm zone="libpq-cancel">
@@ -6474,7 +6474,7 @@ int PQsetChunkedRowsMode(PGconn *conn, int chunkSize);
<primary>query cancellation</primary>
</indexterm>
- <sect2 id="libpq-cancel-functions">
+ <sect2 id="libpq-cancel-functions" xreflabel="Functions for Sending Cancel Requests">
<title>Functions for Sending Cancel Requests</title>
<variablelist>
<varlistentry id="libpq-PQcancelCreate">
@@ -6879,7 +6879,7 @@ void PQcancelReset(PGcancelConn *cancelConn);
</variablelist>
</sect2>
- <sect2 id="libpq-cancel-deprecated">
+ <sect2 id="libpq-cancel-deprecated" xreflabel="Obsolete Functions for Sending Cancel Requests">
<title>Obsolete Functions for Sending Cancel Requests</title>
<para>
@@ -7017,7 +7017,7 @@ int PQrequestCancel(PGconn *conn);
</sect2>
</sect1>
- <sect1 id="libpq-fastpath">
+ <sect1 id="libpq-fastpath" xreflabel="The Fast-Path Interface">
<title>The Fast-Path Interface</title>
<indexterm zone="libpq-fastpath">
@@ -7127,7 +7127,7 @@ typedef struct
</sect1>
- <sect1 id="libpq-notify">
+ <sect1 id="libpq-notify" xreflabel="Asynchronous Notification">
<title>Asynchronous Notification</title>
<indexterm zone="libpq-notify">
@@ -7219,7 +7219,7 @@ typedef struct pgNotify
</sect1>
- <sect1 id="libpq-copy">
+ <sect1 id="libpq-copy" xreflabel="Functions Associated with the COPY Command">
<title>Functions Associated with the <command>COPY</command> Command</title>
<indexterm zone="libpq-copy">
@@ -7322,7 +7322,7 @@ typedef struct pgNotify
</variablelist>
</para>
- <sect2 id="libpq-copy-send">
+ <sect2 id="libpq-copy-send" xreflabel="Functions for Sending COPY Data">
<title>Functions for Sending <command>COPY</command> Data</title>
<para>
@@ -7415,7 +7415,7 @@ int PQputCopyEnd(PGconn *conn,
</sect2>
- <sect2 id="libpq-copy-receive">
+ <sect2 id="libpq-copy-receive" xreflabel="Functions for Receiving COPY Data">
<title>Functions for Receiving <command>COPY</command> Data</title>
<para>
@@ -7486,7 +7486,7 @@ int PQgetCopyData(PGconn *conn,
</sect2>
- <sect2 id="libpq-copy-deprecated">
+ <sect2 id="libpq-copy-deprecated" xreflabel="Obsolete Functions for COPY">
<title>Obsolete Functions for <command>COPY</command></title>
<para>
@@ -7695,7 +7695,7 @@ int PQendcopy(PGconn *conn);
</sect1>
- <sect1 id="libpq-control">
+ <sect1 id="libpq-control" xreflabel="Control Functions">
<title>Control Functions</title>
<para>
@@ -7911,7 +7911,7 @@ void PQuntrace(PGconn *conn);
</sect1>
- <sect1 id="libpq-misc">
+ <sect1 id="libpq-misc" xreflabel="Miscellaneous Functions">
<title>Miscellaneous Functions</title>
<para>
@@ -8348,7 +8348,7 @@ pg_usec_time_t PQgetCurrentTimeUSec(void);
</sect1>
- <sect1 id="libpq-notice-processing">
+ <sect1 id="libpq-notice-processing" xreflabel="Notice Processing">
<title>Notice Processing</title>
<indexterm zone="libpq-notice-processing">
@@ -8458,7 +8458,7 @@ defaultNoticeProcessor(void *arg, const char *message)
</sect1>
- <sect1 id="libpq-events">
+ <sect1 id="libpq-events" xreflabel="Event System">
<title>Event System</title>
<para>
@@ -8494,7 +8494,7 @@ defaultNoticeProcessor(void *arg, const char *message)
to free them — that is the responsibility of the event handler.
</para>
- <sect2 id="libpq-events-types">
+ <sect2 id="libpq-events-types" xreflabel="Event Types">
<title>Event Types</title>
<para>
@@ -8695,7 +8695,7 @@ typedef struct
</variablelist>
</sect2>
- <sect2 id="libpq-events-proc">
+ <sect2 id="libpq-events-proc" xreflabel="Event Callback Procedure">
<title>Event Callback Procedure</title>
<variablelist>
@@ -8745,7 +8745,7 @@ int eventproc(PGEventId evtId, void *evtInfo, void *passThrough)
</variablelist>
</sect2>
- <sect2 id="libpq-events-funcs">
+ <sect2 id="libpq-events-funcs" xreflabel="Event Support Functions">
<title>Event Support Functions</title>
<variablelist>
@@ -8858,7 +8858,7 @@ void *PQresultInstanceData(const PGresult *res, PGEventProc proc);
</variablelist>
</sect2>
- <sect2 id="libpq-events-example">
+ <sect2 id="libpq-events-example" xreflabel="Event Example">
<title>Event Example</title>
<para>
@@ -9015,7 +9015,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect2>
</sect1>
- <sect1 id="libpq-envars">
+ <sect1 id="libpq-envars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<indexterm zone="libpq-envars">
@@ -9490,7 +9490,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect1>
- <sect1 id="libpq-pgpass">
+ <sect1 id="libpq-pgpass" xreflabel="The Password File">
<title>The Password File</title>
<indexterm zone="libpq-pgpass">
@@ -9553,7 +9553,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</sect1>
- <sect1 id="libpq-pgservice">
+ <sect1 id="libpq-pgservice" xreflabel="The Connection Service File">
<title>The Connection Service File</title>
<indexterm zone="libpq-pgservice">
@@ -9628,7 +9628,7 @@ user=admin
</sect1>
- <sect1 id="libpq-ldap">
+ <sect1 id="libpq-ldap" xreflabel="LDAP Lookup of Connection Parameters">
<title>LDAP Lookup of Connection Parameters</title>
<indexterm zone="libpq-ldap">
@@ -9710,7 +9710,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</sect1>
- <sect1 id="libpq-ssl">
+ <sect1 id="libpq-ssl" xreflabel="SSL Support">
<title>SSL Support</title>
<indexterm zone="libpq-ssl">
@@ -9736,7 +9736,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
file.
</para>
- <sect2 id="libq-ssl-certificates">
+ <sect2 id="libq-ssl-certificates" xreflabel="Client Verification of Server Certificates">
<title>Client Verification of Server Certificates</title>
<para>
@@ -9843,7 +9843,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</note>
</sect2>
- <sect2 id="libpq-ssl-clientcert">
+ <sect2 id="libpq-ssl-clientcert" xreflabel="Client Certificates">
<title>Client Certificates</title>
<para>
@@ -9912,7 +9912,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</para>
</sect2>
- <sect2 id="libpq-ssl-protection">
+ <sect2 id="libpq-ssl-protection" xreflabel="Protection Provided in Different Modes">
<title>Protection Provided in Different Modes</title>
<para>
@@ -10085,7 +10085,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</sect2>
- <sect2 id="libpq-ssl-fileusage">
+ <sect2 id="libpq-ssl-fileusage" xreflabel="SSL Client File Usage">
<title>SSL Client File Usage</title>
<para>
@@ -10137,7 +10137,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
</table>
</sect2>
- <sect2 id="libpq-ssl-initialize">
+ <sect2 id="libpq-ssl-initialize" xreflabel="SSL Library Initialization">
<title>SSL Library Initialization</title>
<para>
@@ -10212,7 +10212,7 @@ void PQinitSSL(int do_ssl);
</sect1>
- <sect1 id="libpq-oauth">
+ <sect1 id="libpq-oauth" xreflabel="OAuth Support">
<title>OAuth Support</title>
<para>
@@ -10267,7 +10267,7 @@ Visit https://example.com/device and enter the code: ABCD-EFGH
</para>
</note>
- <sect2 id="libpq-oauth-authdata-hooks">
+ <sect2 id="libpq-oauth-authdata-hooks" xreflabel="Authdata Hooks">
<title>Authdata Hooks</title>
<para>
@@ -10337,7 +10337,7 @@ PQauthDataHook_type PQgetAuthDataHook(void);
</variablelist>
</para>
- <sect3 id="libpq-oauth-authdata-hooks-types">
+ <sect3 id="libpq-oauth-authdata-hooks-types" xreflabel="Hook Types">
<title>Hook Types</title>
<para>
The following <symbol>PGauthData</symbol> types and their corresponding
@@ -10509,7 +10509,7 @@ typedef struct PGoauthBearerRequest
</sect3>
</sect2>
- <sect2 id="libpq-oauth-debugging">
+ <sect2 id="libpq-oauth-debugging" xreflabel="Debugging and Developer Settings">
<title>Debugging and Developer Settings</title>
<para>
@@ -10554,7 +10554,7 @@ typedef struct PGoauthBearerRequest
</sect1>
- <sect1 id="libpq-threading">
+ <sect1 id="libpq-threading" xreflabel="Behavior in Threaded Programs">
<title>Behavior in Threaded Programs</title>
<indexterm zone="libpq-threading">
@@ -10640,7 +10640,7 @@ int PQisthreadsafe();
</sect1>
- <sect1 id="libpq-build">
+ <sect1 id="libpq-build" xreflabel="Building libpq Programs">
<title>Building <application>libpq</application> Programs</title>
<indexterm zone="libpq-build">
@@ -10783,7 +10783,7 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
</sect1>
- <sect1 id="libpq-example">
+ <sect1 id="libpq-example" xreflabel="Example Programs">
<title>Example Programs</title>
<para>
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
index 6d9bcebd42b..8fe2e8bd200 100644
--- a/doc/src/sgml/lo.sgml
+++ b/doc/src/sgml/lo.sgml
@@ -19,7 +19,7 @@
on the current database.
</para>
- <sect2 id="lo-rationale">
+ <sect2 id="lo-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -66,7 +66,7 @@
</para>
</sect2>
- <sect2 id="lo-how-to-use">
+ <sect2 id="lo-how-to-use" xreflabel="How to Use It">
<title>How to Use It</title>
<para>
@@ -92,7 +92,7 @@ CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
</para>
</sect2>
- <sect2 id="lo-limitations">
+ <sect2 id="lo-limitations" xreflabel="Limitations">
<title>Limitations</title>
<itemizedlist>
@@ -125,7 +125,7 @@ CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
</itemizedlist>
</sect2>
- <sect2 id="lo-author">
+ <sect2 id="lo-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/lobj.sgml b/doc/src/sgml/lobj.sgml
index 79731c6553f..a5813c2cf0b 100644
--- a/doc/src/sgml/lobj.sgml
+++ b/doc/src/sgml/lobj.sgml
@@ -25,7 +25,7 @@
values. This is not described here.
</para>
- <sect1 id="lo-intro">
+ <sect1 id="lo-intro" xreflabel="Introduction">
<title>Introduction</title>
<indexterm>
@@ -58,7 +58,7 @@
</sect1>
- <sect1 id="lo-implementation">
+ <sect1 id="lo-implementation" xreflabel="Implementation Features">
<title>Implementation Features</title>
<para>
@@ -96,7 +96,7 @@
</para>
</sect1>
- <sect1 id="lo-interfaces">
+ <sect1 id="lo-interfaces" xreflabel="Client Interfaces">
<title>Client Interfaces</title>
<para>
@@ -136,7 +136,7 @@
Client applications cannot use these functions while a libpq connection is in pipeline mode.
</para>
- <sect2 id="lo-create">
+ <sect2 id="lo-create" xreflabel="Creating a Large Object">
<title>Creating a Large Object</title>
<para>
@@ -197,7 +197,7 @@ inv_oid = lo_creat(conn, INV_READ|INV_WRITE);
</para>
</sect2>
- <sect2 id="lo-import">
+ <sect2 id="lo-import" xreflabel="Importing a Large Object">
<title>Importing a Large Object</title>
<para>
@@ -239,7 +239,7 @@ Oid lo_import_with_oid(PGconn *conn, const char *filename, Oid lobjId);
</para>
</sect2>
- <sect2 id="lo-export">
+ <sect2 id="lo-export" xreflabel="Exporting a Large Object">
<title>Exporting a Large Object</title>
<para>
@@ -257,7 +257,7 @@ int lo_export(PGconn *conn, Oid lobjId, const char *filename);
</para>
</sect2>
- <sect2 id="lo-open">
+ <sect2 id="lo-open" xreflabel="Opening an Existing Large Object">
<title>Opening an Existing Large Object</title>
<para>
@@ -320,7 +320,7 @@ inv_fd = lo_open(conn, inv_oid, INV_READ|INV_WRITE);
</para>
</sect2>
-<sect2 id="lo-write">
+<sect2 id="lo-write" xreflabel="Writing Data to a Large Object">
<title>Writing Data to a Large Object</title>
<para>
@@ -346,7 +346,7 @@ int lo_write(PGconn *conn, int fd, const char *buf, size_t len);
</para>
</sect2>
-<sect2 id="lo-read">
+<sect2 id="lo-read" xreflabel="Reading Data from a Large Object">
<title>Reading Data from a Large Object</title>
<para>
@@ -373,7 +373,7 @@ int lo_read(PGconn *conn, int fd, char *buf, size_t len);
</para>
</sect2>
-<sect2 id="lo-seek">
+<sect2 id="lo-seek" xreflabel="Seeking in a Large Object">
<title>Seeking in a Large Object</title>
<para>
@@ -416,7 +416,7 @@ int64_t lo_lseek64(PGconn *conn, int fd, int64_t offset, int whence);
</sect2>
-<sect2 id="lo-tell">
+<sect2 id="lo-tell" xreflabel="Obtaining the Seek Position of a Large Object">
<title>Obtaining the Seek Position of a Large Object</title>
<para>
@@ -450,7 +450,7 @@ int64_t lo_tell64(PGconn *conn, int fd);
</para>
</sect2>
-<sect2 id="lo-truncate">
+<sect2 id="lo-truncate" xreflabel="Truncating a Large Object">
<title>Truncating a Large Object</title>
<para>
@@ -505,7 +505,7 @@ int lo_truncate64(PGconn *conn, int fd, int64_t len);
</para>
</sect2>
-<sect2 id="lo-close">
+<sect2 id="lo-close" xreflabel="Closing a Large Object Descriptor">
<title>Closing a Large Object Descriptor</title>
<para>
@@ -526,7 +526,7 @@ int lo_close(PGconn *conn, int fd);
</para>
</sect2>
- <sect2 id="lo-unlink">
+ <sect2 id="lo-unlink" xreflabel="Removing a Large Object">
<title>Removing a Large Object</title>
<para>
@@ -542,7 +542,7 @@ int lo_unlink(PGconn *conn, Oid lobjId);
</sect1>
-<sect1 id="lo-funcs">
+<sect1 id="lo-funcs" xreflabel="Server-Side Functions">
<title>Server-Side Functions</title>
<para>
@@ -705,7 +705,7 @@ SELECT lo_export(image.raster, '/tmp/motd') FROM image
</sect1>
-<sect1 id="lo-examplesect">
+<sect1 id="lo-examplesect" xreflabel="Example Program">
<title>Example Program</title>
<para>
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index b3faaa675ef..f145d60fcf1 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -96,7 +96,7 @@
subscribers to the same set of tables, conflicts can arise.
</para>
- <sect1 id="logical-replication-publication">
+ <sect1 id="logical-replication-publication" xreflabel="Publication">
<title>Publication</title>
<para>
@@ -146,7 +146,7 @@
snapshot once the transaction has committed.
</para>
- <sect2 id="logical-replication-publication-replica-identity">
+ <sect2 id="logical-replication-publication-replica-identity" xreflabel="Replica Identity">
<title>Replica Identity</title>
<para>
@@ -200,7 +200,7 @@
</sect1>
- <sect1 id="logical-replication-subscription">
+ <sect1 id="logical-replication-subscription" xreflabel="Subscription">
<title>Subscription</title>
<para>
@@ -289,7 +289,7 @@
option of <command>CREATE SUBSCRIPTION</command> for details.
</para>
- <sect2 id="logical-replication-subscription-slot">
+ <sect2 id="logical-replication-subscription-slot" xreflabel="Logical Replication Slot Management">
<title>Logical Replication Slot Management</title>
<para>
@@ -364,7 +364,7 @@
</para>
</sect2>
- <sect2 id="logical-replication-subscription-examples">
+ <sect2 id="logical-replication-subscription-examples" xreflabel="Examples: Set Up Logical Replication">
<title>Examples: Set Up Logical Replication</title>
<para>
@@ -539,7 +539,7 @@
</programlisting></para>
</sect2>
- <sect2 id="logical-replication-subscription-examples-deferred-slot">
+ <sect2 id="logical-replication-subscription-examples-deferred-slot" xreflabel="Examples: Deferred Logical Replication Slot Creation">
<title>Examples: Deferred Logical Replication Slot Creation</title>
<para>
@@ -689,7 +689,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect1>
- <sect1 id="logical-replication-failover">
+ <sect1 id="logical-replication-failover" xreflabel="Logical Replication Failover">
<title>Logical Replication Failover</title>
<para>
@@ -827,7 +827,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</programlisting></para>
</sect1>
- <sect1 id="logical-replication-row-filter">
+ <sect1 id="logical-replication-row-filter" xreflabel="Row Filters">
<title>Row Filters</title>
<para>
@@ -843,7 +843,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
<xref linkend="sql-createpublication"/> for details.
</para>
- <sect2 id="logical-replication-row-filter-rules">
+ <sect2 id="logical-replication-row-filter-rules" xreflabel="Row Filter Rules">
<title>Row Filter Rules</title>
<para>
@@ -859,7 +859,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-restrictions">
+ <sect2 id="logical-replication-row-filter-restrictions" xreflabel="Expression Restrictions">
<title>Expression Restrictions</title>
<para>
@@ -879,7 +879,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-transformations">
+ <sect2 id="logical-replication-row-filter-transformations" xreflabel="UPDATE Transformations">
<title>UPDATE Transformations</title>
<para>
@@ -940,7 +940,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-partitioned-table">
+ <sect2 id="logical-replication-row-filter-partitioned-table" xreflabel="Partitioned Tables">
<title>Partitioned Tables</title>
<para>
@@ -955,7 +955,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-initial-data-sync">
+ <sect2 id="logical-replication-row-filter-initial-data-sync" xreflabel="Initial Data Synchronization">
<title>Initial Data Synchronization</title>
<para>
@@ -992,7 +992,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-combining">
+ <sect2 id="logical-replication-row-filter-combining" xreflabel="Combining Multiple Row Filters">
<title>Combining Multiple Row Filters</title>
<para>
@@ -1027,7 +1027,7 @@ HINT: To initiate replication, you must manually create the replication slot, e
</sect2>
- <sect2 id="logical-replication-row-filter-examples">
+ <sect2 id="logical-replication-row-filter-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1375,7 +1375,7 @@ Publications:
</sect1>
- <sect1 id="logical-replication-col-lists">
+ <sect1 id="logical-replication-col-lists" xreflabel="Column Lists">
<title>Column Lists</title>
<para>
@@ -1475,7 +1475,7 @@ Publications:
</para>
</warning>
- <sect2 id="logical-replication-col-list-examples">
+ <sect2 id="logical-replication-col-list-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1571,7 +1571,7 @@ Publications:
</sect1>
- <sect1 id="logical-replication-gencols">
+ <sect1 id="logical-replication-gencols" xreflabel="Generated Column Replication">
<title>Generated Column Replication</title>
<para>
@@ -1750,7 +1750,7 @@ Publications:
</note>
</sect1>
- <sect1 id="logical-replication-sequences">
+ <sect1 id="logical-replication-sequences" xreflabel="Replicating Sequences">
<title>Replicating Sequences</title>
<para>
@@ -1797,7 +1797,7 @@ Publications:
configuration.
</para>
- <sect2 id="sequence-definition-mismatches">
+ <sect2 id="sequence-definition-mismatches" xreflabel="Sequence Definition Mismatches">
<title>Sequence Definition Mismatches</title>
<para>
The sequence synchronization worker validates that sequence definitions
@@ -1814,7 +1814,7 @@ Publications:
</para>
</sect2>
- <sect2 id="sequences-out-of-sync">
+ <sect2 id="sequences-out-of-sync" xreflabel="Refreshing Out-of-Sync Sequences">
<title>Refreshing Out-of-Sync Sequences</title>
<para>
Subscriber sequence values will become out of sync as the publisher
@@ -1841,7 +1841,7 @@ Publications:
</warning>
</sect2>
- <sect2 id="logical-replication-sequences-examples">
+ <sect2 id="logical-replication-sequences-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1991,7 +1991,7 @@ Publications:
</sect2>
</sect1>
- <sect1 id="logical-replication-conflicts">
+ <sect1 id="logical-replication-conflicts" xreflabel="Conflicts">
<title>Conflicts</title>
<para>
@@ -2310,7 +2310,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-restrictions">
+ <sect1 id="logical-replication-restrictions" xreflabel="Restrictions">
<title>Restrictions</title>
<para>
@@ -2415,7 +2415,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect1>
- <sect1 id="logical-replication-architecture">
+ <sect1 id="logical-replication-architecture" xreflabel="Architecture">
<title>Architecture</title>
<para>
@@ -2452,7 +2452,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
and statement triggers for <command>INSERT</command>.
</para>
- <sect2 id="logical-replication-snapshot">
+ <sect2 id="logical-replication-snapshot" xreflabel="Initial Snapshot">
<title>Initial Snapshot</title>
<para>
The initial data in existing subscribed tables are snapshotted and
@@ -2492,7 +2492,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect2>
</sect1>
- <sect1 id="logical-replication-monitoring">
+ <sect1 id="logical-replication-monitoring" xreflabel="Monitoring">
<title>Monitoring</title>
<para>
@@ -2523,7 +2523,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-security">
+ <sect1 id="logical-replication-security" xreflabel="Security">
<title>Security</title>
<para>
@@ -2616,7 +2616,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</para>
</sect1>
- <sect1 id="logical-replication-config">
+ <sect1 id="logical-replication-config" xreflabel="Configuration Settings">
<title>Configuration Settings</title>
<para>
@@ -2624,7 +2624,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
options are relevant only on one side of the replication.
</para>
- <sect2 id="logical-replication-config-publisher">
+ <sect2 id="logical-replication-config-publisher" xreflabel="Publishers">
<title>Publishers</title>
<para>
@@ -2657,7 +2657,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect2>
- <sect2 id="logical-replication-config-subscriber">
+ <sect2 id="logical-replication-config-subscriber" xreflabel="Subscribers">
<title>Subscribers</title>
<para>
@@ -2712,7 +2712,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</sect1>
- <sect1 id="logical-replication-upgrade">
+ <sect1 id="logical-replication-upgrade" xreflabel="Upgrade">
<title>Upgrade</title>
<para>
@@ -2721,7 +2721,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
clusters are version 17.0 or later.
</para>
- <sect2 id="prepare-publisher-upgrades">
+ <sect2 id="prepare-publisher-upgrades" xreflabel="Prepare for Publisher Upgrades">
<title>Prepare for Publisher Upgrades</title>
<para>
@@ -2793,7 +2793,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect2>
- <sect2 id="prepare-subscriber-upgrades">
+ <sect2 id="prepare-subscriber-upgrades" xreflabel="Prepare for Subscriber Upgrades">
<title>Prepare for Subscriber Upgrades</title>
<para>
@@ -2869,7 +2869,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</sect2>
- <sect2 id="upgrading-logical-replication-clusters">
+ <sect2 id="upgrading-logical-replication-clusters" xreflabel="Upgrading Logical Replication Clusters">
<title>Upgrading Logical Replication Clusters</title>
<para>
@@ -2933,7 +2933,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
</itemizedlist>
</para>
- <sect3 id="steps-two-node-logical-replication-cluster">
+ <sect3 id="steps-two-node-logical-replication-cluster" xreflabel="Steps to Upgrade a Two-node Logical Replication Cluster">
<title>Steps to Upgrade a Two-node Logical Replication Cluster</title>
<para>
Let's say publisher is in <literal>node1</literal> and subscriber is
@@ -3077,7 +3077,7 @@ pg_ctl -D /opt/PostgreSQL/data2_upgraded start -l logfile
</note>
</sect3>
- <sect3 id="steps-cascaded-logical-replication-cluster">
+ <sect3 id="steps-cascaded-logical-replication-cluster" xreflabel="Steps to Upgrade a Cascaded Logical Replication Cluster">
<title>Steps to Upgrade a Cascaded Logical Replication Cluster</title>
<para>
Let's say we have a cascaded logical replication setup
@@ -3306,7 +3306,7 @@ pg_ctl -D /opt/PostgreSQL/data3_upgraded start -l logfile
</procedure>
</sect3>
- <sect3 id="steps-two-node-circular-logical-replication-cluster">
+ <sect3 id="steps-two-node-circular-logical-replication-cluster" xreflabel="Steps to Upgrade a Two-node Circular Logical Replication Cluster">
<title>Steps to Upgrade a Two-node Circular Logical Replication Cluster</title>
<para>
Let's say we have a circular logical replication setup
@@ -3501,7 +3501,7 @@ pg_ctl -D /opt/PostgreSQL/data2_upgraded start -l logfile
</sect2>
</sect1>
- <sect1 id="logical-replication-quick-setup">
+ <sect1 id="logical-replication-quick-setup" xreflabel="Quick Setup">
<title>Quick Setup</title>
<para>
diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml
index 6368e46ce93..636ff80d8e4 100644
--- a/doc/src/sgml/logicaldecoding.sgml
+++ b/doc/src/sgml/logicaldecoding.sgml
@@ -37,7 +37,7 @@
(see <xref linkend="logicaldecoding-writer"/>).
</para>
- <sect1 id="logicaldecoding-example">
+ <sect1 id="logicaldecoding-example" xreflabel="Logical Decoding Examples">
<title>Logical Decoding Examples</title>
<para>
@@ -235,9 +235,9 @@ postgres=# SELECT * from pg_logical_slot_get_changes('regression_slot', NULL, NU
</programlisting>
</sect1>
- <sect1 id="logicaldecoding-explanation">
+ <sect1 id="logicaldecoding-explanation" xreflabel="Logical Decoding Concepts">
<title>Logical Decoding Concepts</title>
- <sect2 id="logicaldecoding-explanation-log-dec">
+ <sect2 id="logicaldecoding-explanation-log-dec" xreflabel="Logical Decoding">
<title>Logical Decoding</title>
<indexterm>
@@ -259,7 +259,7 @@ postgres=# SELECT * from pg_logical_slot_get_changes('regression_slot', NULL, NU
</para>
</sect2>
- <sect2 id="logicaldecoding-replication-slots">
+ <sect2 id="logicaldecoding-replication-slots" xreflabel="Replication Slots">
<title>Replication Slots</title>
<indexterm>
@@ -361,7 +361,7 @@ postgres=# SELECT * from pg_logical_slot_get_changes('regression_slot', NULL, NU
</sect2>
- <sect2 id="logicaldecoding-replication-slots-synchronization">
+ <sect2 id="logicaldecoding-replication-slots-synchronization" xreflabel="Replication Slot Synchronization">
<title>Replication Slot Synchronization</title>
<para>
The logical replication slots on the primary can be synchronized to
@@ -475,7 +475,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</caution>
</sect2>
- <sect2 id="logicaldecoding-explanation-output-plugins">
+ <sect2 id="logicaldecoding-explanation-output-plugins" xreflabel="Output Plugins">
<title>Output Plugins</title>
<para>
Output plugins transform the data from the write-ahead log's internal
@@ -483,7 +483,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect2>
- <sect2 id="logicaldecoding-explanation-exported-snapshots">
+ <sect2 id="logicaldecoding-explanation-exported-snapshots" xreflabel="Exported Snapshots">
<title>Exported Snapshots</title>
<para>
When a new replication slot is created using the streaming replication
@@ -506,7 +506,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</sect2>
</sect1>
- <sect1 id="logicaldecoding-walsender">
+ <sect1 id="logicaldecoding-walsender" xreflabel="Streaming Replication Protocol Interface">
<title>Streaming Replication Protocol Interface</title>
<para>
@@ -537,7 +537,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-sql">
+ <sect1 id="logicaldecoding-sql" xreflabel="Logical Decoding SQL Interface">
<title>Logical Decoding <acronym>SQL</acronym> Interface</title>
<para>
@@ -553,7 +553,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-catalogs">
+ <sect1 id="logicaldecoding-catalogs" xreflabel="System Catalogs Related to Logical Decoding">
<title>System Catalogs Related to Logical Decoding</title>
<para>
@@ -570,7 +570,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</para>
</sect1>
- <sect1 id="logicaldecoding-output-plugin">
+ <sect1 id="logicaldecoding-output-plugin" xreflabel="Logical Decoding Output Plugins">
<title>Logical Decoding Output Plugins</title>
<para>
@@ -594,7 +594,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
logical replication</link>.
</para>
- <sect3 id="logicaldecoding-pgoutput-options">
+ <sect3 id="logicaldecoding-pgoutput-options" xreflabel="Options">
<title>Options</title>
<variablelist>
@@ -717,7 +717,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</sect3>
- <sect3 id="logicaldecoding-pgoutput-notes">
+ <sect3 id="logicaldecoding-pgoutput-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -734,7 +734,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</sect2>
</sect1>
- <sect1 id="logicaldecoding-output-plugin-writing">
+ <sect1 id="logicaldecoding-output-plugin-writing" xreflabel="Writing Logical Decoding Output Plugins">
<title>Writing Logical Decoding Output Plugins</title>
<para>
An example output plugin can be found in the
@@ -743,7 +743,7 @@ DETAIL: Synchronization could lead to data loss, because the remote slot needs
</link>
subdirectory of the PostgreSQL source tree.
</para>
- <sect2 id="logicaldecoding-output-init">
+ <sect2 id="logicaldecoding-output-init" xreflabel="Initialization Function">
<title>Initialization Function</title>
<indexterm zone="logicaldecoding-output-init">
<primary>_PG_output_plugin_init</primary>
@@ -816,7 +816,7 @@ typedef void (*LogicalOutputPluginInit) (struct OutputPluginCallbacks *cb);
</para>
</sect2>
- <sect2 id="logicaldecoding-capabilities">
+ <sect2 id="logicaldecoding-capabilities" xreflabel="Capabilities">
<title>Capabilities</title>
<para>
@@ -839,7 +839,7 @@ CREATE TABLE another_catalog_table(data text) WITH (user_catalog_table = true);
</para>
</sect2>
- <sect2 id="logicaldecoding-output-mode">
+ <sect2 id="logicaldecoding-output-mode" xreflabel="Output Modes">
<title>Output Modes</title>
<para>
@@ -858,7 +858,7 @@ CREATE TABLE another_catalog_table(data text) WITH (user_catalog_table = true);
</para>
</sect2>
- <sect2 id="logicaldecoding-output-plugin-callbacks">
+ <sect2 id="logicaldecoding-output-plugin-callbacks" xreflabel="Output Plugin Callbacks">
<title>Output Plugin Callbacks</title>
<para>
@@ -898,7 +898,7 @@ CREATE TABLE another_catalog_table(data text) WITH (user_catalog_table = true);
</para>
</note>
- <sect3 id="logicaldecoding-output-plugin-startup">
+ <sect3 id="logicaldecoding-output-plugin-startup" xreflabel="Startup Callback">
<title>Startup Callback</title>
<para>
The optional <function>startup_cb</function> callback is called whenever
@@ -938,7 +938,7 @@ typedef struct OutputPluginOptions
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-shutdown">
+ <sect3 id="logicaldecoding-output-plugin-shutdown" xreflabel="Shutdown Callback">
<title>Shutdown Callback</title>
<para>
@@ -952,7 +952,7 @@ typedef void (*LogicalDecodeShutdownCB) (struct LogicalDecodingContext *ctx);
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-begin">
+ <sect3 id="logicaldecoding-output-plugin-begin" xreflabel="Transaction Begin Callback">
<title>Transaction Begin Callback</title>
<para>
@@ -969,7 +969,7 @@ typedef void (*LogicalDecodeBeginCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-commit">
+ <sect3 id="logicaldecoding-output-plugin-commit" xreflabel="Transaction End Callback">
<title>Transaction End Callback</title>
<para>
@@ -986,7 +986,7 @@ typedef void (*LogicalDecodeCommitCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-change">
+ <sect3 id="logicaldecoding-output-plugin-change" xreflabel="Change Callback">
<title>Change Callback</title>
<para>
@@ -1027,7 +1027,7 @@ typedef void (*LogicalDecodeChangeCB) (struct LogicalDecodingContext *ctx,
</note>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-truncate">
+ <sect3 id="logicaldecoding-output-plugin-truncate" xreflabel="Truncate Callback">
<title>Truncate Callback</title>
<para>
@@ -1049,7 +1049,7 @@ typedef void (*LogicalDecodeTruncateCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-filter-origin">
+ <sect3 id="logicaldecoding-output-plugin-filter-origin" xreflabel="Origin Filter Callback">
<title>Origin Filter Callback</title>
<para>
@@ -1078,7 +1078,7 @@ typedef bool (*LogicalDecodeFilterByOriginCB) (struct LogicalDecodingContext *ct
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-message">
+ <sect3 id="logicaldecoding-output-plugin-message" xreflabel="Generic Message Callback">
<title>Generic Message Callback</title>
<para>
@@ -1117,7 +1117,7 @@ typedef void (*LogicalDecodeMessageCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-filter-prepare">
+ <sect3 id="logicaldecoding-output-plugin-filter-prepare" xreflabel="Prepare Filter Callback">
<title>Prepare Filter Callback</title>
<para>
@@ -1150,7 +1150,7 @@ typedef bool (*LogicalDecodeFilterPrepareCB) (struct LogicalDecodingContext *ctx
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-begin-prepare">
+ <sect3 id="logicaldecoding-output-plugin-begin-prepare" xreflabel="Transaction Begin Prepare Callback">
<title>Transaction Begin Prepare Callback</title>
<para>
@@ -1168,7 +1168,7 @@ typedef void (*LogicalDecodeBeginPrepareCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-prepare">
+ <sect3 id="logicaldecoding-output-plugin-prepare" xreflabel="Transaction Prepare Callback">
<title>Transaction Prepare Callback</title>
<para>
@@ -1186,7 +1186,7 @@ typedef void (*LogicalDecodePrepareCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-commit-prepared">
+ <sect3 id="logicaldecoding-output-plugin-commit-prepared" xreflabel="Transaction Commit Prepared Callback">
<title>Transaction Commit Prepared Callback</title>
<para>
@@ -1202,7 +1202,7 @@ typedef void (*LogicalDecodeCommitPreparedCB) (struct LogicalDecodingContext *ct
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-rollback-prepared">
+ <sect3 id="logicaldecoding-output-plugin-rollback-prepared" xreflabel="Transaction Rollback Prepared Callback">
<title>Transaction Rollback Prepared Callback</title>
<para>
@@ -1225,7 +1225,7 @@ typedef void (*LogicalDecodeRollbackPreparedCB) (struct LogicalDecodingContext *
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-start">
+ <sect3 id="logicaldecoding-output-plugin-stream-start" xreflabel="Stream Start Callback">
<title>Stream Start Callback</title>
<para>
The required <function>stream_start_cb</function> callback is called when
@@ -1237,7 +1237,7 @@ typedef void (*LogicalDecodeStreamStartCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-stop">
+ <sect3 id="logicaldecoding-output-plugin-stream-stop" xreflabel="Stream Stop Callback">
<title>Stream Stop Callback</title>
<para>
The required <function>stream_stop_cb</function> callback is called when
@@ -1249,7 +1249,7 @@ typedef void (*LogicalDecodeStreamStopCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-abort">
+ <sect3 id="logicaldecoding-output-plugin-stream-abort" xreflabel="Stream Abort Callback">
<title>Stream Abort Callback</title>
<para>
The required <function>stream_abort_cb</function> callback is called to
@@ -1262,7 +1262,7 @@ typedef void (*LogicalDecodeStreamAbortCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-prepare">
+ <sect3 id="logicaldecoding-output-plugin-stream-prepare" xreflabel="Stream Prepare Callback">
<title>Stream Prepare Callback</title>
<para>
The <function>stream_prepare_cb</function> callback is called to prepare
@@ -1277,7 +1277,7 @@ typedef void (*LogicalDecodeStreamPrepareCB) (struct LogicalDecodingContext *ctx
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-commit">
+ <sect3 id="logicaldecoding-output-plugin-stream-commit" xreflabel="Stream Commit Callback">
<title>Stream Commit Callback</title>
<para>
The required <function>stream_commit_cb</function> callback is called to
@@ -1290,7 +1290,7 @@ typedef void (*LogicalDecodeStreamCommitCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-change">
+ <sect3 id="logicaldecoding-output-plugin-stream-change" xreflabel="Stream Change Callback">
<title>Stream Change Callback</title>
<para>
The required <function>stream_change_cb</function> callback is called
@@ -1307,7 +1307,7 @@ typedef void (*LogicalDecodeStreamChangeCB) (struct LogicalDecodingContext *ctx,
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-message">
+ <sect3 id="logicaldecoding-output-plugin-stream-message" xreflabel="Stream Message Callback">
<title>Stream Message Callback</title>
<para>
The optional <function>stream_message_cb</function> callback is called when
@@ -1328,7 +1328,7 @@ typedef void (*LogicalDecodeStreamMessageCB) (struct LogicalDecodingContext *ctx
</para>
</sect3>
- <sect3 id="logicaldecoding-output-plugin-stream-truncate">
+ <sect3 id="logicaldecoding-output-plugin-stream-truncate" xreflabel="Stream Truncate Callback">
<title>Stream Truncate Callback</title>
<para>
The optional <function>stream_truncate_cb</function> callback is called
@@ -1353,7 +1353,7 @@ typedef void (*LogicalDecodeStreamTruncateCB) (struct LogicalDecodingContext *ct
</sect2>
- <sect2 id="logicaldecoding-output-plugin-output">
+ <sect2 id="logicaldecoding-output-plugin-output" xreflabel="Functions for Producing Output">
<title>Functions for Producing Output</title>
<para>
@@ -1381,7 +1381,7 @@ OutputPluginWrite(ctx, true);
</sect2>
</sect1>
- <sect1 id="logicaldecoding-writer">
+ <sect1 id="logicaldecoding-writer" xreflabel="Logical Decoding Output Writers">
<title>Logical Decoding Output Writers</title>
<para>
@@ -1394,9 +1394,9 @@ OutputPluginWrite(ctx, true);
</para>
</sect1>
- <sect1 id="logicaldecoding-synchronous">
+ <sect1 id="logicaldecoding-synchronous" xreflabel="Synchronous Replication Support for Logical Decoding">
<title>Synchronous Replication Support for Logical Decoding</title>
- <sect2 id="logicaldecoding-synchronous-overview">
+ <sect2 id="logicaldecoding-synchronous-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -1422,7 +1422,7 @@ OutputPluginWrite(ctx, true);
</note>
</sect2>
- <sect2 id="logicaldecoding-synchronous-caveats">
+ <sect2 id="logicaldecoding-synchronous-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -1480,7 +1480,7 @@ OutputPluginWrite(ctx, true);
</sect2>
</sect1>
- <sect1 id="logicaldecoding-streaming">
+ <sect1 id="logicaldecoding-streaming" xreflabel="Streaming of Large Transactions for Logical Decoding">
<title>Streaming of Large Transactions for Logical Decoding</title>
<para>
@@ -1585,7 +1585,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction
</sect1>
- <sect1 id="logicaldecoding-two-phase-commits">
+ <sect1 id="logicaldecoding-two-phase-commits" xreflabel="Two-phase Commit Support for Logical Decoding">
<title>Two-phase Commit Support for Logical Decoding</title>
<para>
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
index ff3c227727b..312486e51b0 100644
--- a/doc/src/sgml/ltree.sgml
+++ b/doc/src/sgml/ltree.sgml
@@ -19,7 +19,7 @@
on the current database.
</para>
- <sect2 id="ltree-definitions">
+ <sect2 id="ltree-definitions" xreflabel="Definitions">
<title>Definitions</title>
<para>
@@ -188,7 +188,7 @@ Europe & Russia*@ & !Transportation
</para>
</sect2>
- <sect2 id="ltree-ops-funcs">
+ <sect2 id="ltree-ops-funcs" xreflabel="Operators and Functions">
<title>Operators and Functions</title>
<para>
@@ -608,7 +608,7 @@ Europe & Russia*@ & !Transportation
</table>
</sect2>
- <sect2 id="ltree-indexes">
+ <sect2 id="ltree-indexes" xreflabel="Indexes">
<title>Indexes</title>
<para>
<filename>ltree</filename> supports several types of indexes that can speed
@@ -694,7 +694,7 @@ CREATE INDEX path_gist_idx ON test USING GIST (array_path gist__ltree_ops(siglen
</itemizedlist>
</sect2>
- <sect2 id="ltree-example">
+ <sect2 id="ltree-example" xreflabel="Example">
<title>Example</title>
<para>
@@ -832,7 +832,7 @@ ltreetest=> SELECT ins_label(path,2,'Space') FROM test WHERE path <@ 'Top.
</para>
</sect2>
- <sect2 id="ltree-transforms">
+ <sect2 id="ltree-transforms" xreflabel="Transforms">
<title>Transforms</title>
<para>
@@ -843,7 +843,7 @@ ltreetest=> SELECT ins_label(path,2,'Space') FROM test WHERE path <@ 'Top.
</para>
</sect2>
- <sect2 id="ltree-authors">
+ <sect2 id="ltree-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 08e6489afb8..611eceda0bc 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -59,7 +59,7 @@
pleasant and productive experience with the system.
</para>
- <sect1 id="routine-vacuuming">
+ <sect1 id="routine-vacuuming" xreflabel="Routine Vacuuming">
<title>Routine Vacuuming</title>
<indexterm zone="routine-vacuuming">
@@ -82,7 +82,7 @@
to skim this material to help them understand and adjust autovacuuming.
</para>
- <sect2 id="vacuum-basics">
+ <sect2 id="vacuum-basics" xreflabel="Vacuuming Basics">
<title>Vacuuming Basics</title>
<para>
@@ -145,7 +145,7 @@
</para>
</sect2>
- <sect2 id="vacuum-for-space-recovery">
+ <sect2 id="vacuum-for-space-recovery" xreflabel="Recovering Disk Space">
<title>Recovering Disk Space</title>
<indexterm zone="vacuum-for-space-recovery">
@@ -255,7 +255,7 @@
</tip>
</sect2>
- <sect2 id="vacuum-for-statistics">
+ <sect2 id="vacuum-for-statistics" xreflabel="Updating Planner Statistics">
<title>Updating Planner Statistics</title>
<indexterm zone="vacuum-for-statistics">
@@ -371,7 +371,7 @@
</sect2>
- <sect2 id="vacuum-for-visibility-map">
+ <sect2 id="vacuum-for-visibility-map" xreflabel="Updating the Visibility Map">
<title>Updating the Visibility Map</title>
<para>
@@ -400,7 +400,7 @@
</para>
</sect2>
- <sect2 id="vacuum-for-wraparound">
+ <sect2 id="vacuum-for-wraparound" xreflabel="Preventing Transaction ID Wraparound Failures">
<title>Preventing Transaction ID Wraparound Failures</title>
<indexterm zone="vacuum-for-wraparound">
@@ -752,7 +752,7 @@ HINT: Execute a database-wide VACUUM in that database.
</para>
</note>
- <sect3 id="vacuum-for-multixact-wraparound">
+ <sect3 id="vacuum-for-multixact-wraparound" xreflabel="Multixacts and Wraparound">
<title>Multixacts and Wraparound</title>
<indexterm>
@@ -855,7 +855,7 @@ HINT: Execute a database-wide VACUUM in that database.
</sect3>
</sect2>
- <sect2 id="autovacuum">
+ <sect2 id="autovacuum" xreflabel="The Autovacuum Daemon">
<title>The Autovacuum Daemon</title>
<indexterm>
@@ -1036,7 +1036,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
</sect1>
- <sect1 id="routine-reindex">
+ <sect1 id="routine-reindex" xreflabel="Routine Reindexing">
<title>Routine Reindexing</title>
<indexterm zone="routine-reindex">
@@ -1084,7 +1084,7 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu
</sect1>
- <sect1 id="logfile-maintenance">
+ <sect1 id="logfile-maintenance" xreflabel="Log File Maintenance">
<title>Log File Maintenance</title>
<indexterm zone="logfile-maintenance">
diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml
index fe4cb4410cd..96b43531e54 100644
--- a/doc/src/sgml/manage-ag.sgml
+++ b/doc/src/sgml/manage-ag.sgml
@@ -14,7 +14,7 @@
them.
</para>
- <sect1 id="manage-ag-overview">
+ <sect1 id="manage-ag-overview" xreflabel="Overview">
<title>Overview</title>
<indexterm zone="manage-ag-overview">
@@ -93,7 +93,7 @@ SELECT datname FROM pg_database;
</note>
</sect1>
- <sect1 id="manage-ag-createdb">
+ <sect1 id="manage-ag-createdb" xreflabel="Creating a Database">
<title>Creating a Database</title>
<indexterm><primary>CREATE DATABASE</primary></indexterm>
@@ -196,7 +196,7 @@ createdb -O <replaceable>rolename</replaceable> <replaceable>dbname</replaceable
</para>
</sect1>
- <sect1 id="manage-ag-templatedbs">
+ <sect1 id="manage-ag-templatedbs" xreflabel="Template Databases">
<title>Template Databases</title>
<para>
@@ -310,7 +310,7 @@ createdb -T template0 <replaceable>dbname</replaceable>
</note>
</sect1>
- <sect1 id="manage-ag-config">
+ <sect1 id="manage-ag-config" xreflabel="Database Configuration">
<title>Database Configuration</title>
<para>
@@ -341,7 +341,7 @@ ALTER DATABASE mydb SET geqo TO off;
</para>
</sect1>
- <sect1 id="manage-ag-dropdb">
+ <sect1 id="manage-ag-dropdb" xreflabel="Destroying a Database">
<title>Destroying a Database</title>
<para>
@@ -377,7 +377,7 @@ dropdb <replaceable class="parameter">dbname</replaceable>
</para>
</sect1>
- <sect1 id="manage-ag-tablespaces">
+ <sect1 id="manage-ag-tablespaces" xreflabel="Tablespaces">
<title>Tablespaces</title>
<indexterm zone="manage-ag-tablespaces">
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 817fd9f4ca7..bc8e9d9a8e0 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -33,7 +33,7 @@
query.
</para>
- <sect1 id="monitoring-ps">
+ <sect1 id="monitoring-ps" xreflabel="Standard Unix Tools">
<title>Standard Unix Tools</title>
<indexterm zone="monitoring-ps">
@@ -127,7 +127,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</tip>
</sect1>
- <sect1 id="monitoring-stats">
+ <sect1 id="monitoring-stats" xreflabel="The Cumulative Statistics System">
<title>The Cumulative Statistics System</title>
<indexterm zone="monitoring-stats">
@@ -152,7 +152,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
of the cumulative statistics system.
</para>
- <sect2 id="monitoring-stats-setup">
+ <sect2 id="monitoring-stats-setup" xreflabel="Statistics Collection Configuration">
<title>Statistics Collection Configuration</title>
<para>
@@ -217,7 +217,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</sect2>
- <sect2 id="monitoring-stats-views">
+ <sect2 id="monitoring-stats-views" xreflabel="Viewing Statistics">
<title>Viewing Statistics</title>
<para>
@@ -703,7 +703,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</sect2>
- <sect2 id="monitoring-pg-stat-activity-view">
+ <sect2 id="monitoring-pg-stat-activity-view" xreflabel="pg_stat_activity">
<title><structname>pg_stat_activity</structname></title>
<indexterm>
@@ -1170,7 +1170,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</note>
</sect2>
- <sect2 id="monitoring-pg-stat-replication-view">
+ <sect2 id="monitoring-pg-stat-replication-view" xreflabel="pg_stat_replication">
<title><structname>pg_stat_replication</structname></title>
<indexterm>
@@ -1511,7 +1511,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-replication-slots-view">
+ <sect2 id="monitoring-pg-stat-replication-slots-view" xreflabel="pg_stat_replication_slots">
<title><structname>pg_stat_replication_slots</structname></title>
<indexterm>
@@ -1695,7 +1695,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-wal-receiver-view">
+ <sect2 id="monitoring-pg-stat-wal-receiver-view" xreflabel="pg_stat_wal_receiver">
<title><structname>pg_stat_wal_receiver</structname></title>
<indexterm>
@@ -1875,7 +1875,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-recovery-prefetch">
+ <sect2 id="monitoring-pg-stat-recovery-prefetch" xreflabel="pg_stat_recovery_prefetch">
<title><structname>pg_stat_recovery_prefetch</structname></title>
<indexterm>
@@ -2021,7 +2021,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-subscription">
+ <sect2 id="monitoring-pg-stat-subscription" xreflabel="pg_stat_subscription">
<title><structname>pg_stat_subscription</structname></title>
<indexterm>
@@ -2158,7 +2158,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-subscription-stats">
+ <sect2 id="monitoring-pg-stat-subscription-stats" xreflabel="pg_stat_subscription_stats">
<title><structname>pg_stat_subscription_stats</structname></title>
<indexterm>
@@ -2343,7 +2343,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-ssl-view">
+ <sect2 id="monitoring-pg-stat-ssl-view" xreflabel="pg_stat_ssl">
<title><structname>pg_stat_ssl</structname></title>
<indexterm>
@@ -2464,7 +2464,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-gssapi-view">
+ <sect2 id="monitoring-pg-stat-gssapi-view" xreflabel="pg_stat_gssapi">
<title><structname>pg_stat_gssapi</structname></title>
<indexterm>
@@ -2548,7 +2548,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-archiver-view">
+ <sect2 id="monitoring-pg-stat-archiver-view" xreflabel="pg_stat_archiver">
<title><structname>pg_stat_archiver</structname></title>
<indexterm>
@@ -2651,7 +2651,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</para>
</sect2>
- <sect2 id="monitoring-pg-stat-io-view">
+ <sect2 id="monitoring-pg-stat-io-view" xreflabel="pg_stat_io">
<title><structname>pg_stat_io</structname></title>
<indexterm>
@@ -3087,7 +3087,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-bgwriter-view">
+ <sect2 id="monitoring-pg-stat-bgwriter-view" xreflabel="pg_stat_bgwriter">
<title><structname>pg_stat_bgwriter</structname></title>
<indexterm>
@@ -3156,7 +3156,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-checkpointer-view">
+ <sect2 id="monitoring-pg-stat-checkpointer-view" xreflabel="pg_stat_checkpointer">
<title><structname>pg_stat_checkpointer</structname></title>
<indexterm>
@@ -3303,7 +3303,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</para>
</sect2>
- <sect2 id="monitoring-pg-stat-wal-view">
+ <sect2 id="monitoring-pg-stat-wal-view" xreflabel="pg_stat_wal">
<title><structname>pg_stat_wal</structname></title>
<indexterm>
@@ -3389,7 +3389,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-database-view">
+ <sect2 id="monitoring-pg-stat-database-view" xreflabel="pg_stat_database">
<title><structname>pg_stat_database</structname></title>
<indexterm>
@@ -3732,7 +3732,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-database-conflicts-view">
+ <sect2 id="monitoring-pg-stat-database-conflicts-view" xreflabel="pg_stat_database_conflicts">
<title><structname>pg_stat_database_conflicts</structname></title>
<indexterm>
@@ -3846,7 +3846,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-all-tables-view">
+ <sect2 id="monitoring-pg-stat-all-tables-view" xreflabel="pg_stat_all_tables">
<title><structname>pg_stat_all_tables</structname></title>
<indexterm>
@@ -4188,7 +4188,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-all-indexes-view">
+ <sect2 id="monitoring-pg-stat-all-indexes-view" xreflabel="pg_stat_all_indexes">
<title><structname>pg_stat_all_indexes</structname></title>
<indexterm>
@@ -4378,7 +4378,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-tables-view">
+ <sect2 id="monitoring-pg-statio-all-tables-view" xreflabel="pg_statio_all_tables">
<title><structname>pg_statio_all_tables</structname></title>
<indexterm>
@@ -4523,7 +4523,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-indexes-view">
+ <sect2 id="monitoring-pg-statio-all-indexes-view" xreflabel="pg_statio_all_indexes">
<title><structname>pg_statio_all_indexes</structname></title>
<indexterm>
@@ -4632,7 +4632,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-statio-all-sequences-view">
+ <sect2 id="monitoring-pg-statio-all-sequences-view" xreflabel="pg_statio_all_sequences">
<title><structname>pg_statio_all_sequences</structname></title>
<indexterm>
@@ -4710,7 +4710,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-user-functions-view">
+ <sect2 id="monitoring-pg-stat-user-functions-view" xreflabel="pg_stat_user_functions">
<title><structname>pg_stat_user_functions</structname></title>
<indexterm>
@@ -4809,7 +4809,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-pg-stat-slru-view">
+ <sect2 id="monitoring-pg-stat-slru-view" xreflabel="pg_stat_slru">
<title><structname>pg_stat_slru</structname></title>
<indexterm>
@@ -4938,7 +4938,7 @@ description | Waiting for a newly initialized WAL file to reach durable storage
</sect2>
- <sect2 id="monitoring-stats-functions">
+ <sect2 id="monitoring-stats-functions" xreflabel="Statistics Functions">
<title>Statistics Functions</title>
<para>
@@ -5552,7 +5552,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
</sect1>
- <sect1 id="monitoring-locks">
+ <sect1 id="monitoring-locks" xreflabel="Viewing Locks">
<title>Viewing Locks</title>
<indexterm zone="monitoring-locks">
@@ -5601,7 +5601,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</para>
</sect1>
- <sect1 id="progress-reporting">
+ <sect1 id="progress-reporting" xreflabel="Progress Reporting">
<title>Progress Reporting</title>
<para>
@@ -5617,7 +5617,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
This may be expanded in the future.
</para>
- <sect2 id="analyze-progress-reporting">
+ <sect2 id="analyze-progress-reporting" xreflabel="ANALYZE Progress Reporting">
<title>ANALYZE Progress Reporting</title>
<indexterm>
@@ -5871,7 +5871,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</note>
</sect2>
- <sect2 id="cluster-progress-reporting">
+ <sect2 id="cluster-progress-reporting" xreflabel="CLUSTER Progress Reporting">
<title>CLUSTER Progress Reporting</title>
<indexterm>
@@ -6093,7 +6093,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="copy-progress-reporting">
+ <sect2 id="copy-progress-reporting" xreflabel="COPY Progress Reporting">
<title>COPY Progress Reporting</title>
<indexterm>
@@ -6239,7 +6239,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="create-index-progress-reporting">
+ <sect2 id="create-index-progress-reporting" xreflabel="CREATE INDEX Progress Reporting">
<title>CREATE INDEX Progress Reporting</title>
<indexterm>
@@ -6543,7 +6543,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
- <sect2 id="vacuum-progress-reporting">
+ <sect2 id="vacuum-progress-reporting" xreflabel="VACUUM Progress Reporting">
<title>VACUUM Progress Reporting</title>
<indexterm>
@@ -6895,7 +6895,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</table>
</sect2>
- <sect2 id="basebackup-progress-reporting">
+ <sect2 id="basebackup-progress-reporting" xreflabel="Base Backup Progress Reporting">
<title>Base Backup Progress Reporting</title>
<indexterm>
@@ -7082,7 +7082,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect1>
- <sect1 id="dynamic-trace">
+ <sect1 id="dynamic-trace" xreflabel="Dynamic Tracing">
<title>Dynamic Tracing</title>
<indexterm zone="dynamic-trace">
@@ -7115,7 +7115,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
the macros in <filename>src/include/utils/probes.h</filename>.
</para>
- <sect2 id="compiling-for-trace">
+ <sect2 id="compiling-for-trace" xreflabel="Compiling for Dynamic Tracing">
<title>Compiling for Dynamic Tracing</title>
<para>
@@ -7127,7 +7127,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</para>
</sect2>
- <sect2 id="trace-points">
+ <sect2 id="trace-points" xreflabel="Built-in Probes">
<title>Built-in Probes</title>
<para>
@@ -7624,7 +7624,7 @@ FROM pg_stat_get_backend_idset() AS backendid;
</sect2>
- <sect2 id="using-trace-points">
+ <sect2 id="using-trace-points" xreflabel="Using Probes">
<title>Using Probes</title>
<para>
@@ -7684,7 +7684,7 @@ Total time (ns) 2312105013
</para>
</sect2>
- <sect2 id="defining-trace-points">
+ <sect2 id="defining-trace-points" xreflabel="Defining New Probes">
<title>Defining New Probes</title>
<para>
@@ -7825,7 +7825,7 @@ if (TRACE_POSTGRESQL_TRANSACTION_START_ENABLED())
</sect1>
- <sect1 id="diskusage">
+ <sect1 id="diskusage" xreflabel="Monitoring Disk Usage">
<title>Monitoring Disk Usage</title>
<para>
@@ -7833,7 +7833,7 @@ if (TRACE_POSTGRESQL_TRANSACTION_START_ENABLED())
<productname>PostgreSQL</productname> database system.
</para>
- <sect2 id="disk-usage">
+ <sect2 id="disk-usage" xreflabel="Determining Disk Usage">
<title>Determining Disk Usage</title>
<indexterm zone="disk-usage">
@@ -7934,7 +7934,7 @@ ORDER BY relpages DESC;
</para>
</sect2>
- <sect2 id="disk-full">
+ <sect2 id="disk-full" xreflabel="Disk Full Failure">
<title>Disk Full Failure</title>
<para>
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 049ee75a4ba..e43dd7411ce 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -17,7 +17,7 @@
in this chapter.
</para>
- <sect1 id="mvcc-intro">
+ <sect1 id="mvcc-intro" xreflabel="Introduction">
<title>Introduction</title>
<indexterm>
@@ -78,7 +78,7 @@
</para>
</sect1>
- <sect1 id="transaction-iso">
+ <sect1 id="transaction-iso" xreflabel="Transaction Isolation">
<title>Transaction Isolation</title>
<indexterm>
@@ -302,7 +302,7 @@
</para>
</important>
- <sect2 id="xact-read-committed">
+ <sect2 id="xact-read-committed" xreflabel="Read Committed Isolation Level">
<title>Read Committed Isolation Level</title>
<indexterm>
@@ -477,7 +477,7 @@ COMMIT;
</para>
</sect2>
- <sect2 id="xact-repeatable-read">
+ <sect2 id="xact-repeatable-read" xreflabel="Repeatable Read Isolation Level">
<title>Repeatable Read Isolation Level</title>
<indexterm>
@@ -597,7 +597,7 @@ ERROR: could not serialize access due to concurrent update
</note>
</sect2>
- <sect2 id="xact-serializable">
+ <sect2 id="xact-serializable" xreflabel="Serializable Isolation Level">
<title>Serializable Isolation Level</title>
<indexterm>
@@ -847,7 +847,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
</sect2>
</sect1>
- <sect1 id="explicit-locking">
+ <sect1 id="explicit-locking" xreflabel="Explicit Locking">
<title>Explicit Locking</title>
<indexterm>
@@ -876,7 +876,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
manager subsystem, refer to <xref linkend="monitoring"/>.
</para>
- <sect2 id="locking-tables">
+ <sect2 id="locking-tables" xreflabel="Table-Level Locks">
<title>Table-Level Locks</title>
<indexterm zone="locking-tables">
@@ -1238,7 +1238,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
</table>
</sect2>
- <sect2 id="locking-rows">
+ <sect2 id="locking-rows" xreflabel="Row-Level Locks">
<title>Row-Level Locks</title>
<para>
@@ -1413,7 +1413,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
</table>
</sect2>
- <sect2 id="locking-pages">
+ <sect2 id="locking-pages" xreflabel="Page-Level Locks">
<title>Page-Level Locks</title>
<para>
@@ -1426,7 +1426,7 @@ ERROR: could not serialize access due to read/write dependencies among transact
</sect2>
- <sect2 id="locking-deadlocks">
+ <sect2 id="locking-deadlocks" xreflabel="Deadlocks">
<title>Deadlocks</title>
<indexterm zone="locking-deadlocks">
@@ -1510,7 +1510,7 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
</para>
</sect2>
- <sect2 id="advisory-locks">
+ <sect2 id="advisory-locks" xreflabel="Advisory Locks">
<title>Advisory Locks</title>
<indexterm zone="advisory-locks">
@@ -1613,7 +1613,7 @@ SELECT pg_advisory_lock(q.id) FROM
</sect1>
- <sect1 id="applevel-consistency">
+ <sect1 id="applevel-consistency" xreflabel="Data Consistency Checks at the Application Level">
<title>Data Consistency Checks at the Application Level</title>
<para>
@@ -1651,7 +1651,7 @@ SELECT pg_advisory_lock(q.id) FROM
break the cycle.
</para>
- <sect2 id="serializable-consistency">
+ <sect2 id="serializable-consistency" xreflabel="Enforcing Consistency with Serializable Transactions">
<title>Enforcing Consistency with Serializable Transactions</title>
<para>
@@ -1691,7 +1691,7 @@ SELECT pg_advisory_lock(q.id) FROM
</warning>
</sect2>
- <sect2 id="non-serializable-consistency">
+ <sect2 id="non-serializable-consistency" xreflabel="Enforcing Consistency with Explicit Blocking Locks">
<title>Enforcing Consistency with Explicit Blocking Locks</title>
<para>
@@ -1763,7 +1763,7 @@ SELECT pg_advisory_lock(q.id) FROM
</sect2>
</sect1>
- <sect1 id="mvcc-serialization-failure-handling">
+ <sect1 id="mvcc-serialization-failure-handling" xreflabel="Serialization Failure Handling">
<title>Serialization Failure Handling</title>
<indexterm>
@@ -1829,7 +1829,7 @@ SELECT pg_advisory_lock(q.id) FROM
</para>
</sect1>
- <sect1 id="mvcc-caveats">
+ <sect1 id="mvcc-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -1871,7 +1871,7 @@ SELECT pg_advisory_lock(q.id) FROM
</para>
</sect1>
- <sect1 id="locking-indexes">
+ <sect1 id="locking-indexes" xreflabel="Locking and Indexes">
<title>Locking and Indexes</title>
<indexterm zone="locking-indexes">
diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml
index 0ad1b2c9c45..2a699f79f8f 100644
--- a/doc/src/sgml/nls.sgml
+++ b/doc/src/sgml/nls.sgml
@@ -3,7 +3,7 @@
<chapter id="nls">
<title>Native Language Support</title>
- <sect1 id="nls-translator">
+ <sect1 id="nls-translator" xreflabel="For the Translator">
<title>For the Translator</title>
<para>
@@ -17,7 +17,7 @@
to do this. This section explains how to help.
</para>
- <sect2 id="nls-translator-requirements">
+ <sect2 id="nls-translator-requirements" xreflabel="Requirements">
<title>Requirements</title>
<para>
@@ -50,7 +50,7 @@
</para>
</sect2>
- <sect2 id="nls-translator-concepts">
+ <sect2 id="nls-translator-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -130,7 +130,7 @@ msgstr "another translated"
</para>
</sect2>
- <sect2 id="nls-translator-message-catalogs">
+ <sect2 id="nls-translator-message-catalogs" xreflabel="Creating and Maintaining Message Catalogs">
<title>Creating and Maintaining Message Catalogs</title>
<para>
@@ -199,7 +199,7 @@ make update-po
</para>
</sect2>
- <sect2 id="nls-translator-editing-po">
+ <sect2 id="nls-translator-editing-po" xreflabel="Editing the PO Files">
<title>Editing the PO Files</title>
<para>
@@ -298,10 +298,10 @@ msgstr "Die Datei %2$s hat %1$u Zeichen."
</sect1>
- <sect1 id="nls-programmer">
+ <sect1 id="nls-programmer" xreflabel="For the Programmer">
<title>For the Programmer</title>
- <sect2 id="nls-mechanics">
+ <sect2 id="nls-mechanics" xreflabel="Mechanics">
<title>Mechanics</title>
<para>
@@ -434,7 +434,7 @@ fprintf(stderr, gettext("panic level %d\n"), lvl);
</para>
</sect2>
- <sect2 id="nls-guidelines">
+ <sect2 id="nls-guidelines" xreflabel="Message-Writing Guidelines">
<title>Message-Writing Guidelines</title>
<para>
diff --git a/doc/src/sgml/notation.sgml b/doc/src/sgml/notation.sgml
index c3798d5f1be..6ff8f58277a 100644
--- a/doc/src/sgml/notation.sgml
+++ b/doc/src/sgml/notation.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/notation.sgml -->
-<sect1 id="notation">
+<sect1 id="notation" xreflabel="Conventions">
<title>Conventions</title>
<para>
diff --git a/doc/src/sgml/oauth-validators.sgml b/doc/src/sgml/oauth-validators.sgml
index 704089dd7b3..22ce45ecf43 100644
--- a/doc/src/sgml/oauth-validators.sgml
+++ b/doc/src/sgml/oauth-validators.sgml
@@ -26,7 +26,7 @@
</para>
</warning>
- <sect1 id="oauth-validator-design">
+ <sect1 id="oauth-validator-design" xreflabel="Safely Designing a Validator Module">
<title>Safely Designing a Validator Module</title>
<warning>
<para>
@@ -38,7 +38,7 @@
</para>
</warning>
- <sect2 id="oauth-validator-design-responsibilities">
+ <sect2 id="oauth-validator-design-responsibilities" xreflabel="Validator Responsibilities">
<title>Validator Responsibilities</title>
<para>
Although different modules may take very different approaches to token
@@ -164,7 +164,7 @@
</variablelist>
</sect2>
- <sect2 id="oauth-validator-design-guidelines">
+ <sect2 id="oauth-validator-design-guidelines" xreflabel="General Coding Guidelines">
<title>General Coding Guidelines</title>
<para>
Developers should keep the following in mind when implementing token
@@ -247,7 +247,7 @@
</variablelist>
</sect2>
- <sect2 id="oauth-validator-design-usermap-delegation">
+ <sect2 id="oauth-validator-design-usermap-delegation" xreflabel="Authorizing Users (Usermap Delegation)">
<title>Authorizing Users (Usermap Delegation)</title>
<para>
The standard deliverable of a validation module is the user identifier,
@@ -286,7 +286,7 @@
</sect2>
</sect1>
- <sect1 id="oauth-validator-init">
+ <sect1 id="oauth-validator-init" xreflabel="Initialization Functions">
<title>Initialization Functions</title>
<indexterm zone="oauth-validator-init">
<primary>_PG_oauth_validator_module_init</primary>
@@ -322,7 +322,7 @@ typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
</para>
</sect1>
- <sect1 id="oauth-validator-callbacks">
+ <sect1 id="oauth-validator-callbacks" xreflabel="OAuth Validator Callbacks">
<title>OAuth Validator Callbacks</title>
<para>
OAuth validator modules implement their functionality by defining a set of
@@ -330,7 +330,7 @@ typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
authentication request from the user.
</para>
- <sect2 id="oauth-validator-callback-startup">
+ <sect2 id="oauth-validator-callback-startup" xreflabel="Startup Callback">
<title>Startup Callback</title>
<para>
The <function>startup_cb</function> callback is executed directly after
@@ -345,7 +345,7 @@ typedef void (*ValidatorStartupCB) (ValidatorModuleState *state);
</para>
</sect2>
- <sect2 id="oauth-validator-callback-validate">
+ <sect2 id="oauth-validator-callback-validate" xreflabel="Validate Callback">
<title>Validate Callback</title>
<para>
The <function>validate_cb</function> callback is executed during the OAuth
@@ -400,7 +400,7 @@ typedef struct ValidatorModuleResult
</para>
</sect2>
- <sect2 id="oauth-validator-callback-shutdown">
+ <sect2 id="oauth-validator-callback-shutdown" xreflabel="Shutdown Callback">
<title>Shutdown Callback</title>
<para>
The <function>shutdown_cb</function> callback is executed when the backend
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
index 3a113439e1d..fa78b52d8b2 100644
--- a/doc/src/sgml/pageinspect.sgml
+++ b/doc/src/sgml/pageinspect.sgml
@@ -13,7 +13,7 @@
debugging purposes. All of these functions may be used only by superusers.
</para>
- <sect2 id="pageinspect-general-funcs">
+ <sect2 id="pageinspect-general-funcs" xreflabel="General Functions">
<title>General Functions</title>
<variablelist>
@@ -156,7 +156,7 @@ test=# SELECT fsm_page_contents(get_raw_page('pg_class', 'fsm', 0));
</variablelist>
</sect2>
- <sect2 id="pageinspect-heap-funcs">
+ <sect2 id="pageinspect-heap-funcs" xreflabel="Heap Functions">
<title>Heap Functions</title>
<variablelist>
@@ -282,7 +282,7 @@ test=# SELECT t_ctid, raw_flags, combined_flags
</variablelist>
</sect2>
- <sect2 id="pageinspect-b-tree-funcs">
+ <sect2 id="pageinspect-b-tree-funcs" xreflabel="B-Tree Functions">
<title>B-Tree Functions</title>
<variablelist>
@@ -521,7 +521,7 @@ test=# SELECT itemoffset, ctid, itemlen, nulls, vars, data, dead, htid, tids[0:2
</variablelist>
</sect2>
- <sect2 id="pageinspect-brin-funcs">
+ <sect2 id="pageinspect-brin-funcs" xreflabel="BRIN Functions">
<title>BRIN Functions</title>
<variablelist>
@@ -631,7 +631,7 @@ test=# SELECT * FROM brin_page_items(get_raw_page('brinidx', 5),
</variablelist>
</sect2>
- <sect2 id="pageinspect-gin-funcs">
+ <sect2 id="pageinspect-gin-funcs" xreflabel="GIN Functions">
<title>GIN Functions</title>
<variablelist>
@@ -721,7 +721,7 @@ test=# SELECT first_tid, nbytes, tids[0:5] AS some_tids
</variablelist>
</sect2>
- <sect2 id="pageinspect-gist-funcs">
+ <sect2 id="pageinspect-gist-funcs" xreflabel="GiST Functions">
<title>GiST Functions</title>
<variablelist>
@@ -811,7 +811,7 @@ test=# SELECT * FROM gist_page_items_bytea(get_raw_page('test_gist_idx', 0));
</variablelist>
</sect2>
- <sect2 id="pageinspect-hash-funcs">
+ <sect2 id="pageinspect-hash-funcs" xreflabel="Hash Functions">
<title>Hash Functions</title>
<variablelist>
diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml
index af43484703e..17d895468a6 100644
--- a/doc/src/sgml/parallel.sgml
+++ b/doc/src/sgml/parallel.sgml
@@ -22,7 +22,7 @@
used so that users who wish to make use of it can understand what to expect.
</para>
- <sect1 id="how-parallel-query-works">
+ <sect1 id="how-parallel-query-works" xreflabel="How Parallel Query Works">
<title>How Parallel Query Works</title>
<para>
@@ -105,7 +105,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect1>
- <sect1 id="when-can-parallel-query-be-used">
+ <sect1 id="when-can-parallel-query-be-used" xreflabel="When Can Parallel Query Be Used?">
<title>When Can Parallel Query Be Used?</title>
<para>
@@ -244,7 +244,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</itemizedlist>
</sect1>
- <sect1 id="parallel-plans">
+ <sect1 id="parallel-plans" xreflabel="Parallel Plans">
<title>Parallel Plans</title>
<para>
@@ -262,7 +262,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
must be a parallel-aware scan.
</para>
- <sect2 id="parallel-scans">
+ <sect2 id="parallel-scans" xreflabel="Parallel Scans">
<title>Parallel Scans</title>
<para>
@@ -315,7 +315,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect2>
- <sect2 id="parallel-joins">
+ <sect2 id="parallel-joins" xreflabel="Parallel Joins">
<title>Parallel Joins</title>
<para>
@@ -359,7 +359,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</itemizedlist>
</sect2>
- <sect2 id="parallel-aggregation">
+ <sect2 id="parallel-aggregation" xreflabel="Parallel Aggregation">
<title>Parallel Aggregation</title>
<para>
<productname>PostgreSQL</productname> supports parallel aggregation by aggregating in
@@ -401,7 +401,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</sect2>
- <sect2 id="parallel-append">
+ <sect2 id="parallel-append" xreflabel="Parallel Append">
<title>Parallel Append</title>
<para>
@@ -449,7 +449,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</para>
</sect2>
- <sect2 id="parallel-plan-tips">
+ <sect2 id="parallel-plan-tips" xreflabel="Parallel Plan Tips">
<title>Parallel Plan Tips</title>
<para>
@@ -477,7 +477,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</sect2>
</sect1>
- <sect1 id="parallel-safety">
+ <sect1 id="parallel-safety" xreflabel="Parallel Safety">
<title>Parallel Safety</title>
<para>
@@ -526,7 +526,7 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%';
</listitem>
</itemizedlist>
- <sect2 id="parallel-labeling">
+ <sect2 id="parallel-labeling" xreflabel="Parallel Labeling for Functions and Aggregates">
<title>Parallel Labeling for Functions and Aggregates</title>
<para>
diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml
index 7ea32410463..1b7a4ed8f54 100644
--- a/doc/src/sgml/passwordcheck.sgml
+++ b/doc/src/sgml/passwordcheck.sgml
@@ -59,7 +59,7 @@
</para>
</caution>
- <sect2 id="passwordcheck-configuration-parameters">
+ <sect2 id="passwordcheck-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index 5f6f1db0467..113c547b96d 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -14,7 +14,7 @@
and tuning <productname>PostgreSQL</productname> performance.
</para>
- <sect1 id="using-explain">
+ <sect1 id="using-explain" xreflabel="Using EXPLAIN">
<title>Using <command>EXPLAIN</command></title>
<indexterm zone="using-explain">
@@ -54,7 +54,7 @@
(XML, JSON, or YAML) instead.
</para>
- <sect2 id="using-explain-basics">
+ <sect2 id="using-explain-basics" xreflabel="EXPLAIN Basics">
<title><command>EXPLAIN</command> Basics</title>
<para>
@@ -703,7 +703,7 @@ FROM tenk1 t1 WHERE t1.ten = (SELECT (random() * 10)::integer);
</sect2>
- <sect2 id="using-explain-analyze">
+ <sect2 id="using-explain-analyze" xreflabel="EXPLAIN ANALYZE">
<title><command>EXPLAIN ANALYZE</command></title>
<para>
@@ -1105,7 +1105,7 @@ EXPLAIN UPDATE gtest_parent SET f1 = CURRENT_DATE WHERE f2 = 101;
</sect2>
- <sect2 id="using-explain-caveats">
+ <sect2 id="using-explain-caveats" xreflabel="Caveats">
<title>Caveats</title>
<para>
@@ -1203,7 +1203,7 @@ EXPLAIN ANALYZE SELECT * FROM tenk1 WHERE unique1 < 100 AND unique2 > 9000
</sect1>
- <sect1 id="planner-stats">
+ <sect1 id="planner-stats" xreflabel="Statistics Used by the Planner">
<title>Statistics Used by the Planner</title>
<indexterm zone="planner-stats">
@@ -1211,7 +1211,7 @@ EXPLAIN ANALYZE SELECT * FROM tenk1 WHERE unique1 < 100 AND unique2 > 9000
<secondary>of the planner</secondary>
</indexterm>
- <sect2 id="planner-stats-single-column">
+ <sect2 id="planner-stats-single-column" xreflabel="Single-Column Statistics">
<title>Single-Column Statistics</title>
<para>
As we saw in the previous section, the query planner needs to estimate
@@ -1368,7 +1368,7 @@ WHERE tablename = 'road';
</para>
</sect2>
- <sect2 id="planner-stats-extended">
+ <sect2 id="planner-stats-extended" xreflabel="Extended Statistics">
<title>Extended Statistics</title>
<indexterm zone="planner-stats-extended">
@@ -1436,7 +1436,7 @@ WHERE tablename = 'road';
that are currently supported.
</para>
- <sect3 id="planner-stats-extended-functional-deps">
+ <sect3 id="planner-stats-extended-functional-deps" xreflabel="Functional Dependencies">
<title>Functional Dependencies</title>
<para>
@@ -1521,7 +1521,7 @@ dep | [ +
an underestimate.
</para>
- <sect4 id="planner-stats-extended-functional-deps-limits">
+ <sect4 id="planner-stats-extended-functional-deps-limits" xreflabel="Limitations of Functional Dependencies">
<title>Limitations of Functional Dependencies</title>
<para>
@@ -1562,7 +1562,7 @@ SELECT * FROM zipcodes WHERE city = 'San Francisco' AND zip = '90210';
</sect4>
</sect3>
- <sect3 id="planner-stats-extended-n-distinct-counts">
+ <sect3 id="planner-stats-extended-n-distinct-counts" xreflabel="Multivariate N-Distinct Counts">
<title>Multivariate N-Distinct Counts</title>
<para>
@@ -1645,7 +1645,7 @@ nd | [ +
</para>
</sect3>
- <sect3 id="planner-stats-extended-mcv-lists">
+ <sect3 id="planner-stats-extended-mcv-lists" xreflabel="Multivariate MCV Lists">
<title>Multivariate MCV Lists</title>
<para>
@@ -1713,7 +1713,7 @@ SELECT m.* FROM pg_statistic_ext join pg_statistic_ext_data on (oid = stxoid),
</sect2>
</sect1>
- <sect1 id="explicit-joins">
+ <sect1 id="explicit-joins" xreflabel="Controlling the Planner with Explicit JOIN Clauses">
<title>Controlling the Planner with Explicit <literal>JOIN</literal> Clauses</title>
<indexterm zone="explicit-joins">
@@ -1887,7 +1887,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect1>
- <sect1 id="populate">
+ <sect1 id="populate" xreflabel="Populating a Database">
<title>Populating a Database</title>
<para>
@@ -1896,7 +1896,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
this process as efficient as possible.
</para>
- <sect2 id="disable-autocommit">
+ <sect2 id="disable-autocommit" xreflabel="Disable Autocommit">
<title>Disable Autocommit</title>
<indexterm>
@@ -1921,7 +1921,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-copy-from">
+ <sect2 id="populate-copy-from" xreflabel="Use COPY">
<title>Use <command>COPY</command></title>
<para>
@@ -1966,7 +1966,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</sect2>
- <sect2 id="populate-rm-indexes">
+ <sect2 id="populate-rm-indexes" xreflabel="Remove Indexes">
<title>Remove Indexes</title>
<para>
@@ -1989,7 +1989,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-rm-fkeys">
+ <sect2 id="populate-rm-fkeys" xreflabel="Remove Foreign Key Constraints">
<title>Remove Foreign Key Constraints</title>
<para>
@@ -2014,7 +2014,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-work-mem">
+ <sect2 id="populate-work-mem" xreflabel="Increase maintenance_work_mem">
<title>Increase <varname>maintenance_work_mem</varname></title>
<para>
@@ -2027,7 +2027,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-max-wal-size">
+ <sect2 id="populate-max-wal-size" xreflabel="Increase max_wal_size">
<title>Increase <varname>max_wal_size</varname></title>
<para>
@@ -2045,7 +2045,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-pitr">
+ <sect2 id="populate-pitr" xreflabel="Disable WAL Archival and Streaming Replication">
<title>Disable WAL Archival and Streaming Replication</title>
<para>
@@ -2073,7 +2073,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-analyze">
+ <sect2 id="populate-analyze" xreflabel="Run ANALYZE Afterwards">
<title>Run <command>ANALYZE</command> Afterwards</title>
<para>
@@ -2092,7 +2092,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</para>
</sect2>
- <sect2 id="populate-pg-dump">
+ <sect2 id="populate-pg-dump" xreflabel="Some Notes about pg_dump">
<title>Some Notes about <application>pg_dump</application></title>
<para>
@@ -2195,7 +2195,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
</sect2>
</sect1>
- <sect1 id="non-durability">
+ <sect1 id="non-durability" xreflabel="Non-Durable Settings">
<title>Non-Durable Settings</title>
<indexterm zone="non-durability">
diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml
index 1e9aee10275..163a11716e4 100644
--- a/doc/src/sgml/pgbuffercache.sgml
+++ b/doc/src/sgml/pgbuffercache.sgml
@@ -146,7 +146,7 @@
this function is restricted to superusers only.
</para>
- <sect2 id="pgbuffercache-pg-buffercache">
+ <sect2 id="pgbuffercache-pg-buffercache" xreflabel="The pg_buffercache View">
<title>The <structname>pg_buffercache</structname> View</title>
<para>
@@ -281,7 +281,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-os-pages">
+ <sect2 id="pgbuffercache-pg-buffercache-os-pages" xreflabel="The pg_buffercache_os_pages View">
<title>The <structname>pg_buffercache_os_pages</structname> View</title>
<para>
@@ -328,7 +328,7 @@
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-numa">
+ <sect2 id="pgbuffercache-pg-buffercache-numa" xreflabel="The pg_buffercache_numa View">
<title>The <structname>pg_buffercache_numa</structname> View</title>
<para>
@@ -400,7 +400,7 @@
</sect2>
- <sect2 id="pgbuffercache-summary">
+ <sect2 id="pgbuffercache-summary" xreflabel="The pg_buffercache_summary() Function">
<title>The <function>pg_buffercache_summary()</function> Function</title>
<para>
@@ -486,7 +486,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-usage-counts">
+ <sect2 id="pgbuffercache-usage-counts" xreflabel="The pg_buffercache_usage_counts() Function">
<title>The <function>pg_buffercache_usage_counts()</function> Function</title>
<para>
@@ -564,7 +564,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict">
+ <sect2 id="pgbuffercache-pg-buffercache-evict" xreflabel="The pg_buffercache_evict() Function">
<title>The <function>pg_buffercache_evict()</function> Function</title>
<para>
The <function>pg_buffercache_evict()</function> function takes a buffer
@@ -584,7 +584,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict-relation">
+ <sect2 id="pgbuffercache-pg-buffercache-evict-relation" xreflabel="The pg_buffercache_evict_relation() Function">
<title>The <function>pg_buffercache_evict_relation()</function> Function</title>
<para>
The <function>pg_buffercache_evict_relation()</function> function is very
@@ -602,7 +602,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-evict-all">
+ <sect2 id="pgbuffercache-pg-buffercache-evict-all" xreflabel="The pg_buffercache_evict_all() Function">
<title>The <function>pg_buffercache_evict_all()</function> Function</title>
<para>
The <function>pg_buffercache_evict_all()</function> function is very
@@ -618,7 +618,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty" xreflabel="The pg_buffercache_mark_dirty() Function">
<title>The <function>pg_buffercache_mark_dirty()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty()</function> function takes a
@@ -636,7 +636,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-relation">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-relation" xreflabel="The pg_buffercache_mark_dirty_relation() Function">
<title>The <function>pg_buffercache_mark_dirty_relation()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty_relation()</function> function is
@@ -655,7 +655,7 @@
</para>
</sect2>
- <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-all">
+ <sect2 id="pgbuffercache-pg-buffercache-mark-dirty-all" xreflabel="The pg_buffercache_mark_dirty_all() Function">
<title>The <function>pg_buffercache_mark_dirty_all()</function> Function</title>
<para>
The <function>pg_buffercache_mark_dirty_all()</function> function is
@@ -673,7 +673,7 @@
</para>
</sect2>
-<sect2 id="pgbuffercache-sample-output">
+<sect2 id="pgbuffercache-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -762,7 +762,7 @@ regression=# SELECT * FROM pg_buffercache_usage_counts();
</screen>
</sect2>
- <sect2 id="pgbuffercache-authors">
+ <sect2 id="pgbuffercache-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index 6fc2069ad3e..29459f8c207 100644
--- a/doc/src/sgml/pgcrypto.sgml
+++ b/doc/src/sgml/pgcrypto.sgml
@@ -28,10 +28,10 @@
OpenSSL support was not selected when PostgreSQL was built.
</para>
- <sect2 id="pgcrypto-general-hashing-funcs">
+ <sect2 id="pgcrypto-general-hashing-funcs" xreflabel="General Hashing Functions">
<title>General Hashing Functions</title>
- <sect3 id="pgcrypto-general-hashing-funcs-digest">
+ <sect3 id="pgcrypto-general-hashing-funcs-digest" xreflabel="digest()">
<title><function>digest()</function></title>
<indexterm>
@@ -64,7 +64,7 @@ $$ LANGUAGE SQL STRICT IMMUTABLE;
</para>
</sect3>
- <sect3 id="pgcrypto-general-hashing-funcs-hmac">
+ <sect3 id="pgcrypto-general-hashing-funcs-hmac" xreflabel="hmac()">
<title><function>hmac()</function></title>
<indexterm>
@@ -94,7 +94,7 @@ hmac(data bytea, key bytea, type text) returns bytea
</sect3>
</sect2>
- <sect2 id="pgcrypto-password-hashing-funcs">
+ <sect2 id="pgcrypto-password-hashing-funcs" xreflabel="Password Hashing Functions">
<title>Password Hashing Functions</title>
<para>
@@ -222,7 +222,7 @@ hmac(data bytea, key bytea, type text) returns bytea
</tgroup>
</table>
- <sect3 id="pgcrypto-password-hashing-funcs-crypt">
+ <sect3 id="pgcrypto-password-hashing-funcs-crypt" xreflabel="crypt()">
<title><function>crypt()</function></title>
<indexterm>
@@ -255,7 +255,7 @@ SELECT (pswhash = crypt('entered password', pswhash)) AS pswmatch FROM ... ;
</para>
</sect3>
- <sect3 id="pgcrypto-password-hashing-funcs-gen-salt">
+ <sect3 id="pgcrypto-password-hashing-funcs-gen-salt" xreflabel="gen_salt()">
<title><function>gen_salt()</function></title>
<indexterm>
@@ -482,7 +482,7 @@ gen_salt(type text [, iter_count integer ]) returns text
</sect3>
</sect2>
- <sect2 id="pgcrypto-pgp-enc-funcs">
+ <sect2 id="pgcrypto-pgp-enc-funcs" xreflabel="PGP Encryption Functions">
<title>PGP Encryption Functions</title>
<para>
@@ -580,7 +580,7 @@ gen_salt(type text [, iter_count integer ]) returns text
</listitem>
</orderedlist>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-encrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-encrypt" xreflabel="pgp_sym_encrypt()">
<title><function>pgp_sym_encrypt()</function></title>
<indexterm>
@@ -602,7 +602,7 @@ pgp_sym_encrypt_bytea(data bytea, psw text [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-decrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-sym-decrypt" xreflabel="pgp_sym_decrypt()">
<title><function>pgp_sym_decrypt()</function></title>
<indexterm>
@@ -631,7 +631,7 @@ pgp_sym_decrypt_bytea(msg bytea, psw text [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-encrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-encrypt" xreflabel="pgp_pub_encrypt()">
<title><function>pgp_pub_encrypt()</function></title>
<indexterm>
@@ -656,7 +656,7 @@ pgp_pub_encrypt_bytea(data bytea, key bytea [, options text ]) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-decrypt">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-pub-decrypt" xreflabel="pgp_pub_decrypt()">
<title><function>pgp_pub_decrypt()</function></title>
<indexterm>
@@ -689,7 +689,7 @@ pgp_pub_decrypt_bytea(msg bytea, key bytea [, psw text [, options text ]]) retur
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-key-id">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-key-id" xreflabel="pgp_key_id()">
<title><function>pgp_key_id()</function></title>
<indexterm>
@@ -735,7 +735,7 @@ pgp_key_id(bytea) returns text
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-armor">
+ <sect3 id="pgcrypto-pgp-enc-funcs-armor" xreflabel="armor(), dearmor()">
<title><function>armor()</function>, <function>dearmor()</function></title>
<indexterm>
@@ -764,7 +764,7 @@ dearmor(data text) returns bytea
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-pgp-armor-headers">
+ <sect3 id="pgcrypto-pgp-enc-funcs-pgp-armor-headers" xreflabel="pgp_armor_headers">
<title><function>pgp_armor_headers</function></title>
<indexterm>
@@ -782,7 +782,7 @@ pgp_armor_headers(data text, key out text, value out text) returns setof record
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-opts">
+ <sect3 id="pgcrypto-pgp-enc-funcs-opts" xreflabel="Options for PGP Functions">
<title>Options for PGP Functions</title>
<para>
@@ -806,7 +806,7 @@ pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')
The rest should have reasonable defaults.
</para>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-cipher-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-cipher-algo" xreflabel="cipher-algo">
<title>cipher-algo</title>
<para>
@@ -819,7 +819,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-algo" xreflabel="compress-algo">
<title>compress-algo</title>
<para>
@@ -836,7 +836,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-level">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-compress-level" xreflabel="compress-level">
<title>compress-level</title>
<para>
@@ -850,7 +850,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-convert-crlf">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-convert-crlf" xreflabel="convert-crlf">
<title>convert-crlf</title>
<para>
@@ -867,7 +867,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt, pgp_sym_decrypt, pgp_pub_decrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-disable-mdc">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-disable-mdc" xreflabel="disable-mdc">
<title>disable-mdc</title>
<para>
@@ -883,7 +883,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-sess-key">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-sess-key" xreflabel="sess-key">
<title>sess-key</title>
<para>
@@ -898,7 +898,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-mode">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-mode" xreflabel="s2k-mode">
<title>s2k-mode</title>
<para>
@@ -914,7 +914,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-count">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-count" xreflabel="s2k-count">
<title>s2k-count</title>
<para>
@@ -927,7 +927,7 @@ Applies to: pgp_sym_encrypt, only with s2k-mode=3
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-digest-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-digest-algo" xreflabel="s2k-digest-algo">
<title>s2k-digest-algo</title>
<para>
@@ -940,7 +940,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-cipher-algo">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-s2k-cipher-algo" xreflabel="s2k-cipher-algo">
<title>s2k-cipher-algo</title>
<para>
@@ -953,7 +953,7 @@ Applies to: pgp_sym_encrypt
</literallayout>
</sect4>
- <sect4 id="pgcrypto-pgp-enc-funcs-opts-unicode-mode">
+ <sect4 id="pgcrypto-pgp-enc-funcs-opts-unicode-mode" xreflabel="unicode-mode">
<title>unicode-mode</title>
<para>
@@ -970,7 +970,7 @@ Applies to: pgp_sym_encrypt, pgp_pub_encrypt
</sect4>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-gnupg">
+ <sect3 id="pgcrypto-pgp-enc-funcs-gnupg" xreflabel="Generating PGP Keys with GnuPG">
<title>Generating PGP Keys with GnuPG</title>
<para>
@@ -1018,7 +1018,7 @@ gpg -a --export-secret-keys KEYID > secret.key
</para>
</sect3>
- <sect3 id="pgcrypto-pgp-enc-funcs-limitations">
+ <sect3 id="pgcrypto-pgp-enc-funcs-limitations" xreflabel="Limitations of PGP Code">
<title>Limitations of PGP Code</title>
<itemizedlist>
@@ -1046,7 +1046,7 @@ gpg -a --export-secret-keys KEYID > secret.key
</sect3>
</sect2>
- <sect2 id="pgcrypto-raw-enc-funcs">
+ <sect2 id="pgcrypto-raw-enc-funcs" xreflabel="Raw Encryption Functions">
<title>Raw Encryption Functions</title>
<para>
@@ -1170,7 +1170,7 @@ encrypt(data, 'fooz', 'bf-cbc/pad:pkcs')
</para>
</sect2>
- <sect2 id="pgcrypto-random-data-funcs">
+ <sect2 id="pgcrypto-random-data-funcs" xreflabel="Random-Data Functions">
<title>Random-Data Functions</title>
<indexterm>
@@ -1200,7 +1200,7 @@ gen_random_uuid() returns uuid
</para>
</sect2>
- <sect2 id="pgcrypto-openssl-support-funcs">
+ <sect2 id="pgcrypto-openssl-support-funcs" xreflabel="OpenSSL Support Functions">
<title>OpenSSL Support Functions</title>
<indexterm>
@@ -1216,7 +1216,7 @@ fips_mode() returns boolean
</para>
</sect2>
- <sect2 id="pgcrypto-configuration-parameters">
+ <sect2 id="pgcrypto-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<para>
@@ -1254,10 +1254,10 @@ fips_mode() returns boolean
</para>
</sect2>
- <sect2 id="pgcrypto-notes">
+ <sect2 id="pgcrypto-notes" xreflabel="Notes">
<title>Notes</title>
- <sect3 id="pgcrypto-notes-config">
+ <sect3 id="pgcrypto-notes-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -1285,7 +1285,7 @@ fips_mode() returns boolean
</para>
</sect3>
- <sect3 id="pgcrypto-notes-null-handling">
+ <sect3 id="pgcrypto-notes-null-handling" xreflabel="NULL Handling">
<title>NULL Handling</title>
<para>
@@ -1294,7 +1294,7 @@ fips_mode() returns boolean
</para>
</sect3>
- <sect3 id="pgcrypto-notes-sec-limits">
+ <sect3 id="pgcrypto-notes-sec-limits" xreflabel="Security Limitations">
<title>Security Limitations</title>
<para>
@@ -1327,7 +1327,7 @@ fips_mode() returns boolean
</sect3>
</sect2>
- <sect2 id="pgcrypto-author">
+ <sect2 id="pgcrypto-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml
index 3774a9f8c6b..8093d095e38 100644
--- a/doc/src/sgml/pgfreespacemap.sgml
+++ b/doc/src/sgml/pgfreespacemap.sgml
@@ -21,7 +21,7 @@
using <command>GRANT</command>.
</para>
- <sect2 id="pgfreespacemap-funcs">
+ <sect2 id="pgfreespacemap-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -71,7 +71,7 @@
</para>
</sect2>
- <sect2 id="pgfreespacemap-sample-output">
+ <sect2 id="pgfreespacemap-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -108,7 +108,7 @@ postgres=# SELECT * FROM pg_freespace('foo', 7);
</screen>
</sect2>
- <sect2 id="pgfreespacemap-author">
+ <sect2 id="pgfreespacemap-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pglogicalinspect.sgml b/doc/src/sgml/pglogicalinspect.sgml
index 1c1a9d14e51..c4502263f76 100644
--- a/doc/src/sgml/pglogicalinspect.sgml
+++ b/doc/src/sgml/pglogicalinspect.sgml
@@ -21,7 +21,7 @@
superusers to others using <command>GRANT</command>.
</para>
- <sect2 id="pglogicalinspect-funcs">
+ <sect2 id="pglogicalinspect-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -132,7 +132,7 @@ catchange_xip | {751,752}
</variablelist>
</sect2>
- <sect2 id="pglogicalinspect-author">
+ <sect2 id="pglogicalinspect-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgoverexplain.sgml b/doc/src/sgml/pgoverexplain.sgml
index 0c8db13e4f0..d3ca48efded 100644
--- a/doc/src/sgml/pgoverexplain.sgml
+++ b/doc/src/sgml/pgoverexplain.sgml
@@ -32,7 +32,7 @@ LOAD 'pg_overexplain';
<filename>postgresql.conf</filename>.
</para>
- <sect2 id="pgoverexplain-debug">
+ <sect2 id="pgoverexplain-debug" xreflabel="EXPLAIN (DEBUG)">
<title>EXPLAIN (DEBUG)</title>
<para>
@@ -141,7 +141,7 @@ LOAD 'pg_overexplain';
</itemizedlist>
</sect2>
- <sect2 id="pgoverexplain-range-table">
+ <sect2 id="pgoverexplain-range-table" xreflabel="EXPLAIN (RANGE_TABLE)">
<title>EXPLAIN (RANGE_TABLE)</title>
<para>
@@ -190,7 +190,7 @@ LOAD 'pg_overexplain';
</para>
</sect2>
- <sect2 id="pgoverexplain-author">
+ <sect2 id="pgoverexplain-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgprewarm.sgml b/doc/src/sgml/pgprewarm.sgml
index 75f45b91b67..f4dc6974c80 100644
--- a/doc/src/sgml/pgprewarm.sgml
+++ b/doc/src/sgml/pgprewarm.sgml
@@ -19,7 +19,7 @@
will, using 2 background workers, reload those same blocks after a restart.
</para>
- <sect2 id="pgprewarm-funcs">
+ <sect2 id="pgprewarm-funcs" xreflabel="Functions">
<title>Functions</title>
<synopsis>
@@ -84,7 +84,7 @@ autoprewarm_dump_now() RETURNS int8
</para>
</sect2>
- <sect2 id="pgprewarm-config-params">
+ <sect2 id="pgprewarm-config-params" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -137,7 +137,7 @@ pg_prewarm.autoprewarm_interval = 300s
</sect2>
- <sect2 id="pgprewarm-author">
+ <sect2 id="pgprewarm-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml
index 9c6e86b27ed..b312191f394 100644
--- a/doc/src/sgml/pgrowlocks.sgml
+++ b/doc/src/sgml/pgrowlocks.sgml
@@ -19,7 +19,7 @@
</para>
- <sect2 id="pgrowlocks-overview">
+ <sect2 id="pgrowlocks-overview" xreflabel="Overview">
<title>Overview</title>
<indexterm>
@@ -125,7 +125,7 @@ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p
</para>
</sect2>
- <sect2 id="pgrowlocks-sample-output">
+ <sect2 id="pgrowlocks-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -140,7 +140,7 @@ SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p
</screen>
</sect2>
- <sect2 id="pgrowlocks-author">
+ <sect2 id="pgrowlocks-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index d753de5836e..d1d2047451d 100644
--- a/doc/src/sgml/pgstatstatements.sgml
+++ b/doc/src/sgml/pgstatstatements.sgml
@@ -36,7 +36,7 @@
<command>CREATE EXTENSION pg_stat_statements</command>.
</para>
- <sect2 id="pgstatstatements-pg-stat-statements">
+ <sect2 id="pgstatstatements-pg-stat-statements" xreflabel="The pg_stat_statements View">
<title>The <structname>pg_stat_statements</structname> View</title>
<para>
@@ -759,7 +759,7 @@ calls | 2
</para>
</sect2>
- <sect2 id="pgstatstatements-pg-stat-statements-info">
+ <sect2 id="pgstatstatements-pg-stat-statements-info" xreflabel="The pg_stat_statements_info View">
<title>The <structname>pg_stat_statements_info</structname> View</title>
<indexterm>
@@ -815,7 +815,7 @@ calls | 2
</table>
</sect2>
- <sect2 id="pgstatstatements-funcs">
+ <sect2 id="pgstatstatements-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -893,7 +893,7 @@ calls | 2
</variablelist>
</sect2>
- <sect2 id="pgstatstatements-config-params">
+ <sect2 id="pgstatstatements-config-params" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -1028,7 +1028,7 @@ pg_stat_statements.track = all
</para>
</sect2>
- <sect2 id="pgstatstatements-sample-output">
+ <sect2 id="pgstatstatements-sample-output" xreflabel="Sample Output">
<title>Sample Output</title>
<screen>
@@ -1133,7 +1133,7 @@ hit_percent |
</screen>
</sect2>
- <sect2 id="pgstatstatements-authors">
+ <sect2 id="pgstatstatements-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml
index 54d8f90245e..2c4bea53abf 100644
--- a/doc/src/sgml/pgstattuple.sgml
+++ b/doc/src/sgml/pgstattuple.sgml
@@ -23,7 +23,7 @@
the <literal>pg_stat_scan_tables</literal> role instead.
</para>
- <sect2 id="pgstattuple-funcs">
+ <sect2 id="pgstattuple-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -627,7 +627,7 @@ approx_free_percent | 2.09
</variablelist>
</sect2>
- <sect2 id="pgstattuple-authors">
+ <sect2 id="pgstattuple-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgsurgery.sgml b/doc/src/sgml/pgsurgery.sgml
index 68186122a22..15cb5efdaee 100644
--- a/doc/src/sgml/pgsurgery.sgml
+++ b/doc/src/sgml/pgsurgery.sgml
@@ -18,7 +18,7 @@
They should be used with great caution and only as a last resort.
</para>
- <sect2 id="pgsurgery-funcs">
+ <sect2 id="pgsurgery-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -96,7 +96,7 @@ test=# SELECT ctid FROM t1 WHERE xmin = 2;
</variablelist>
</sect2>
- <sect2 id="pgsurgery-authors">
+ <sect2 id="pgsurgery-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
index 07bfcac9319..fce868d47d6 100644
--- a/doc/src/sgml/pgtrgm.sgml
+++ b/doc/src/sgml/pgtrgm.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="pgtrgm-concepts">
+ <sect2 id="pgtrgm-concepts" xreflabel="Trigram (or Trigraph) Concepts">
<title>Trigram (or Trigraph) Concepts</title>
<para>
@@ -60,7 +60,7 @@
</note>
</sect2>
- <sect2 id="pgtrgm-funcs-ops">
+ <sect2 id="pgtrgm-funcs-ops" xreflabel="Functions and Operators">
<title>Functions and Operators</title>
<para>
@@ -356,7 +356,7 @@
</table>
</sect2>
- <sect2 id="pgtrgm-guc">
+ <sect2 id="pgtrgm-guc" xreflabel="GUC Parameters">
<title>GUC Parameters</title>
<variablelist>
@@ -407,7 +407,7 @@
</variablelist>
</sect2>
- <sect2 id="pgtrgm-index">
+ <sect2 id="pgtrgm-index" xreflabel="Index Support">
<title>Index Support</title>
<para>
@@ -560,7 +560,7 @@ SELECT * FROM test_trgm WHERE t ~ '(foo|bar)';
</para>
</sect2>
- <sect2 id="pgtrgm-text-search">
+ <sect2 id="pgtrgm-text-search" xreflabel="Text Search Integration">
<title>Text Search Integration</title>
<para>
@@ -609,7 +609,7 @@ CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
</note>
</sect2>
- <sect2 id="pgtrgm-references">
+ <sect2 id="pgtrgm-references" xreflabel="References">
<title>References</title>
<para>
@@ -622,7 +622,7 @@ CREATE INDEX words_idx ON words USING GIN (word gin_trgm_ops);
</para>
</sect2>
- <sect2 id="pgtrgm-authors">
+ <sect2 id="pgtrgm-authors" xreflabel="Authors">
<title>Authors</title>
<para>
diff --git a/doc/src/sgml/pgvisibility.sgml b/doc/src/sgml/pgvisibility.sgml
index 097f7e05661..1a2a37026b3 100644
--- a/doc/src/sgml/pgvisibility.sgml
+++ b/doc/src/sgml/pgvisibility.sgml
@@ -41,7 +41,7 @@
data blocks are similarly expensive.
</para>
- <sect2 id="pgvisibility-funcs">
+ <sect2 id="pgvisibility-funcs" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -147,7 +147,7 @@
</para>
</sect2>
- <sect2 id="pgvisibility-author">
+ <sect2 id="pgvisibility-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/pgwalinspect.sgml b/doc/src/sgml/pgwalinspect.sgml
index 79c3ead40bc..851c20a9c47 100644
--- a/doc/src/sgml/pgwalinspect.sgml
+++ b/doc/src/sgml/pgwalinspect.sgml
@@ -56,7 +56,7 @@
superusers to others using <command>GRANT</command>.
</para>
- <sect2 id="pgwalinspect-funcs">
+ <sect2 id="pgwalinspect-funcs" xreflabel="General Functions">
<title>General Functions</title>
<variablelist>
@@ -275,7 +275,7 @@ combined_size_percentage | 2.8634072910530795
</variablelist>
</sect2>
- <sect2 id="pgwalinspect-author">
+ <sect2 id="pgwalinspect-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/planstats.sgml b/doc/src/sgml/planstats.sgml
index e57867ba617..045b8df441f 100644
--- a/doc/src/sgml/planstats.sgml
+++ b/doc/src/sgml/planstats.sgml
@@ -19,7 +19,7 @@
wishes to read the code.
</para>
- <sect1 id="row-estimation-examples">
+ <sect1 id="row-estimation-examples" xreflabel="Row Estimation Examples">
<title>Row Estimation Examples</title>
<indexterm zone="row-estimation-examples">
@@ -447,7 +447,7 @@ rows = (outer_cardinality * inner_cardinality) * selectivity
</para>
</sect1>
- <sect1 id="multivariate-statistics-examples">
+ <sect1 id="multivariate-statistics-examples" xreflabel="Multivariate Statistics Examples">
<title>Multivariate Statistics Examples</title>
<indexterm>
@@ -455,7 +455,7 @@ rows = (outer_cardinality * inner_cardinality) * selectivity
<secondary>multivariate</secondary>
</indexterm>
- <sect2 id="functional-dependencies">
+ <sect2 id="functional-dependencies" xreflabel="Functional Dependencies">
<title>Functional Dependencies</title>
<para>
@@ -540,7 +540,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT * FROM t WHERE a = 1 AND b = 1
</para>
</sect2>
- <sect2 id="multivariate-ndistinct-counts">
+ <sect2 id="multivariate-ndistinct-counts" xreflabel="Multivariate N-Distinct Counts">
<title>Multivariate N-Distinct Counts</title>
<para>
@@ -586,7 +586,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT COUNT(*) FROM t GROUP BY a, b;
</sect2>
- <sect2 id="mcv-lists">
+ <sect2 id="mcv-lists" xreflabel="MCV Lists">
<title>MCV Lists</title>
<para>
@@ -699,7 +699,7 @@ EXPLAIN (ANALYZE, TIMING OFF, BUFFERS OFF) SELECT * FROM t WHERE a <= 49 AND
</sect1>
- <sect1 id="planner-stats-security">
+ <sect1 id="planner-stats-security" xreflabel="Planner Statistics and Security">
<title>Planner Statistics and Security</title>
<para>
diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml
index 6f018645f11..7e7881bf066 100644
--- a/doc/src/sgml/plperl.sgml
+++ b/doc/src/sgml/plperl.sgml
@@ -46,7 +46,7 @@
</para>
</note>
- <sect1 id="plperl-funcs">
+ <sect1 id="plperl-funcs" xreflabel="PL/Perl Functions and Arguments">
<title>PL/Perl Functions and Arguments</title>
<para>
@@ -407,7 +407,7 @@ use strict;
</sect1>
- <sect1 id="plperl-data">
+ <sect1 id="plperl-data" xreflabel="Data Values in PL/Perl">
<title>Data Values in PL/Perl</title>
<para>
@@ -427,10 +427,10 @@ use strict;
</para>
</sect1>
- <sect1 id="plperl-builtins">
+ <sect1 id="plperl-builtins" xreflabel="Built-in Functions">
<title>Built-in Functions</title>
- <sect2 id="plperl-database">
+ <sect2 id="plperl-database" xreflabel="Database Access from PL/Perl">
<title>Database Access from PL/Perl</title>
<para>
@@ -781,7 +781,7 @@ CALL transaction_test1();
</variablelist>
</sect2>
- <sect2 id="plperl-utility-functions">
+ <sect2 id="plperl-utility-functions" xreflabel="Utility Functions in PL/Perl">
<title>Utility Functions in PL/Perl</title>
<variablelist>
@@ -996,7 +996,7 @@ CALL transaction_test1();
</sect2>
</sect1>
- <sect1 id="plperl-global">
+ <sect1 id="plperl-global" xreflabel="Global Values in PL/Perl">
<title>Global Values in PL/Perl</title>
<para>
@@ -1071,7 +1071,7 @@ $$ LANGUAGE plperl;
</para>
</sect1>
- <sect1 id="plperl-trusted">
+ <sect1 id="plperl-trusted" xreflabel="Trusted and Untrusted PL/Perl">
<title>Trusted and Untrusted PL/Perl</title>
<indexterm zone="plperl-trusted">
@@ -1184,7 +1184,7 @@ $$ LANGUAGE plperl;
</sect1>
- <sect1 id="plperl-triggers">
+ <sect1 id="plperl-triggers" xreflabel="PL/Perl Triggers">
<title>PL/Perl Triggers</title>
<para>
@@ -1372,7 +1372,7 @@ CREATE TRIGGER test_valid_id_trig
</para>
</sect1>
- <sect1 id="plperl-event-triggers">
+ <sect1 id="plperl-event-triggers" xreflabel="PL/Perl Event Triggers">
<title>PL/Perl Event Triggers</title>
<para>
@@ -1422,10 +1422,10 @@ CREATE EVENT TRIGGER perl_a_snitch
</para>
</sect1>
- <sect1 id="plperl-under-the-hood">
+ <sect1 id="plperl-under-the-hood" xreflabel="PL/Perl Under the Hood">
<title>PL/Perl Under the Hood</title>
- <sect2 id="plperl-config">
+ <sect2 id="plperl-config" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -1553,7 +1553,7 @@ DO 'elog(WARNING, join ", ", sort keys %INC)' LANGUAGE plperl;
</variablelist>
</sect2>
- <sect2 id="plperl-missing">
+ <sect2 id="plperl-missing" xreflabel="Limitations and Missing Features">
<title>Limitations and Missing Features</title>
<para>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 561f6e50d63..891299faa44 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -7,7 +7,7 @@
<primary>PL/pgSQL</primary>
</indexterm>
- <sect1 id="plpgsql-overview">
+ <sect1 id="plpgsql-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -65,7 +65,7 @@
administrators could choose to remove it.
</para>
- <sect2 id="plpgsql-advantages">
+ <sect2 id="plpgsql-advantages" xreflabel="Advantages of Using PL/pgSQL">
<title>Advantages of Using <application>PL/pgSQL</application></title>
<para>
@@ -114,7 +114,7 @@
</para>
</sect2>
- <sect2 id="plpgsql-args-results">
+ <sect2 id="plpgsql-args-results" xreflabel="Supported Argument and Result Data Types">
<title>Supported Argument and Result Data Types</title>
<para>
@@ -177,7 +177,7 @@
</sect2>
</sect1>
- <sect1 id="plpgsql-structure">
+ <sect1 id="plpgsql-structure" xreflabel="Structure of PL/pgSQL">
<title>Structure of <application>PL/pgSQL</application></title>
<para>
@@ -312,7 +312,7 @@ $$ LANGUAGE plpgsql;
</para>
</sect1>
- <sect1 id="plpgsql-declarations">
+ <sect1 id="plpgsql-declarations" xreflabel="Declarations">
<title>Declarations</title>
<para>
@@ -393,7 +393,7 @@ DECLARE
</programlisting>
</para>
- <sect2 id="plpgsql-declaration-parameters">
+ <sect2 id="plpgsql-declaration-parameters" xreflabel="Declaring Function Parameters">
<title>Declaring Function Parameters</title>
<para>
@@ -639,7 +639,7 @@ SELECT add_three_values(1, 2, 4.7);
</para>
</sect2>
- <sect2 id="plpgsql-declaration-alias">
+ <sect2 id="plpgsql-declaration-alias" xreflabel="ALIAS">
<title><literal>ALIAS</literal></title>
<synopsis>
@@ -671,7 +671,7 @@ DECLARE
</para>
</sect2>
- <sect2 id="plpgsql-declaration-type">
+ <sect2 id="plpgsql-declaration-type" xreflabel="Copying Types">
<title>Copying Types</title>
<synopsis>
@@ -726,7 +726,7 @@ user_ids users.user_id%TYPE ARRAY[4]; -- equivalent to the above
</sect2>
- <sect2 id="plpgsql-declaration-rowtypes">
+ <sect2 id="plpgsql-declaration-rowtypes" xreflabel="Row Types">
<title>Row Types</title>
<synopsis>
@@ -789,7 +789,7 @@ SELECT merge_fields(t.*) FROM table1 t WHERE ... ;
</para>
</sect2>
- <sect2 id="plpgsql-declaration-records">
+ <sect2 id="plpgsql-declaration-records" xreflabel="Record Types">
<title>Record Types</title>
<synopsis>
@@ -819,7 +819,7 @@ SELECT merge_fields(t.*) FROM table1 t WHERE ... ;
</para>
</sect2>
- <sect2 id="plpgsql-declaration-collation">
+ <sect2 id="plpgsql-declaration-collation" xreflabel="Collation of PL/pgSQL Variables">
<title>Collation of <application>PL/pgSQL</application> Variables</title>
<indexterm>
@@ -913,7 +913,7 @@ $$ LANGUAGE plpgsql;
</sect2>
</sect1>
- <sect1 id="plpgsql-expressions">
+ <sect1 id="plpgsql-expressions" xreflabel="Expressions">
<title>Expressions</title>
<para>
@@ -974,7 +974,7 @@ IF count(*) > 0 FROM my_table THEN ...
</para>
</sect1>
- <sect1 id="plpgsql-statements">
+ <sect1 id="plpgsql-statements" xreflabel="Basic Statements">
<title>Basic Statements</title>
<para>
@@ -986,7 +986,7 @@ IF count(*) > 0 FROM my_table THEN ...
as described in <xref linkend="plpgsql-statements-general-sql"/>.
</para>
- <sect2 id="plpgsql-statements-assignment">
+ <sect2 id="plpgsql-statements-assignment" xreflabel="Assignment">
<title>Assignment</title>
<para>
@@ -1029,7 +1029,7 @@ complex_array[n].realpart = 12.3;
</para>
</sect2>
- <sect2 id="plpgsql-statements-general-sql">
+ <sect2 id="plpgsql-statements-general-sql" xreflabel="Executing SQL Commands">
<title>Executing SQL Commands</title>
<para>
@@ -1148,7 +1148,7 @@ PERFORM create_mv('cs_session_page_requests_mv', my_query);
</para>
</sect2>
- <sect2 id="plpgsql-statements-sql-onerow">
+ <sect2 id="plpgsql-statements-sql-onerow" xreflabel="Executing a Command with a Single-Row Result">
<title>Executing a Command with a Single-Row Result</title>
<indexterm zone="plpgsql-statements-sql-onerow">
@@ -1309,7 +1309,7 @@ CONTEXT: PL/pgSQL function get_userid(text) line 6 at SQL statement
</sect2>
- <sect2 id="plpgsql-statements-executing-dyn">
+ <sect2 id="plpgsql-statements-executing-dyn" xreflabel="Executing Dynamic Commands">
<title>Executing Dynamic Commands</title>
<para>
@@ -1610,7 +1610,7 @@ EXECUTE format('UPDATE tbl SET %I = $1 WHERE key = $2', colname)
</para>
</sect2>
- <sect2 id="plpgsql-statements-diagnostics">
+ <sect2 id="plpgsql-statements-diagnostics" xreflabel="Obtaining the Result Status">
<title>Obtaining the Result Status</title>
<para>
@@ -1751,7 +1751,7 @@ GET DIAGNOSTICS integer_var = ROW_COUNT;
</sect2>
- <sect2 id="plpgsql-statements-null">
+ <sect2 id="plpgsql-statements-null" xreflabel="Doing Nothing At All">
<title>Doing Nothing At All</title>
<para>
@@ -1798,7 +1798,7 @@ END;
</sect2>
</sect1>
- <sect1 id="plpgsql-control-structures">
+ <sect1 id="plpgsql-control-structures" xreflabel="Control Structures">
<title>Control Structures</title>
<para>
@@ -1809,7 +1809,7 @@ END;
flexible and powerful way.
</para>
- <sect2 id="plpgsql-statements-returning">
+ <sect2 id="plpgsql-statements-returning" xreflabel="Returning from a Function">
<title>Returning from a Function</title>
<para>
@@ -1818,7 +1818,7 @@ END;
NEXT</command>.
</para>
- <sect3 id="plpgsql-statements-returning-return">
+ <sect3 id="plpgsql-statements-returning-return" xreflabel="RETURN">
<title><command>RETURN</command></title>
<synopsis>
@@ -1879,7 +1879,7 @@ RETURN (1, 2, 'three'::text); -- must cast columns to correct types
</para>
</sect3>
- <sect3 id="plpgsql-statements-returning-return-next">
+ <sect3 id="plpgsql-statements-returning-return-next" xreflabel="RETURN NEXT and RETURN QUERY">
<title><command>RETURN NEXT</command> and <command>RETURN QUERY</command></title>
<indexterm>
<primary>RETURN NEXT</primary>
@@ -2029,7 +2029,7 @@ SELECT * FROM get_available_flightid(CURRENT_DATE);
</sect3>
</sect2>
- <sect2 id="plpgsql-statements-returning-procedure">
+ <sect2 id="plpgsql-statements-returning-procedure" xreflabel="Returning from a Procedure">
<title>Returning from a Procedure</title>
<para>
@@ -2045,7 +2045,7 @@ SELECT * FROM get_available_flightid(CURRENT_DATE);
</para>
</sect2>
- <sect2 id="plpgsql-statements-calling-procedure">
+ <sect2 id="plpgsql-statements-calling-procedure" xreflabel="Calling a Procedure">
<title>Calling a Procedure</title>
<para>
@@ -2081,7 +2081,7 @@ $$;
</para>
</sect2>
- <sect2 id="plpgsql-conditionals">
+ <sect2 id="plpgsql-conditionals" xreflabel="Conditionals">
<title>Conditionals</title>
<para>
@@ -2111,7 +2111,7 @@ $$;
</itemizedlist>
</para>
- <sect3 id="plpgsql-conditionals-if-then">
+ <sect3 id="plpgsql-conditionals-if-then" xreflabel="IF-THEN">
<title><literal>IF-THEN</literal></title>
<synopsis>
@@ -2138,7 +2138,7 @@ END IF;
</para>
</sect3>
- <sect3 id="plpgsql-conditionals-if-then-else">
+ <sect3 id="plpgsql-conditionals-if-then-else" xreflabel="IF-THEN-ELSE">
<title><literal>IF-THEN-ELSE</literal></title>
<synopsis>
@@ -2179,7 +2179,7 @@ END IF;
</para>
</sect3>
- <sect3 id="plpgsql-conditionals-if-then-elsif">
+ <sect3 id="plpgsql-conditionals-if-then-elsif" xreflabel="IF-THEN-ELSIF">
<title><literal>IF-THEN-ELSIF</literal></title>
<synopsis>
@@ -2255,7 +2255,7 @@ END IF;
</para>
</sect3>
- <sect3 id="plpgsql-conditionals-simple-case">
+ <sect3 id="plpgsql-conditionals-simple-case" xreflabel="Simple CASE">
<title>Simple <literal>CASE</literal></title>
<synopsis>
@@ -2298,7 +2298,7 @@ END CASE;
</para>
</sect3>
- <sect3 id="plpgsql-conditionals-searched-case">
+ <sect3 id="plpgsql-conditionals-searched-case" xreflabel="Searched CASE">
<title>Searched <literal>CASE</literal></title>
<synopsis>
@@ -2350,7 +2350,7 @@ END CASE;
</sect3>
</sect2>
- <sect2 id="plpgsql-control-structures-loops">
+ <sect2 id="plpgsql-control-structures-loops" xreflabel="Simple Loops">
<title>Simple Loops</title>
<indexterm zone="plpgsql-control-structures-loops">
@@ -2365,7 +2365,7 @@ END CASE;
<application>PL/pgSQL</application> function to repeat a series of commands.
</para>
- <sect3 id="plpgsql-control-structures-loops-loop">
+ <sect3 id="plpgsql-control-structures-loops-loop" xreflabel="LOOP">
<title><literal>LOOP</literal></title>
<synopsis>
@@ -2385,7 +2385,7 @@ END LOOP <optional> <replaceable>label</replaceable> </optional>;
</para>
</sect3>
- <sect3 id="plpgsql-control-structures-loops-exit">
+ <sect3 id="plpgsql-control-structures-loops-exit" xreflabel="EXIT">
<title><literal>EXIT</literal></title>
<indexterm>
@@ -2457,7 +2457,7 @@ END;
</para>
</sect3>
- <sect3 id="plpgsql-control-structures-loops-continue">
+ <sect3 id="plpgsql-control-structures-loops-continue" xreflabel="CONTINUE">
<title><literal>CONTINUE</literal></title>
<indexterm>
@@ -2506,7 +2506,7 @@ END LOOP;
</sect3>
- <sect3 id="plpgsql-control-structures-loops-while">
+ <sect3 id="plpgsql-control-structures-loops-while" xreflabel="WHILE">
<title><literal>WHILE</literal></title>
<indexterm>
@@ -2543,7 +2543,7 @@ END LOOP;
</para>
</sect3>
- <sect3 id="plpgsql-integer-for">
+ <sect3 id="plpgsql-integer-for" xreflabel="FOR (Integer Variant)">
<title><literal>FOR</literal> (Integer Variant)</title>
<synopsis>
@@ -2600,7 +2600,7 @@ END LOOP;
</sect3>
</sect2>
- <sect2 id="plpgsql-records-iterating">
+ <sect2 id="plpgsql-records-iterating" xreflabel="Looping through Query Results">
<title>Looping through Query Results</title>
<para>
@@ -2696,7 +2696,7 @@ END LOOP <optional> <replaceable>label</replaceable> </optional>;
</para>
</sect2>
- <sect2 id="plpgsql-foreach-array">
+ <sect2 id="plpgsql-foreach-array" xreflabel="Looping through Arrays">
<title>Looping through Arrays</title>
<para>
@@ -2780,7 +2780,7 @@ NOTICE: row = {10,11,12}
</para>
</sect2>
- <sect2 id="plpgsql-error-trapping">
+ <sect2 id="plpgsql-error-trapping" xreflabel="Trapping Errors">
<title>Trapping Errors</title>
<indexterm>
@@ -2943,7 +2943,7 @@ SELECT merge_db(1, 'dennis');
</para>
</example>
- <sect3 id="plpgsql-exception-diagnostics">
+ <sect3 id="plpgsql-exception-diagnostics" xreflabel="Obtaining Information about an Error">
<title>Obtaining Information about an Error</title>
<para>
@@ -3072,7 +3072,7 @@ END;
</sect3>
</sect2>
- <sect2 id="plpgsql-call-stack">
+ <sect2 id="plpgsql-call-stack" xreflabel="Obtaining Execution Location Information">
<title>Obtaining Execution Location Information</title>
<para>
@@ -3127,7 +3127,7 @@ CONTEXT: PL/pgSQL function outer_func() line 3 at RETURN
</sect2>
</sect1>
- <sect1 id="plpgsql-cursors">
+ <sect1 id="plpgsql-cursors" xreflabel="Cursors">
<title>Cursors</title>
<indexterm zone="plpgsql-cursors">
@@ -3148,7 +3148,7 @@ CONTEXT: PL/pgSQL function outer_func() line 3 at RETURN
large row sets from functions.
</para>
- <sect2 id="plpgsql-cursor-declarations">
+ <sect2 id="plpgsql-cursor-declarations" xreflabel="Declaring Cursor Variables">
<title>Declaring Cursor Variables</title>
<para>
@@ -3202,7 +3202,7 @@ DECLARE
</para>
</sect2>
- <sect2 id="plpgsql-cursor-opening">
+ <sect2 id="plpgsql-cursor-opening" xreflabel="Opening Cursors">
<title>Opening Cursors</title>
<para>
@@ -3242,7 +3242,7 @@ DECLARE
<xref linkend="plpgsql-cursor-returning"/>.
</para>
- <sect3 id="plpgsql-cursor-opening-open-for-query">
+ <sect3 id="plpgsql-cursor-opening-open-for-query" xreflabel="OPEN FOR query">
<title><command>OPEN FOR</command> <replaceable>query</replaceable></title>
<synopsis>
@@ -3276,7 +3276,7 @@ OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
</para>
</sect3>
- <sect3 id="plpgsql-cursor-opening-open-for-execute">
+ <sect3 id="plpgsql-cursor-opening-open-for-execute" xreflabel="OPEN FOR EXECUTE">
<title><command>OPEN FOR EXECUTE</command></title>
<synopsis>
@@ -3313,7 +3313,7 @@ OPEN curs1 FOR EXECUTE format('SELECT * FROM %I WHERE col1 = $1',tabname) USING
</para>
</sect3>
- <sect3 id="plpgsql-open-bound-cursor">
+ <sect3 id="plpgsql-open-bound-cursor" xreflabel="Opening a Bound Cursor">
<title>Opening a Bound Cursor</title>
<synopsis>
@@ -3379,7 +3379,7 @@ BEGIN
</sect3>
</sect2>
- <sect2 id="plpgsql-cursor-using">
+ <sect2 id="plpgsql-cursor-using" xreflabel="Using Cursors">
<title>Using Cursors</title>
<para>
@@ -3403,7 +3403,7 @@ BEGIN
only until the end of the transaction.
</para>
- <sect3 id="plpgsql-cursor-using-fetch">
+ <sect3 id="plpgsql-cursor-using-fetch" xreflabel="FETCH">
<title><literal>FETCH</literal></title>
<synopsis>
@@ -3463,7 +3463,7 @@ FETCH RELATIVE -2 FROM curs4 INTO x;
</para>
</sect3>
- <sect3 id="plpgsql-cursor-using-move">
+ <sect3 id="plpgsql-cursor-using-move" xreflabel="MOVE">
<title><literal>MOVE</literal></title>
<synopsis>
@@ -3504,7 +3504,7 @@ MOVE FORWARD 2 FROM curs4;
</para>
</sect3>
- <sect3 id="plpgsql-cursor-using-update-delete">
+ <sect3 id="plpgsql-cursor-using-update-delete" xreflabel="UPDATE/DELETE WHERE CURRENT OF">
<title><literal>UPDATE/DELETE WHERE CURRENT OF</literal></title>
<synopsis>
@@ -3530,7 +3530,7 @@ UPDATE foo SET dataval = myval WHERE CURRENT OF curs1;
</para>
</sect3>
- <sect3 id="plpgsql-cursor-using-close">
+ <sect3 id="plpgsql-cursor-using-close" xreflabel="CLOSE">
<title><literal>CLOSE</literal></title>
<synopsis>
@@ -3551,7 +3551,7 @@ CLOSE curs1;
</para>
</sect3>
- <sect3 id="plpgsql-cursor-returning">
+ <sect3 id="plpgsql-cursor-returning" xreflabel="Returning Cursors">
<title>Returning Cursors</title>
<para>
@@ -3665,7 +3665,7 @@ COMMIT;
</sect3>
</sect2>
- <sect2 id="plpgsql-cursor-for-loop">
+ <sect2 id="plpgsql-cursor-for-loop" xreflabel="Looping through a Cursor's Result">
<title>Looping through a Cursor's Result</title>
<para>
@@ -3700,7 +3700,7 @@ END LOOP <optional> <replaceable>label</replaceable> </optional>;
</sect1>
- <sect1 id="plpgsql-transactions">
+ <sect1 id="plpgsql-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -3813,10 +3813,10 @@ CALL transaction_test2();
</para>
</sect1>
- <sect1 id="plpgsql-errors-and-messages">
+ <sect1 id="plpgsql-errors-and-messages" xreflabel="Errors and Messages">
<title>Errors and Messages</title>
- <sect2 id="plpgsql-statements-raise">
+ <sect2 id="plpgsql-statements-raise" xreflabel="Reporting Errors and Messages">
<title>Reporting Errors and Messages</title>
<indexterm>
@@ -4027,7 +4027,7 @@ RAISE unique_violation USING MESSAGE = 'Duplicate user ID: ' || user_id;
</sect2>
- <sect2 id="plpgsql-statements-assert">
+ <sect2 id="plpgsql-statements-assert" xreflabel="Checking Assertions">
<title>Checking Assertions</title>
<indexterm>
@@ -4088,7 +4088,7 @@ ASSERT <replaceable class="parameter">condition</replaceable> <optional> , <repl
</sect1>
- <sect1 id="plpgsql-trigger">
+ <sect1 id="plpgsql-trigger" xreflabel="Trigger Functions">
<title>Trigger Functions</title>
<indexterm zone="plpgsql-trigger">
@@ -4107,7 +4107,7 @@ ASSERT <replaceable class="parameter">condition</replaceable> <optional> , <repl
automatically defined to describe the condition that triggered the call.
</para>
- <sect2 id="plpgsql-dml-trigger">
+ <sect2 id="plpgsql-dml-trigger" xreflabel="Triggers on Data Changes">
<title>Triggers on Data Changes</title>
<para>
@@ -4723,7 +4723,7 @@ CREATE TRIGGER emp_audit_del
</sect2>
- <sect2 id="plpgsql-event-trigger">
+ <sect2 id="plpgsql-event-trigger" xreflabel="Triggers on Events">
<title>Triggers on Events</title>
<para>
@@ -4787,7 +4787,7 @@ CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE FUNCTION snitch();
</sect1>
- <sect1 id="plpgsql-implementation">
+ <sect1 id="plpgsql-implementation" xreflabel="PL/pgSQL under the Hood">
<title><application>PL/pgSQL</application> under the Hood</title>
<para>
@@ -4795,7 +4795,7 @@ CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE FUNCTION snitch();
frequently important for <application>PL/pgSQL</application> users to know.
</para>
- <sect2 id="plpgsql-var-subst">
+ <sect2 id="plpgsql-var-subst" xreflabel="Variable Substitution">
<title>Variable Substitution</title>
<para>
@@ -4973,7 +4973,7 @@ $$ LANGUAGE plpgsql;
</sect2>
- <sect2 id="plpgsql-plan-caching">
+ <sect2 id="plpgsql-plan-caching" xreflabel="Plan Caching">
<title>Plan Caching</title>
<para>
@@ -5128,7 +5128,7 @@ $$ LANGUAGE plpgsql;
</sect1>
- <sect1 id="plpgsql-development-tips">
+ <sect1 id="plpgsql-development-tips" xreflabel="Tips for Developing in PL/pgSQL">
<title>Tips for Developing in <application>PL/pgSQL</application></title>
<para>
@@ -5165,7 +5165,7 @@ $$ LANGUAGE plpgsql;
making it easier to recreate and debug functions.
</para>
- <sect2 id="plpgsql-quote-tips">
+ <sect2 id="plpgsql-quote-tips" xreflabel="Handling of Quotation Marks">
<title>Handling of Quotation Marks</title>
<para>
@@ -5321,7 +5321,7 @@ a_output := a_output || $$ IF v_$$ || referrer_keys.kind || $$ LIKE '$$
</variablelist>
</sect2>
- <sect2 id="plpgsql-extra-checks">
+ <sect2 id="plpgsql-extra-checks" xreflabel="Additional Compile-Time and Run-Time Checks">
<title>Additional Compile-Time and Run-Time Checks</title>
<para>
@@ -5446,7 +5446,7 @@ HINT: Make sure the query returns the exact list of columns.
<!-- **** Porting from Oracle PL/SQL **** -->
- <sect1 id="plpgsql-porting">
+ <sect1 id="plpgsql-porting" xreflabel="Porting from Oracle PL/SQL">
<title>Porting from <productname>Oracle</productname> PL/SQL</title>
<indexterm zone="plpgsql-porting">
@@ -5560,7 +5560,7 @@ HINT: Make sure the query returns the exact list of columns.
</itemizedlist>
</para>
- <sect2 id="plpgsql-porting-examples">
+ <sect2 id="plpgsql-porting-examples" xreflabel="Porting Examples">
<title>Porting Examples</title>
<para>
@@ -5955,7 +5955,7 @@ $$ LANGUAGE plpgsql;
</example>
</sect2>
- <sect2 id="plpgsql-porting-other">
+ <sect2 id="plpgsql-porting-other" xreflabel="Other Things to Watch For">
<title>Other Things to Watch For</title>
<para>
@@ -5964,7 +5964,7 @@ $$ LANGUAGE plpgsql;
<productname>PostgreSQL</productname>.
</para>
- <sect3 id="plpgsql-porting-exceptions">
+ <sect3 id="plpgsql-porting-exceptions" xreflabel="Implicit Rollback after Exceptions">
<title>Implicit Rollback after Exceptions</title>
<para>
@@ -5996,7 +5996,7 @@ END;
</para>
</sect3>
- <sect3 id="plpgsql-porting-other-execute">
+ <sect3 id="plpgsql-porting-other-execute" xreflabel="EXECUTE">
<title><command>EXECUTE</command></title>
<para>
@@ -6011,7 +6011,7 @@ END;
</para>
</sect3>
- <sect3 id="plpgsql-porting-optimization">
+ <sect3 id="plpgsql-porting-optimization" xreflabel="Optimizing PL/pgSQL Functions">
<title>Optimizing <application>PL/pgSQL</application> Functions</title>
<para>
@@ -6038,7 +6038,7 @@ $$ LANGUAGE plpgsql STRICT IMMUTABLE;
</sect3>
</sect2>
- <sect2 id="plpgsql-porting-appendix">
+ <sect2 id="plpgsql-porting-appendix" xreflabel="Appendix">
<title>Appendix</title>
<para>
diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml
index c447452b7c5..8fb19a89666 100644
--- a/doc/src/sgml/plpython.sgml
+++ b/doc/src/sgml/plpython.sgml
@@ -46,7 +46,7 @@
</para>
</note>
- <sect1 id="plpython-funcs">
+ <sect1 id="plpython-funcs" xreflabel="PL/Python Functions">
<title>PL/Python Functions</title>
<para>
@@ -144,7 +144,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-data">
+ <sect1 id="plpython-data" xreflabel="Data Values">
<title>Data Values</title>
<para>
Generally speaking, the aim of PL/Python is to provide
@@ -153,7 +153,7 @@ $$ LANGUAGE plpython3u;
below.
</para>
- <sect2 id="plpython-data-type-mapping">
+ <sect2 id="plpython-data-type-mapping" xreflabel="Data Type Mapping">
<title>Data Type Mapping</title>
<para>
When a PL/Python function is called, its arguments are converted from
@@ -269,7 +269,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect2>
- <sect2 id="plpython-data-null">
+ <sect2 id="plpython-data-null" xreflabel="Null, None">
<title>Null, None</title>
<para>
If an SQL null value<indexterm><primary>null value</primary><secondary
@@ -301,7 +301,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect2>
- <sect2 id="plpython-arrays">
+ <sect2 id="plpython-arrays" xreflabel="Arrays, Lists">
<title>Arrays, Lists</title>
<para>
SQL array values are passed into PL/Python as a Python list. To
@@ -369,7 +369,7 @@ SELECT return_str_arr();
</para>
</sect2>
- <sect2 id="plpython-data-composite-types">
+ <sect2 id="plpython-data-composite-types" xreflabel="Composite Types">
<title>Composite Types</title>
<para>
Composite-type arguments are passed to the function as Python mappings. The
@@ -516,7 +516,7 @@ CALL python_triple(5, 10);
</para>
</sect2>
- <sect2 id="plpython-data-set-returning-funcs">
+ <sect2 id="plpython-data-set-returning-funcs" xreflabel="Set-Returning Functions">
<title>Set-Returning Functions</title>
<para>
A <application>PL/Python</application> function can also return sets of
@@ -616,7 +616,7 @@ SELECT * FROM multiout_simple_setof(3);
</sect2>
</sect1>
- <sect1 id="plpython-sharing">
+ <sect1 id="plpython-sharing" xreflabel="Sharing Data">
<title>Sharing Data</title>
<para>
The global dictionary <varname>SD</varname> is available to store
@@ -636,7 +636,7 @@ SELECT * FROM multiout_simple_setof(3);
</para>
</sect1>
- <sect1 id="plpython-do">
+ <sect1 id="plpython-do" xreflabel="Anonymous Code Blocks">
<title>Anonymous Code Blocks</title>
<para>
@@ -654,7 +654,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-trigger">
+ <sect1 id="plpython-trigger" xreflabel="Trigger Functions">
<title>Trigger Functions</title>
<indexterm zone="plpython-trigger">
@@ -777,7 +777,7 @@ $$ LANGUAGE plpython3u;
</para>
</sect1>
- <sect1 id="plpython-event-trigger">
+ <sect1 id="plpython-event-trigger" xreflabel="Event Trigger Functions">
<title>Event Trigger Functions</title>
<indexterm zone="plpython-event-trigger">
@@ -845,7 +845,7 @@ CREATE EVENT TRIGGER pysnitch ON ddl_command_start EXECUTE FUNCTION pysnitch();
</example>
</sect1>
- <sect1 id="plpython-database">
+ <sect1 id="plpython-database" xreflabel="Database Access">
<title>Database Access</title>
<para>
@@ -855,7 +855,7 @@ CREATE EVENT TRIGGER pysnitch ON ddl_command_start EXECUTE FUNCTION pysnitch();
<literal>plpy.<replaceable>foo</replaceable></literal>.
</para>
- <sect2 id="plpython-database-access-funcs">
+ <sect2 id="plpython-database-access-funcs" xreflabel="Database Access Functions">
<title>Database Access Functions</title>
<para>
@@ -1115,7 +1115,7 @@ $$ LANGUAGE plpython3u;
</sect2>
- <sect2 id="plpython-trapping">
+ <sect2 id="plpython-trapping" xreflabel="Trapping Errors">
<title>Trapping Errors</title>
<para>
@@ -1188,7 +1188,7 @@ $$ LANGUAGE plpython3u;
</sect2>
</sect1>
- <sect1 id="plpython-subtransaction">
+ <sect1 id="plpython-subtransaction" xreflabel="Explicit Subtransactions">
<title>Explicit Subtransactions</title>
<para>
@@ -1200,7 +1200,7 @@ $$ LANGUAGE plpython3u;
the form of explicit subtransactions.
</para>
- <sect2 id="plpython-subtransaction-context-managers">
+ <sect2 id="plpython-subtransaction-context-managers" xreflabel="Subtransaction Context Managers">
<title>Subtransaction Context Managers</title>
<para>
@@ -1268,7 +1268,7 @@ $$ LANGUAGE plpython3u;
</sect2>
</sect1>
- <sect1 id="plpython-transactions">
+ <sect1 id="plpython-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1307,7 +1307,7 @@ CALL transaction_test1();
</para>
</sect1>
- <sect1 id="plpython-util">
+ <sect1 id="plpython-util" xreflabel="Utility Functions">
<title>Utility Functions</title>
<para>
The <literal>plpy</literal> module also provides the functions
@@ -1395,7 +1395,7 @@ plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
</para>
</sect1>
- <sect1 id="plpython-python23">
+ <sect1 id="plpython-python23" xreflabel="Python 2 vs. Python 3">
<title>Python 2 vs. Python 3</title>
<para>
@@ -1406,7 +1406,7 @@ plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
</para>
</sect1>
- <sect1 id="plpython-envar">
+ <sect1 id="plpython-envar" xreflabel="Environment Variables">
<title>Environment Variables</title>
<para>
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 9fd008a99d7..bcc54f43cb7 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -21,7 +21,7 @@
<!-- **** PL/Tcl overview **** -->
- <sect1 id="pltcl-overview">
+ <sect1 id="pltcl-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -74,7 +74,7 @@
<!-- **** PL/Tcl description **** -->
- <sect1 id="pltcl-functions">
+ <sect1 id="pltcl-functions" xreflabel="PL/Tcl Functions and Arguments">
<title>PL/Tcl Functions and Arguments</title>
<para>
@@ -240,7 +240,7 @@ $$ LANGUAGE pltcl;
</sect1>
- <sect1 id="pltcl-data">
+ <sect1 id="pltcl-data" xreflabel="Data Values in PL/Tcl">
<title>Data Values in PL/Tcl</title>
<para>
@@ -254,7 +254,7 @@ $$ LANGUAGE pltcl;
</sect1>
- <sect1 id="pltcl-global">
+ <sect1 id="pltcl-global" xreflabel="Global Data in PL/Tcl">
<title>Global Data in PL/Tcl</title>
<indexterm zone="pltcl-global">
@@ -316,7 +316,7 @@ $$ LANGUAGE pltcl;
</para>
</sect1>
- <sect1 id="pltcl-dbaccess">
+ <sect1 id="pltcl-dbaccess" xreflabel="Database Access from PL/Tcl">
<title>Database Access from PL/Tcl</title>
<para>
@@ -572,7 +572,7 @@ SELECT 'doesn''t' AS ret
</sect1>
- <sect1 id="pltcl-trigger">
+ <sect1 id="pltcl-trigger" xreflabel="Trigger Functions in PL/Tcl">
<title>Trigger Functions in PL/Tcl</title>
<indexterm>
@@ -784,7 +784,7 @@ CREATE TRIGGER trig_mytab_modcount BEFORE INSERT OR UPDATE ON mytab
</para>
</sect1>
- <sect1 id="pltcl-event-trigger">
+ <sect1 id="pltcl-event-trigger" xreflabel="Event Trigger Functions in PL/Tcl">
<title>Event Trigger Functions in PL/Tcl</title>
<indexterm>
@@ -843,7 +843,7 @@ CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE FUNCTION tclsnitc
</para>
</sect1>
- <sect1 id="pltcl-error-handling">
+ <sect1 id="pltcl-error-handling" xreflabel="Error Handling in PL/Tcl">
<title>Error Handling in PL/Tcl</title>
<indexterm>
@@ -918,7 +918,7 @@ if {[catch { spi_exec $sql_command }]} {
</para>
</sect1>
- <sect1 id="pltcl-subtransactions">
+ <sect1 id="pltcl-subtransactions" xreflabel="Explicit Subtransactions in PL/Tcl">
<title>Explicit Subtransactions in PL/Tcl</title>
<indexterm>
@@ -1000,7 +1000,7 @@ $$ LANGUAGE pltcl;
</para>
</sect1>
- <sect1 id="pltcl-transactions">
+ <sect1 id="pltcl-transactions" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1041,7 +1041,7 @@ CALL transaction_test1();
</para>
</sect1>
- <sect1 id="pltcl-config">
+ <sect1 id="pltcl-config" xreflabel="PL/Tcl Configuration">
<title>PL/Tcl Configuration</title>
<para>
@@ -1115,7 +1115,7 @@ CALL transaction_test1();
</variablelist>
</sect1>
- <sect1 id="pltcl-procnames">
+ <sect1 id="pltcl-procnames" xreflabel="Tcl Procedure Names">
<title>Tcl Procedure Names</title>
<para>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 9b032fbf675..e8e2c97d312 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -108,10 +108,10 @@
of columns to the remote table is by name, not position.
</para>
- <sect2 id="postgres-fdw-options">
+ <sect2 id="postgres-fdw-options" xreflabel="FDW Options of postgres_fdw">
<title>FDW Options of postgres_fdw</title>
- <sect3 id="postgres-fdw-options-connection">
+ <sect3 id="postgres-fdw-options-connection" xreflabel="Connection Options">
<title>Connection Options</title>
<para>
@@ -202,7 +202,7 @@ OPTIONS (ADD password_required 'false');
</para>
</sect3>
- <sect3 id="postgres-fdw-options-object-name">
+ <sect3 id="postgres-fdw-options-object-name" xreflabel="Object Name Options">
<title>Object Name Options</title>
<para>
@@ -251,7 +251,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-cost-estimation">
+ <sect3 id="postgres-fdw-options-cost-estimation" xreflabel="Cost Estimation Options">
<title>Cost Estimation Options</title>
<para>
@@ -368,7 +368,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-remote-execution">
+ <sect3 id="postgres-fdw-options-remote-execution" xreflabel="Remote Execution Options">
<title>Remote Execution Options</title>
<para>
@@ -453,7 +453,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-asynchronous-execution">
+ <sect3 id="postgres-fdw-options-asynchronous-execution" xreflabel="Asynchronous Execution Options">
<title>Asynchronous Execution Options</title>
<para>
@@ -504,7 +504,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-transaction-management">
+ <sect3 id="postgres-fdw-options-transaction-management" xreflabel="Transaction Management Options">
<title>Transaction Management Options</title>
<para>
@@ -569,7 +569,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-updatability">
+ <sect3 id="postgres-fdw-options-updatability" xreflabel="Updatability Options">
<title>Updatability Options</title>
<para>
@@ -606,7 +606,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-truncatability">
+ <sect3 id="postgres-fdw-options-truncatability" xreflabel="Truncatability Options">
<title>Truncatability Options</title>
<para>
@@ -637,7 +637,7 @@ OPTIONS (ADD password_required 'false');
</variablelist>
</sect3>
- <sect3 id="postgres-fdw-options-importing">
+ <sect3 id="postgres-fdw-options-importing" xreflabel="Importing Options">
<title>Importing Options</title>
<para>
@@ -745,7 +745,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
- <sect3 id="postgres-fdw-options-connection-management">
+ <sect3 id="postgres-fdw-options-connection-management" xreflabel="Connection Management Options">
<title>Connection Management Options</title>
<para>
@@ -841,7 +841,7 @@ OPTIONS (ADD password_required 'false');
</sect3>
</sect2>
-<sect2 id="postgres-fdw-functions">
+<sect2 id="postgres-fdw-functions" xreflabel="Functions">
<title>Functions</title>
<variablelist>
@@ -1012,7 +1012,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</sect2>
- <sect2 id="postgres-fdw-connection-management">
+ <sect2 id="postgres-fdw-connection-management" xreflabel="Connection Management">
<title>Connection Management</title>
<para>
@@ -1049,7 +1049,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-transaction-management">
+ <sect2 id="postgres-fdw-transaction-management" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -1084,7 +1084,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-remote-query-optimization">
+ <sect2 id="postgres-fdw-remote-query-optimization" xreflabel="Remote Query Optimization">
<title>Remote Query Optimization</title>
<para>
@@ -1127,7 +1127,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-remote-query-execution-environment">
+ <sect2 id="postgres-fdw-remote-query-execution-environment" xreflabel="Remote Query Execution Environment">
<title>Remote Query Execution Environment</title>
<para>
@@ -1183,7 +1183,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-cross-version-compatibility">
+ <sect2 id="postgres-fdw-cross-version-compatibility" xreflabel="Cross-Version Compatibility">
<title>Cross-Version Compatibility</title>
<para>
@@ -1213,7 +1213,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</para>
</sect2>
- <sect2 id="postgres-fdw-wait-events">
+ <sect2 id="postgres-fdw-wait-events" xreflabel="Wait Events">
<title>Wait Events</title>
<para>
@@ -1251,7 +1251,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</variablelist>
</sect2>
- <sect2 id="postgres-fdw-configuration-parameters">
+ <sect2 id="postgres-fdw-configuration-parameters" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<variablelist>
@@ -1351,7 +1351,7 @@ postgres=# SELECT postgres_fdw_disconnect_all();
</variablelist>
</sect2>
- <sect2 id="postgres-fdw-examples">
+ <sect2 id="postgres-fdw-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -1415,7 +1415,7 @@ CREATE FOREIGN TABLE foreign_table (
</para>
</sect2>
- <sect2 id="postgres-fdw-author">
+ <sect2 id="postgres-fdw-author" xreflabel="Author">
<title>Author</title>
<para>
Shigeru Hanada <email>shigeru.hanada@gmail.com</email>
diff --git a/doc/src/sgml/problems.sgml b/doc/src/sgml/problems.sgml
index fc25c715ebb..47ae690f7d0 100644
--- a/doc/src/sgml/problems.sgml
+++ b/doc/src/sgml/problems.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/problems.sgml -->
-<sect1 id="bug-reporting">
+<sect1 id="bug-reporting" xreflabel="Bug Reporting Guidelines">
<title>Bug Reporting Guidelines</title>
<para>
@@ -28,7 +28,7 @@
If you need help immediately, consider obtaining a commercial support contract.
</para>
- <sect2 id="bug-reporting-identifying-bugs">
+ <sect2 id="bug-reporting-identifying-bugs" xreflabel="Identifying Bugs">
<title>Identifying Bugs</title>
<para>
@@ -96,7 +96,7 @@
</para>
</sect2>
- <sect2 id="bug-reporting-what-to-report">
+ <sect2 id="bug-reporting-what-to-report" xreflabel="What to Report">
<title>What to Report</title>
<para>
@@ -291,7 +291,7 @@
</para>
</sect2>
- <sect2 id="bug-reporting-where-to-report-bugs">
+ <sect2 id="bug-reporting-where-to-report-bugs" xreflabel="Where to Report Bugs">
<title>Where to Report Bugs</title>
<para>
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 41c5954a424..07611d0064a 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -35,7 +35,7 @@
are interchangeable.
</para>
- <sect1 id="protocol-overview">
+ <sect1 id="protocol-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -80,7 +80,7 @@
such as <command>COPY</command>.
</para>
- <sect2 id="protocol-message-concepts">
+ <sect2 id="protocol-message-concepts" xreflabel="Messaging Overview">
<title>Messaging Overview</title>
<para>
@@ -113,7 +113,7 @@
</para>
</sect2>
- <sect2 id="protocol-query-concepts">
+ <sect2 id="protocol-query-concepts" xreflabel="Extended Query Overview">
<title>Extended Query Overview</title>
<para>
@@ -155,7 +155,7 @@
</para>
</sect2>
- <sect2 id="protocol-format-codes">
+ <sect2 id="protocol-format-codes" xreflabel="Formats and Format Codes">
<title>Formats and Format Codes</title>
<para>
@@ -188,7 +188,7 @@
</para>
</sect2>
- <sect2 id="protocol-versions">
+ <sect2 id="protocol-versions" xreflabel="Protocol Versions">
<title>Protocol Versions</title>
<para>
@@ -273,7 +273,7 @@
</sect2>
</sect1>
- <sect1 id="protocol-flow">
+ <sect1 id="protocol-flow" xreflabel="Message Flow">
<title>Message Flow</title>
<para>
@@ -288,7 +288,7 @@
after the start-up phase.
</para>
- <sect2 id="protocol-flow-start-up">
+ <sect2 id="protocol-flow-start-up" xreflabel="Start-up">
<title>Start-up</title>
<para>
@@ -602,7 +602,7 @@
</para>
</sect2>
- <sect2 id="protocol-flow-simple-query">
+ <sect2 id="protocol-flow-simple-query" xreflabel="Simple Query">
<title>Simple Query</title>
<para>
@@ -774,7 +774,7 @@
rather than wiring in assumptions about the exact sequence of messages.
</para>
- <sect3 id="protocol-flow-multi-statement">
+ <sect3 id="protocol-flow-multi-statement" xreflabel="Multiple Statements in a Simple Query">
<title>Multiple Statements in a Simple Query</title>
<para>
@@ -904,7 +904,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect3>
</sect2>
- <sect2 id="protocol-flow-ext-query">
+ <sect2 id="protocol-flow-ext-query" xreflabel="Extended Query">
<title>Extended Query</title>
<para>
@@ -1133,7 +1133,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</note>
</sect2>
- <sect2 id="protocol-flow-pipelining">
+ <sect2 id="protocol-flow-pipelining" xreflabel="Pipelining">
<title>Pipelining</title>
<indexterm zone="protocol-flow-pipelining">
@@ -1193,7 +1193,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-function-call">
+ <sect2 id="protocol-flow-function-call" xreflabel="Function Call">
<title>Function Call</title>
<para>
@@ -1271,7 +1271,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-copy">
+ <sect2 id="protocol-copy" xreflabel="COPY Operations">
<title>COPY Operations</title>
<para>
@@ -1379,7 +1379,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
- <sect2 id="protocol-async">
+ <sect2 id="protocol-async" xreflabel="Asynchronous Operations">
<title>Asynchronous Operations</title>
<para>
@@ -1469,7 +1469,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</note>
</sect2>
- <sect2 id="protocol-flow-canceling-requests">
+ <sect2 id="protocol-flow-canceling-requests" xreflabel="Canceling Requests in Progress">
<title>Canceling Requests in Progress</title>
<para>
@@ -1533,7 +1533,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-termination">
+ <sect2 id="protocol-flow-termination" xreflabel="Termination">
<title>Termination</title>
<para>
@@ -1573,7 +1573,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-ssl">
+ <sect2 id="protocol-flow-ssl" xreflabel="SSL Session Encryption">
<title><acronym>SSL</acronym> Session Encryption</title>
<para>
@@ -1682,7 +1682,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</para>
</sect2>
- <sect2 id="protocol-flow-gssapi">
+ <sect2 id="protocol-flow-gssapi" xreflabel="GSSAPI Session Encryption">
<title><acronym>GSSAPI</acronym> Session Encryption</title>
<para>
@@ -1776,7 +1776,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
</sect1>
- <sect1 id="sasl-authentication">
+ <sect1 id="sasl-authentication" xreflabel="SASL Authentication">
<title>SASL Authentication</title>
<para>
@@ -1835,7 +1835,7 @@ SELCT 1/0;<!-- this typo is intentional -->
ErrorMessage.
</para>
- <sect2 id="sasl-scram-sha-256">
+ <sect2 id="sasl-scram-sha-256" xreflabel="SCRAM-SHA-256 Authentication">
<title>SCRAM-SHA-256 Authentication</title>
<para>
@@ -1944,7 +1944,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</procedure>
</sect2>
- <sect2 id="sasl-oauthbearer">
+ <sect2 id="sasl-oauthbearer" xreflabel="OAUTHBEARER Authentication">
<title>OAUTHBEARER Authentication</title>
<para>
@@ -2060,7 +2060,7 @@ SELCT 1/0;<!-- this typo is intentional -->
</sect2>
</sect1>
- <sect1 id="protocol-replication">
+ <sect1 id="protocol-replication" xreflabel="Streaming Replication Protocol">
<title>Streaming Replication Protocol</title>
<para>
@@ -3508,7 +3508,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</para>
</sect1>
-<sect1 id="protocol-logical-replication">
+<sect1 id="protocol-logical-replication" xreflabel="Logical Streaming Replication Protocol">
<title>Logical Streaming Replication Protocol</title>
<para>
@@ -3523,7 +3523,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
the physical streaming replication protocol.
</para>
- <sect2 id="protocol-logical-replication-params">
+ <sect2 id="protocol-logical-replication-params" xreflabel="Logical Streaming Replication Parameters">
<title>Logical Streaming Replication Parameters</title>
<para>
@@ -3535,7 +3535,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</para>
</sect2>
- <sect2 id="protocol-logical-messages">
+ <sect2 id="protocol-logical-messages" xreflabel="Logical Replication Protocol Messages">
<title>Logical Replication Protocol Messages</title>
<para>
@@ -3558,7 +3558,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</sect2>
- <sect2 id="protocol-logical-messages-flow">
+ <sect2 id="protocol-logical-messages-flow" xreflabel="Logical Replication Protocol Message Flow">
<title>Logical Replication Protocol Message Flow</title>
<para>
@@ -3612,7 +3612,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</sect2>
</sect1>
- <sect1 id="protocol-message-types">
+ <sect1 id="protocol-message-types" xreflabel="Message Data Types">
<title>Message Data Types</title>
<para>
@@ -3684,7 +3684,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-message-formats">
+ <sect1 id="protocol-message-formats" xreflabel="Message Formats">
<title>Message Formats</title>
<para>
@@ -6225,7 +6225,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-error-fields">
+ <sect1 id="protocol-error-fields" xreflabel="Error and Notice Message Fields">
<title>Error and Notice Message Fields</title>
<para>
@@ -6463,7 +6463,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</para>
</sect1>
- <sect1 id="protocol-logicalrep-message-formats">
+ <sect1 id="protocol-logicalrep-message-formats" xreflabel="Logical Replication Message Formats">
<title>Logical Replication Message Formats</title>
<para>
@@ -7760,7 +7760,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
</variablelist>
</sect1>
- <sect1 id="protocol-changes">
+ <sect1 id="protocol-changes" xreflabel="Summary of Changes since Protocol 2.0">
<title>Summary of Changes since Protocol 2.0</title>
<para>
diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml
index 4b522213171..0abeecb159b 100644
--- a/doc/src/sgml/queries.sgml
+++ b/doc/src/sgml/queries.sgml
@@ -18,7 +18,7 @@
</para>
- <sect1 id="queries-overview">
+ <sect1 id="queries-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -80,7 +80,7 @@ SELECT random();
</sect1>
- <sect1 id="queries-table-expressions">
+ <sect1 id="queries-table-expressions" xreflabel="Table Expressions">
<title>Table Expressions</title>
<indexterm zone="queries-table-expressions">
@@ -106,7 +106,7 @@ SELECT random();
the select list to compute the output rows of the query.
</para>
- <sect2 id="queries-from">
+ <sect2 id="queries-from" xreflabel="The FROM Clause">
<title>The <literal>FROM</literal> Clause</title>
<para>
@@ -150,7 +150,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
However, it is supported for compatibility with older releases.
</para>
- <sect3 id="queries-join">
+ <sect3 id="queries-join" xreflabel="Joined Tables">
<title>Joined Tables</title>
<indexterm zone="queries-join">
@@ -530,7 +530,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
</para>
</sect3>
- <sect3 id="queries-table-aliases">
+ <sect3 id="queries-table-aliases" xreflabel="Table and Column Aliases">
<title>Table and Column Aliases</title>
<indexterm zone="queries-table-aliases">
@@ -628,7 +628,7 @@ SELECT a.* FROM (my_table AS a JOIN your_table AS b ON ...) AS c
</para>
</sect3>
- <sect3 id="queries-subqueries">
+ <sect3 id="queries-subqueries" xreflabel="Subqueries">
<title>Subqueries</title>
<indexterm zone="queries-subqueries">
@@ -672,7 +672,7 @@ FROM (VALUES ('anne', 'smith'), ('bob', 'jones'), ('joe', 'blow'))
</para>
</sect3>
- <sect3 id="queries-tablefunctions">
+ <sect3 id="queries-tablefunctions" xreflabel="Table Functions">
<title>Table Functions</title>
<indexterm zone="queries-tablefunctions"><primary>table function</primary></indexterm>
@@ -839,7 +839,7 @@ ORDER BY p;
</para>
</sect3>
- <sect3 id="queries-lateral">
+ <sect3 id="queries-lateral" xreflabel="LATERAL Subqueries">
<title><literal>LATERAL</literal> Subqueries</title>
<indexterm zone="queries-lateral">
@@ -933,7 +933,7 @@ WHERE pname IS NULL;
</sect3>
</sect2>
- <sect2 id="queries-where">
+ <sect2 id="queries-where" xreflabel="The WHERE Clause">
<title>The <literal>WHERE</literal> Clause</title>
<indexterm zone="queries-where">
@@ -1022,7 +1022,7 @@ SELECT ... FROM fdt WHERE EXISTS (SELECT c1 FROM t2 WHERE c2 > fdt.c1)
</sect2>
- <sect2 id="queries-group">
+ <sect2 id="queries-group" xreflabel="The GROUP BY and HAVING Clauses">
<title>The <literal>GROUP BY</literal> and <literal>HAVING</literal> Clauses</title>
<indexterm zone="queries-group">
@@ -1241,7 +1241,7 @@ SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit
</para>
</sect2>
- <sect2 id="queries-grouping-sets">
+ <sect2 id="queries-grouping-sets" xreflabel="GROUPING SETS, CUBE, and ROLLUP">
<title><literal>GROUPING SETS</literal>, <literal>CUBE</literal>, and <literal>ROLLUP</literal></title>
<indexterm zone="queries-grouping-sets">
@@ -1465,7 +1465,7 @@ GROUP BY GROUPING SETS (
</note>
</sect2>
- <sect2 id="queries-window">
+ <sect2 id="queries-window" xreflabel="Window Function Processing">
<title>Window Function Processing</title>
<indexterm zone="queries-window">
@@ -1510,7 +1510,7 @@ GROUP BY GROUPING SETS (
</sect1>
- <sect1 id="queries-select-lists">
+ <sect1 id="queries-select-lists" xreflabel="Select Lists">
<title>Select Lists</title>
<indexterm>
@@ -1528,7 +1528,7 @@ GROUP BY GROUPING SETS (
intermediate table are actually output.
</para>
- <sect2 id="queries-select-list-items">
+ <sect2 id="queries-select-list-items" xreflabel="Select-List Items">
<title>Select-List Items</title>
<indexterm>
@@ -1579,7 +1579,7 @@ SELECT tbl1.*, tbl2.a FROM ...
</para>
</sect2>
- <sect2 id="queries-column-labels">
+ <sect2 id="queries-column-labels" xreflabel="Column Labels">
<title>Column Labels</title>
<indexterm zone="queries-column-labels">
@@ -1638,7 +1638,7 @@ SELECT a "from", b + c AS sum FROM ...
</note>
</sect2>
- <sect2 id="queries-distinct">
+ <sect2 id="queries-distinct" xreflabel="DISTINCT">
<title><literal>DISTINCT</literal></title>
<indexterm zone="queries-distinct">
@@ -1706,7 +1706,7 @@ SELECT DISTINCT ON (<replaceable>expression</replaceable> <optional>, <replaceab
</sect1>
- <sect1 id="queries-union">
+ <sect1 id="queries-union" xreflabel="Combining Queries (UNION, INTERSECT, EXCEPT)">
<title>Combining Queries (<literal>UNION</literal>, <literal>INTERSECT</literal>, <literal>EXCEPT</literal>)</title>
<indexterm zone="queries-union">
@@ -1819,7 +1819,7 @@ SELECT a FROM b UNION (SELECT x FROM y LIMIT 10)
</sect1>
- <sect1 id="queries-order">
+ <sect1 id="queries-order" xreflabel="Sorting Rows (ORDER BY)">
<title>Sorting Rows (<literal>ORDER BY</literal>)</title>
<indexterm zone="queries-order">
@@ -1920,7 +1920,7 @@ SELECT a + b AS sum, c FROM table1 ORDER BY sum + c; -- wrong
</sect1>
- <sect1 id="queries-limit">
+ <sect1 id="queries-limit" xreflabel="LIMIT and OFFSET">
<title><literal>LIMIT</literal> and <literal>OFFSET</literal></title>
<indexterm zone="queries-limit">
@@ -1994,7 +1994,7 @@ SELECT <replaceable>select_list</replaceable>
</sect1>
- <sect1 id="queries-values">
+ <sect1 id="queries-values" xreflabel="VALUES Lists">
<title><literal>VALUES</literal> Lists</title>
<indexterm zone="queries-values">
@@ -2070,7 +2070,7 @@ SELECT <replaceable>select_list</replaceable> FROM <replaceable>table_expression
</sect1>
- <sect1 id="queries-with">
+ <sect1 id="queries-with" xreflabel="WITH Queries (Common Table Expressions)">
<title><literal>WITH</literal> Queries (Common Table Expressions)</title>
<indexterm zone="queries-with">
@@ -2096,7 +2096,7 @@ SELECT <replaceable>select_list</replaceable> FROM <replaceable>table_expression
<command>DELETE</command>, or <command>MERGE</command>.
</para>
- <sect2 id="queries-with-select">
+ <sect2 id="queries-with-select" xreflabel="SELECT in WITH">
<title><command>SELECT</command> in <literal>WITH</literal></title>
<para>
@@ -2134,7 +2134,7 @@ GROUP BY region, product;
</para>
</sect2>
- <sect2 id="queries-with-recursive">
+ <sect2 id="queries-with-recursive" xreflabel="Recursive Queries">
<title>Recursive Queries</title>
<para>
@@ -2238,7 +2238,7 @@ GROUP BY sub_part
</programlisting>
</para>
- <sect3 id="queries-with-search">
+ <sect3 id="queries-with-search" xreflabel="Search Order">
<title>Search Order</title>
<para>
@@ -2373,7 +2373,7 @@ SELECT * FROM search_tree ORDER BY ordercol;
</para>
</sect3>
- <sect3 id="queries-with-cycle">
+ <sect3 id="queries-with-cycle" xreflabel="Cycle Detection">
<title>Cycle Detection</title>
<para>
@@ -2520,7 +2520,7 @@ SELECT n FROM t <emphasis>LIMIT 100</emphasis>;
</sect3>
</sect2>
- <sect2 id="queries-with-cte-materialization">
+ <sect2 id="queries-with-cte-materialization" xreflabel="Common Table Expression Materialization">
<title>Common Table Expression Materialization</title>
<para>
@@ -2622,7 +2622,7 @@ SELECT * FROM w AS w1 JOIN w AS w2 ON w1.f = w2.f;
</para>
</sect2>
- <sect2 id="queries-with-modifying">
+ <sect2 id="queries-with-modifying" xreflabel="Data-Modifying Statements in WITH">
<title>Data-Modifying Statements in <literal>WITH</literal></title>
<para>
diff --git a/doc/src/sgml/query.sgml b/doc/src/sgml/query.sgml
index b190f28d41e..49b973d2253 100644
--- a/doc/src/sgml/query.sgml
+++ b/doc/src/sgml/query.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-sql">
<title>The <acronym>SQL</acronym> Language</title>
- <sect1 id="tutorial-sql-intro">
+ <sect1 id="tutorial-sql-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -56,7 +56,7 @@
</sect1>
- <sect1 id="tutorial-concepts">
+ <sect1 id="tutorial-concepts" xreflabel="Concepts">
<title>Concepts</title>
<para>
@@ -102,7 +102,7 @@
</sect1>
- <sect1 id="tutorial-table">
+ <sect1 id="tutorial-table" xreflabel="Creating a New Table">
<title>Creating a New Table</title>
<indexterm zone="tutorial-table">
@@ -192,7 +192,7 @@ DROP TABLE <replaceable>tablename</replaceable>;
</sect1>
- <sect1 id="tutorial-populate">
+ <sect1 id="tutorial-populate" xreflabel="Populating a Table With Rows">
<title>Populating a Table With Rows</title>
<indexterm zone="tutorial-populate">
@@ -280,7 +280,7 @@ Hayward 37 54 \N 1994-11-29
</sect1>
- <sect1 id="tutorial-select">
+ <sect1 id="tutorial-select" xreflabel="Querying a Table">
<title>Querying a Table</title>
<para>
@@ -439,7 +439,7 @@ SELECT DISTINCT city
</sect1>
- <sect1 id="tutorial-join">
+ <sect1 id="tutorial-join" xreflabel="Joins Between Tables">
<title>Joins Between Tables</title>
<indexterm zone="tutorial-join">
@@ -640,7 +640,7 @@ SELECT *
</sect1>
- <sect1 id="tutorial-agg">
+ <sect1 id="tutorial-agg" xreflabel="Aggregate Functions">
<title>Aggregate Functions</title>
<indexterm zone="tutorial-agg">
@@ -837,7 +837,7 @@ SELECT city, count(*) FILTER (WHERE temp_lo < 45), max(temp_lo)
</sect1>
- <sect1 id="tutorial-update">
+ <sect1 id="tutorial-update" xreflabel="Updates">
<title>Updates</title>
<indexterm zone="tutorial-update">
@@ -873,7 +873,7 @@ SELECT * FROM weather;
</para>
</sect1>
- <sect1 id="tutorial-delete">
+ <sect1 id="tutorial-delete" xreflabel="Deletions">
<title>Deletions</title>
<indexterm zone="tutorial-delete">
diff --git a/doc/src/sgml/rangetypes.sgml b/doc/src/sgml/rangetypes.sgml
index 92ea0e83dab..b8eeb68462e 100644
--- a/doc/src/sgml/rangetypes.sgml
+++ b/doc/src/sgml/rangetypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/rangetypes.sgml -->
-<sect1 id="rangetypes">
+<sect1 id="rangetypes" xreflabel="Range Types">
<title>Range Types</title>
<indexterm>
@@ -38,7 +38,7 @@
of their own.
</para>
- <sect2 id="rangetypes-builtin">
+ <sect2 id="rangetypes-builtin" xreflabel="Built-in Range and Multirange Types">
<title>Built-in Range and Multirange Types</title>
<para>
@@ -86,7 +86,7 @@
</para>
</sect2>
- <sect2 id="rangetypes-examples">
+ <sect2 id="rangetypes-examples" xreflabel="Examples">
<title>Examples</title>
<para>
@@ -117,7 +117,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-inclusivity">
+ <sect2 id="rangetypes-inclusivity" xreflabel="Inclusive and Exclusive Bounds">
<title>Inclusive and Exclusive Bounds</title>
<para>
@@ -144,7 +144,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-infinite">
+ <sect2 id="rangetypes-infinite" xreflabel="Infinite (Unbounded) Ranges">
<title>Infinite (Unbounded) Ranges</title>
<para>
@@ -177,7 +177,7 @@ SELECT isempty(numrange(1, 5));
</para>
</sect2>
- <sect2 id="rangetypes-io">
+ <sect2 id="rangetypes-io" xreflabel="Range Input/Output">
<title>Range Input/Output</title>
<para>
@@ -271,7 +271,7 @@ SELECT '{[3,7), [8,9)}'::int4multirange;
</sect2>
- <sect2 id="rangetypes-construct">
+ <sect2 id="rangetypes-construct" xreflabel="Constructing Ranges and Multiranges">
<title>Constructing Ranges and Multiranges</title>
<para>
@@ -321,7 +321,7 @@ SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
</para>
</sect2>
- <sect2 id="rangetypes-discrete">
+ <sect2 id="rangetypes-discrete" xreflabel="Discrete Range Types">
<title>Discrete Range Types</title>
<para>
@@ -368,7 +368,7 @@ SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
</para>
</sect2>
- <sect2 id="rangetypes-defining">
+ <sect2 id="rangetypes-defining" xreflabel="Defining New Range Types">
<title>Defining New Range Types</title>
<para>
@@ -463,7 +463,7 @@ SELECT '[11:10, 23:00]'::timerange;
</para>
</sect2>
- <sect2 id="rangetypes-indexing">
+ <sect2 id="rangetypes-indexing" xreflabel="Indexing">
<title>Indexing</title>
<indexterm>
@@ -517,7 +517,7 @@ CREATE INDEX reservation_idx ON reservation USING GIST (during);
</para>
</sect2>
- <sect2 id="rangetypes-constraint">
+ <sect2 id="rangetypes-constraint" xreflabel="Constraints on Ranges">
<title>Constraints on Ranges</title>
<indexterm>
diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml
index d80dd46c5fd..c25b4c29b48 100644
--- a/doc/src/sgml/regress.sgml
+++ b/doc/src/sgml/regress.sgml
@@ -18,7 +18,7 @@
<productname>PostgreSQL</productname>.
</para>
- <sect1 id="regress-run">
+ <sect1 id="regress-run" xreflabel="Running the Tests">
<title>Running the Tests</title>
<para>
@@ -34,7 +34,7 @@
mode in case this is required by the test.
</para>
- <sect2 id="regress-run-temp-inst">
+ <sect2 id="regress-run-temp-inst" xreflabel="Running the Tests Against a Temporary Installation">
<title>Running the Tests Against a Temporary Installation</title>
<para>
@@ -95,7 +95,7 @@ make MAX_CONNECTIONS=10 check
</para>
</sect2>
- <sect2 id="regress-run-existing-inst">
+ <sect2 id="regress-run-existing-inst" xreflabel="Running the Tests Against an Existing Installation">
<title>Running the Tests Against an Existing Installation</title>
<para>
@@ -125,7 +125,7 @@ make installcheck-parallel
</para>
</sect2>
- <sect2 id="regress-subset">
+ <sect2 id="regress-subset" xreflabel="Running Specific Tests">
<title>Running Specific Tests</title>
<para>
@@ -137,7 +137,7 @@ make installcheck-parallel
</para>
</sect2>
- <sect2 id="regress-additional">
+ <sect2 id="regress-additional" xreflabel="Additional Test Suites">
<title>Additional Test Suites</title>
<para>
@@ -401,7 +401,7 @@ make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance libpq_encryption'
</para>
</sect2>
- <sect2 id="regress-run-locale">
+ <sect2 id="regress-run-locale" xreflabel="Locale and Encoding">
<title>Locale and Encoding</title>
<para>
@@ -444,7 +444,7 @@ make check LANG=C ENCODING=EUC_JP
</para>
</sect2>
- <sect2 id="regress-run-custom-settings">
+ <sect2 id="regress-run-custom-settings" xreflabel="Custom Server Settings">
<title>Custom Server Settings</title>
<para>
@@ -490,7 +490,7 @@ make check EXTRA_REGRESS_OPTS="--temp-config=test_postgresql.conf"
</sect2>
- <sect2 id="regress-run-extra-tests">
+ <sect2 id="regress-run-extra-tests" xreflabel="Extra Tests">
<title>Extra Tests</title>
<para>
@@ -506,7 +506,7 @@ make check EXTRA_TESTS=numeric_big
</sect2>
</sect1>
- <sect1 id="regress-evaluation">
+ <sect1 id="regress-evaluation" xreflabel="Test Evaluation">
<title>Test Evaluation</title>
<para>
@@ -554,7 +554,7 @@ make check EXTRA_TESTS=numeric_big
<xref linkend="regress-variant"/> for details.
</para>
- <sect2 id="regress-evaluation-message-differences">
+ <sect2 id="regress-evaluation-message-differences" xreflabel="Error Message Differences">
<title>Error Message Differences</title>
<para>
@@ -569,7 +569,7 @@ make check EXTRA_TESTS=numeric_big
</para>
</sect2>
- <sect2 id="regress-evaluation-locale-differences">
+ <sect2 id="regress-evaluation-locale-differences" xreflabel="Locale Differences">
<title>Locale Differences</title>
<para>
@@ -616,7 +616,7 @@ make check NO_LOCALE=1
</para>
</sect2>
- <sect2 id="regress-evaluation-date-time-differences">
+ <sect2 id="regress-evaluation-date-time-differences" xreflabel="Date and Time Differences">
<title>Date and Time Differences</title>
<para>
@@ -630,7 +630,7 @@ make check NO_LOCALE=1
</para>
</sect2>
- <sect2 id="regress-evaluation-float-differences">
+ <sect2 id="regress-evaluation-float-differences" xreflabel="Floating-Point Differences">
<title>Floating-Point Differences</title>
<para>
@@ -658,7 +658,7 @@ make check NO_LOCALE=1
</para>
</sect2>
- <sect2 id="regress-evaluation-ordering-differences">
+ <sect2 id="regress-evaluation-ordering-differences" xreflabel="Row Ordering Differences">
<title>Row Ordering Differences</title>
<para>
@@ -694,7 +694,7 @@ exclusion of those that don't.
</para>
</sect2>
- <sect2 id="regress-evaluation-stack-depth">
+ <sect2 id="regress-evaluation-stack-depth" xreflabel="Insufficient Stack Depth">
<title>Insufficient Stack Depth</title>
<para>
@@ -716,7 +716,7 @@ exclusion of those that don't.
</para>
</sect2>
- <sect2 id="regress-evaluation-random-test">
+ <sect2 id="regress-evaluation-random-test" xreflabel="The random Test">
<title>The <quote>random</quote> Test</title>
<para>
@@ -731,7 +731,7 @@ diff results/random.out expected/random.out
</para>
</sect2>
- <sect2 id="regress-evaluation-config-params">
+ <sect2 id="regress-evaluation-config-params" xreflabel="Configuration Parameters">
<title>Configuration Parameters</title>
<para>
@@ -745,7 +745,7 @@ diff results/random.out expected/random.out
</sect1>
<!-- We might want to move the following section into the developer's guide. -->
- <sect1 id="regress-variant">
+ <sect1 id="regress-variant" xreflabel="Variant Comparison Files">
<title>Variant Comparison Files</title>
<para>
@@ -839,7 +839,7 @@ float4:out:.*-.*-cygwin.*=float4-misrounded-input.out
</sect1>
- <sect1 id="regress-tap">
+ <sect1 id="regress-tap" xreflabel="TAP Tests">
<title>TAP Tests</title>
<para>
@@ -894,7 +894,7 @@ make check PROVE_TESTS='t/001_test1.pl t/003_test3.pl'
results from temporary servers and the already-running test server.
</para>
- <sect2 id="regress-tap-vars">
+ <sect2 id="regress-tap-vars" xreflabel="Environment Variables">
<title>Environment Variables</title>
<para>
@@ -929,7 +929,7 @@ PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
</sect1>
- <sect1 id="regress-coverage">
+ <sect1 id="regress-coverage" xreflabel="Test Coverage Examination">
<title>Test Coverage Examination</title>
<para>
@@ -941,7 +941,7 @@ PG_TEST_NOCLEAN=1 make -C src/bin/pg_dump check
and <literal>lcov</literal> packages.
</para>
- <sect2 id="regress-coverage-configure">
+ <sect2 id="regress-coverage-configure" xreflabel="Coverage with Autoconf and Make">
<title>Coverage with Autoconf and Make</title>
<para>
A typical workflow looks like this:
@@ -988,7 +988,7 @@ make coverage-clean
</para>
</sect2>
- <sect2 id="regress-coverage-meson">
+ <sect2 id="regress-coverage-meson" xreflabel="Coverage with Meson">
<title>Coverage with Meson</title>
<para>
A typical workflow looks like this:
diff --git a/doc/src/sgml/release-19.sgml b/doc/src/sgml/release-19.sgml
index 8d242b5b281..3bfcd8af86b 100644
--- a/doc/src/sgml/release-19.sgml
+++ b/doc/src/sgml/release-19.sgml
@@ -1,7 +1,7 @@
<!-- doc/src/sgml/release-19.sgml -->
<!-- See header comment in release.sgml about typical markup -->
-<sect1 id="release-19">
+<sect1 id="release-19" xreflabel="Release 19">
<title>Release 19</title>
<formalpara>
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index a659d382db9..75b4cd3006b 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -72,7 +72,7 @@ For new features, add links to the documentation sections.
&release-19;
- <sect1 id="release-prior">
+ <sect1 id="release-prior" xreflabel="Prior Releases">
<title>Prior Releases</title>
<para>
diff --git a/doc/src/sgml/rowtypes.sgml b/doc/src/sgml/rowtypes.sgml
index bbeac84d46a..ed2469e2138 100644
--- a/doc/src/sgml/rowtypes.sgml
+++ b/doc/src/sgml/rowtypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/rowtypes.sgml -->
-<sect1 id="rowtypes">
+<sect1 id="rowtypes" xreflabel="Composite Types">
<title>Composite Types</title>
<indexterm>
@@ -19,7 +19,7 @@
column of a table can be declared to be of a composite type.
</para>
- <sect2 id="rowtypes-declaring">
+ <sect2 id="rowtypes-declaring" xreflabel="Declaration of Composite Types">
<title>Declaration of Composite Types</title>
<para>
@@ -91,7 +91,7 @@ CREATE TABLE inventory_item (
</para>
</sect2>
- <sect2 id="rowtypes-constructing">
+ <sect2 id="rowtypes-constructing" xreflabel="Constructing Composite Values">
<title>Constructing Composite Values</title>
<indexterm>
@@ -157,7 +157,7 @@ ROW('', 42, NULL)
</para>
</sect2>
- <sect2 id="rowtypes-accessing">
+ <sect2 id="rowtypes-accessing" xreflabel="Accessing Composite Types">
<title>Accessing Composite Types</title>
<para>
@@ -209,7 +209,7 @@ SELECT (my_func(...)).field FROM ...
</para>
</sect2>
- <sect2 id="rowtypes-modifying">
+ <sect2 id="rowtypes-modifying" xreflabel="Modifying Composite Types">
<title>Modifying Composite Types</title>
<para>
@@ -252,7 +252,7 @@ INSERT INTO mytab (complex_col.r, complex_col.i) VALUES(1.1, 2.2);
</para>
</sect2>
- <sect2 id="rowtypes-usage">
+ <sect2 id="rowtypes-usage" xreflabel="Using Composite Types in Queries">
<title>Using Composite Types in Queries</title>
<para>
@@ -453,7 +453,7 @@ SELECT c.somefunc FROM inventory_item c;
</tip>
</sect2>
- <sect2 id="rowtypes-io-syntax">
+ <sect2 id="rowtypes-io-syntax" xreflabel="Composite Type Input and Output Syntax">
<title>Composite Type Input and Output Syntax</title>
<para>
diff --git a/doc/src/sgml/rules.sgml b/doc/src/sgml/rules.sgml
index 7f23962f524..d9d340bd969 100644
--- a/doc/src/sgml/rules.sgml
+++ b/doc/src/sgml/rules.sgml
@@ -33,7 +33,7 @@
linkend="ong90"/>.
</para>
-<sect1 id="querytree">
+<sect1 id="querytree" xreflabel="The Query Tree">
<title>The Query Tree</title>
<indexterm zone="querytree">
@@ -266,7 +266,7 @@
</para>
</sect1>
-<sect1 id="rules-views">
+<sect1 id="rules-views" xreflabel="Views and the Rule System">
<title>Views and the Rule System</title>
<indexterm zone="rules-views">
@@ -311,7 +311,7 @@ CREATE RULE "_RETURN" AS ON SELECT TO myview DO INSTEAD
<xref linkend="rules-views-update"/>.
</para>
-<sect2 id="rules-select">
+<sect2 id="rules-select" xreflabel="How SELECT Rules Work">
<title>How <command>SELECT</command> Rules Work</title>
<indexterm zone="rules-select">
@@ -644,7 +644,7 @@ SELECT shoe_ready.shoename, shoe_ready.sh_avail,
</para>
</sect2>
-<sect2 id="rules-views-non-select">
+<sect2 id="rules-views-non-select" xreflabel="View Rules in Non-SELECT Statements">
<title>View Rules in Non-<command>SELECT</command> Statements</title>
<para>
@@ -764,7 +764,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</para>
</sect2>
-<sect2 id="rules-views-power">
+<sect2 id="rules-views-power" xreflabel="The Power of Views in PostgreSQL">
<title>The Power of Views in <productname>PostgreSQL</productname></title>
<para>
@@ -793,7 +793,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</para>
</sect2>
-<sect2 id="rules-views-update">
+<sect2 id="rules-views-update" xreflabel="Updating a View">
<title>Updating a View</title>
<para>
@@ -893,7 +893,7 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
</sect1>
-<sect1 id="rules-materializedviews">
+<sect1 id="rules-materializedviews" xreflabel="Materialized Views">
<title>Materialized Views</title>
<indexterm zone="rules-materializedviews">
@@ -1103,7 +1103,7 @@ SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
</sect1>
-<sect1 id="rules-update">
+<sect1 id="rules-update" xreflabel="Rules on INSERT, UPDATE, and DELETE">
<title>Rules on <command>INSERT</command>, <command>UPDATE</command>, and <command>DELETE</command></title>
<indexterm zone="rules-update">
@@ -1185,7 +1185,7 @@ SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
</para>
</caution>
-<sect2 id="rules-update-how">
+<sect2 id="rules-update-how" xreflabel="How Update Rules Work">
<title>How Update Rules Work</title>
<para>
@@ -1309,7 +1309,7 @@ CREATE [ OR REPLACE ] RULE <replaceable class="parameter">name</replaceable> AS
there is no need to apply update rules to the output of view rewriting.
</para>
-<sect3 id="rules-update-how-first">
+<sect3 id="rules-update-how-first" xreflabel="A First Rule Step by Step">
<title>A First Rule Step by Step</title>
<para>
@@ -1556,7 +1556,7 @@ SELECT shoelace_data.sl_name, 0,
</sect2>
-<sect2 id="rules-update-views">
+<sect2 id="rules-update-views" xreflabel="Cooperation with Views">
<title>Cooperation with Views</title>
<indexterm zone="rules-update-views"><primary>view</primary><secondary>updating</secondary></indexterm>
@@ -2012,7 +2012,7 @@ SELECT * FROM shoelace;
</sect1>
-<sect1 id="rules-privileges">
+<sect1 id="rules-privileges" xreflabel="Rules and Privileges">
<title>Rules and Privileges</title>
<indexterm zone="rules-privileges">
@@ -2215,7 +2215,7 @@ CREATE VIEW phone_number WITH (security_barrier) AS
</para>
</sect1>
-<sect1 id="rules-status">
+<sect1 id="rules-status" xreflabel="Rules and Command Status">
<title>Rules and Command Status</title>
<para>
@@ -2266,7 +2266,7 @@ CREATE VIEW phone_number WITH (security_barrier) AS
</para>
</sect1>
-<sect1 id="rules-triggers">
+<sect1 id="rules-triggers" xreflabel="Rules Versus Triggers">
<title>Rules Versus Triggers</title>
<indexterm zone="rules-triggers">
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 0c60bafac63..74c1ce88d26 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -20,7 +20,7 @@
Consult the package-level documentation for details.
</para>
- <sect1 id="postgres-user">
+ <sect1 id="postgres-user" xreflabel="The PostgreSQL User Account">
<title>The <productname>PostgreSQL</productname> User Account</title>
<indexterm>
@@ -52,7 +52,7 @@
</para>
</sect1>
- <sect1 id="creating-cluster">
+ <sect1 id="creating-cluster" xreflabel="Creating a Database Cluster">
<title>Creating a Database Cluster</title>
<indexterm>
@@ -240,7 +240,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
different operating system, or an operating system upgrade.
</para>
- <sect2 id="creating-cluster-mount-points">
+ <sect2 id="creating-cluster-mount-points" xreflabel="Use of Secondary File Systems">
<title>Use of Secondary File Systems</title>
<indexterm zone="creating-cluster-mount-points">
@@ -262,7 +262,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
</sect2>
- <sect2 id="creating-cluster-filesystem">
+ <sect2 id="creating-cluster-filesystem" xreflabel="File Systems">
<title>File Systems</title>
<para>
@@ -274,7 +274,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
making minor file system configuration changes.
</para>
- <sect3 id="creating-cluster-nfs">
+ <sect3 id="creating-cluster-nfs" xreflabel="NFS">
<title>NFS</title>
<indexterm zone="creating-cluster-nfs">
@@ -335,7 +335,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
</sect1>
- <sect1 id="server-start">
+ <sect1 id="server-start" xreflabel="Starting the Database Server">
<title>Starting the Database Server</title>
<para>
@@ -546,7 +546,7 @@ su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgs
shutting down the server.
</para>
- <sect2 id="server-start-failures">
+ <sect2 id="server-start-failures" xreflabel="Server Start-up Failures">
<title>Server Start-up Failures</title>
<para>
@@ -618,7 +618,7 @@ DETAIL: Failed system call was semget(5440126, 17, 03600).
</para>
</sect2>
- <sect2 id="client-connection-problems">
+ <sect2 id="client-connection-problems" xreflabel="Client Connection Problems">
<title>Client Connection Problems</title>
<para>
@@ -673,7 +673,7 @@ psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such
</sect2>
</sect1>
- <sect1 id="kernel-resources">
+ <sect1 id="kernel-resources" xreflabel="Managing Kernel Resources">
<title>Managing Kernel Resources</title>
<para>
@@ -684,7 +684,7 @@ psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such
can take to resolve problems related to kernel resource consumption.
</para>
- <sect2 id="sysvipc">
+ <sect2 id="sysvipc" xreflabel="Shared Memory and Semaphores">
<title>Shared Memory and Semaphores</title>
<indexterm zone="sysvipc">
@@ -1127,7 +1127,7 @@ project.max-msg-ids=(priv,4096,deny)
</sect2>
- <sect2 id="systemd-removeipc">
+ <sect2 id="systemd-removeipc" xreflabel="systemd RemoveIPC">
<title>systemd RemoveIPC</title>
<indexterm>
@@ -1207,7 +1207,7 @@ RemoveIPC=no
</caution>
</sect2>
- <sect2 id="kernel-resources-limits">
+ <sect2 id="kernel-resources-limits" xreflabel="Resource Limits">
<title>Resource Limits</title>
<para>
@@ -1306,7 +1306,7 @@ default:\
</para>
</sect2>
- <sect2 id="linux-memory-overcommit">
+ <sect2 id="linux-memory-overcommit" xreflabel="Linux Memory Overcommit">
<title>Linux Memory Overcommit</title>
<indexterm>
@@ -1419,7 +1419,7 @@ export PG_OOM_ADJUST_VALUE=0
</sect2>
- <sect2 id="linux-huge-pages">
+ <sect2 id="linux-huge-pages" xreflabel="Linux Huge Pages">
<title>Linux Huge Pages</title>
<para>
@@ -1504,7 +1504,7 @@ $ <userinput>cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages</userinp
</sect1>
- <sect1 id="server-shutdown">
+ <sect1 id="server-shutdown" xreflabel="Shutting Down the Server">
<title>Shutting Down the Server</title>
<indexterm zone="server-shutdown">
@@ -1612,7 +1612,7 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput
</para>
</sect1>
- <sect1 id="upgrading">
+ <sect1 id="upgrading" xreflabel="Upgrading a PostgreSQL Cluster">
<title>Upgrading a <productname>PostgreSQL</productname> Cluster</title>
<indexterm zone="upgrading">
@@ -1737,7 +1737,7 @@ $ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput
</variablelist>
- <sect2 id="upgrading-via-pgdumpall">
+ <sect2 id="upgrading-via-pgdumpall" xreflabel="Upgrading Data via pg_dumpall">
<title>Upgrading Data via <application>pg_dumpall</application></title>
<para>
@@ -1900,7 +1900,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
- <sect2 id="upgrading-via-pg-upgrade">
+ <sect2 id="upgrading-via-pg-upgrade" xreflabel="Upgrading Data via pg_upgrade">
<title>Upgrading Data via <application>pg_upgrade</application></title>
<para>
@@ -1915,7 +1915,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
- <sect2 id="upgrading-via-replication">
+ <sect2 id="upgrading-via-replication" xreflabel="Upgrading Data via Replication">
<title>Upgrading Data via Replication</title>
<para>
@@ -1941,7 +1941,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect2>
</sect1>
- <sect1 id="preventing-server-spoofing">
+ <sect1 id="preventing-server-spoofing" xreflabel="Preventing Server Spoofing">
<title>Preventing Server Spoofing</title>
<indexterm zone="preventing-server-spoofing">
@@ -2023,7 +2023,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect1>
- <sect1 id="encryption-options">
+ <sect1 id="encryption-options" xreflabel="Encryption Options">
<title>Encryption Options</title>
<indexterm zone="encryption-options">
@@ -2186,7 +2186,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</sect1>
- <sect1 id="ssl-tcp">
+ <sect1 id="ssl-tcp" xreflabel="Secure TCP/IP Connections with SSL">
<title>Secure TCP/IP Connections with SSL</title>
<indexterm zone="ssl-tcp">
@@ -2214,7 +2214,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
in <productname>PostgreSQL</productname>.
</para>
- <sect2 id="ssl-setup">
+ <sect2 id="ssl-setup" xreflabel="Basic Setup">
<title>Basic Setup</title>
<para>
@@ -2290,7 +2290,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-openssl-config">
+ <sect2 id="ssl-openssl-config" xreflabel="OpenSSL Configuration">
<title>OpenSSL Configuration</title>
<para>
@@ -2323,7 +2323,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</note>
</sect2>
- <sect2 id="ssl-client-certificates">
+ <sect2 id="ssl-client-certificates" xreflabel="Using Client Certificates">
<title>Using Client Certificates</title>
<para>
@@ -2397,7 +2397,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-server-files">
+ <sect2 id="ssl-server-files" xreflabel="SSL Server File Usage">
<title>SSL Server File Usage</title>
<para>
@@ -2467,7 +2467,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
</para>
</sect2>
- <sect2 id="ssl-certificate-creation">
+ <sect2 id="ssl-certificate-creation" xreflabel="Creating Certificates">
<title>Creating Certificates</title>
<para>
@@ -2574,7 +2574,7 @@ openssl x509 -req -in server.csr -text -days 365 \
</sect1>
- <sect1 id="gssapi-enc">
+ <sect1 id="gssapi-enc" xreflabel="Secure TCP/IP Connections with GSSAPI Encryption">
<title>Secure TCP/IP Connections with GSSAPI Encryption</title>
<indexterm zone="gssapi-enc">
@@ -2590,7 +2590,7 @@ openssl x509 -req -in server.csr -text -days 365 \
enabled at build time (see <xref linkend="installation"/>).
</para>
- <sect2 id="gssapi-setup">
+ <sect2 id="gssapi-setup" xreflabel="Basic Setup">
<title>Basic Setup</title>
<para>
@@ -2623,7 +2623,7 @@ openssl x509 -req -in server.csr -text -days 365 \
</sect2>
</sect1>
- <sect1 id="ssh-tunnels">
+ <sect1 id="ssh-tunnels" xreflabel="Secure TCP/IP Connections with SSH Tunnels">
<title>Secure TCP/IP Connections with <application>SSH</application> Tunnels</title>
<indexterm zone="ssh-tunnels">
@@ -2720,7 +2720,7 @@ ssh -L 63333:db.foo.com:5432 joe@shell.foo.com
</sect1>
- <sect1 id="event-log-registration">
+ <sect1 id="event-log-registration" xreflabel="Registering Event Log on Windows">
<title>Registering <application>Event Log</application> on <systemitem
class="osname">Windows</systemitem></title>
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
index 2e879c3e452..0eb6880e734 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -20,7 +20,7 @@
on the current database.
</para>
- <sect2 id="seg-rationale">
+ <sect2 id="seg-rationale" xreflabel="Rationale">
<title>Rationale</title>
<para>
@@ -81,7 +81,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-syntax">
+ <sect2 id="seg-syntax" xreflabel="Syntax">
<title>Syntax</title>
<para>
@@ -220,7 +220,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</sect2>
- <sect2 id="seg-precision">
+ <sect2 id="seg-precision" xreflabel="Precision">
<title>Precision</title>
<para>
@@ -239,7 +239,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-usage">
+ <sect2 id="seg-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -363,7 +363,7 @@ test=> SELECT '6.25 .. 6.50'::seg AS "pH";
</para>
</sect2>
- <sect2 id="seg-notes">
+ <sect2 id="seg-notes" xreflabel="Notes">
<title>Notes</title>
<para>
@@ -392,7 +392,7 @@ postgres=> SELECT '10(+-)1'::seg AS seg;
</para>
</sect2>
- <sect2 id="seg-credits">
+ <sect2 id="seg-credits" xreflabel="Credits">
<title>Credits</title>
<para>
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index ddac6253557..02439b52870 100644
--- a/doc/src/sgml/sepgsql.sgml
+++ b/doc/src/sgml/sepgsql.sgml
@@ -22,7 +22,7 @@
</para>
</warning>
- <sect2 id="sepgsql-overview">
+ <sect2 id="sepgsql-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -57,7 +57,7 @@
</para>
</sect2>
- <sect2 id="sepgsql-installation">
+ <sect2 id="sepgsql-installation" xreflabel="Installation">
<title>Installation</title>
<para>
@@ -148,7 +148,7 @@ $ for DBNAME in template0 template1 postgres; do
</para>
</sect2>
- <sect2 id="sepgsql-regression">
+ <sect2 id="sepgsql-regression" xreflabel="Regression Tests">
<title>Regression Tests</title>
<para>
@@ -269,7 +269,7 @@ $ sudo semodule -r sepgsql-regtest
</screen>
</sect2>
- <sect2 id="sepgsql-parameters">
+ <sect2 id="sepgsql-parameters" xreflabel="GUC Parameters">
<title>GUC Parameters</title>
<variablelist>
@@ -328,9 +328,9 @@ $ sudo semodule -r sepgsql-regtest
</variablelist>
</sect2>
- <sect2 id="sepgsql-features">
+ <sect2 id="sepgsql-features" xreflabel="Features">
<title>Features</title>
- <sect3 id="sepgsql-features-controlled-obj-classes">
+ <sect3 id="sepgsql-features-controlled-obj-classes" xreflabel="Controlled Object Classes">
<title>Controlled Object Classes</title>
<para>
The security model of <productname>SELinux</productname> describes all the access
@@ -363,7 +363,7 @@ $ sudo semodule -r sepgsql-regtest
</para>
</sect3>
- <sect3 id="sepgsql-features-dml-permissions">
+ <sect3 id="sepgsql-features-dml-permissions" xreflabel="DML Permissions">
<title>DML Permissions</title>
<para>
@@ -447,7 +447,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
</para>
</sect3>
- <sect3 id="sepgsql-features-ddl-permissions">
+ <sect3 id="sepgsql-features-ddl-permissions" xreflabel="DDL Permissions">
<title>DDL Permissions</title>
<para>
<productname>SELinux</productname> defines several permissions to control common
@@ -538,7 +538,7 @@ UPDATE t1 SET x = 2, y = func1(y) WHERE z = 100;
</sect3>
- <sect3 id="sepgsql-features-trusted-procedures">
+ <sect3 id="sepgsql-features-trusted-procedures" xreflabel="Trusted Procedures">
<title>Trusted Procedures</title>
<para>
Trusted procedures are similar to security definer functions or setuid
@@ -594,7 +594,7 @@ postgres=# SELECT cid, cname, show_credit(cid) FROM customer;
</para>
</sect3>
- <sect3 id="sepgsql-features-dynamic-domain-transitions">
+ <sect3 id="sepgsql-features-dynamic-domain-transitions" xreflabel="Dynamic Domain Transitions">
<title>Dynamic Domain Transitions</title>
<para>
It is possible to use SELinux's dynamic domain transition feature
@@ -656,7 +656,7 @@ ERROR: SELinux: security policy violation
</para>
</sect3>
- <sect3 id="sepgsql-features-misc">
+ <sect3 id="sepgsql-features-misc" xreflabel="Miscellaneous">
<title>Miscellaneous</title>
<para>
We reject the <link linkend="sql-load"><command>LOAD</command></link> command across the board, because
@@ -666,7 +666,7 @@ ERROR: SELinux: security policy violation
</sect3>
</sect2>
- <sect2 id="sepgsql-functions">
+ <sect2 id="sepgsql-functions" xreflabel="Sepgsql Functions">
<title>Sepgsql Functions</title>
<para>
<xref linkend="sepgsql-functions-table"/> shows the available functions.
@@ -748,7 +748,7 @@ ERROR: SELinux: security policy violation
</table>
</sect2>
- <sect2 id="sepgsql-limitations">
+ <sect2 id="sepgsql-limitations" xreflabel="Limitations">
<title>Limitations</title>
<variablelist>
@@ -799,7 +799,7 @@ ERROR: SELinux: security policy violation
</variablelist>
</sect2>
- <sect2 id="sepgsql-resources">
+ <sect2 id="sepgsql-resources" xreflabel="External Resources">
<title>External Resources</title>
<variablelist>
<varlistentry>
@@ -834,7 +834,7 @@ ERROR: SELinux: security policy violation
</variablelist>
</sect2>
- <sect2 id="sepgsql-author">
+ <sect2 id="sepgsql-author" xreflabel="Author">
<title>Author</title>
<para>
KaiGai Kohei <email>kaigai@ak.jp.nec.com</email>
diff --git a/doc/src/sgml/sourcerepo.sgml b/doc/src/sgml/sourcerepo.sgml
index f4368e83ab3..413b2c08034 100644
--- a/doc/src/sgml/sourcerepo.sgml
+++ b/doc/src/sgml/sourcerepo.sgml
@@ -16,7 +16,7 @@
has some discussion on working with Git.
</para>
- <sect1 id="git">
+ <sect1 id="git" xreflabel="Getting the Source via Git">
<title>Getting the Source via <productname>Git</productname></title>
<para>
diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml
index 760f9b69d47..59f9783a14a 100644
--- a/doc/src/sgml/sources.sgml
+++ b/doc/src/sgml/sources.sgml
@@ -3,7 +3,7 @@
<chapter id="source">
<title>PostgreSQL Coding Conventions</title>
- <sect1 id="source-format">
+ <sect1 id="source-format" xreflabel="Formatting">
<title>Formatting</title>
<para>
@@ -86,7 +86,7 @@ less -x4
</para>
</sect1>
- <sect1 id="error-message-reporting">
+ <sect1 id="error-message-reporting" xreflabel="Reporting Errors Within the Server">
<title>Reporting Errors Within the Server</title>
<indexterm>
@@ -438,7 +438,7 @@ ereport(level, errmsg_internal("format string", ...));
</para>
</sect1>
- <sect1 id="error-style-guide">
+ <sect1 id="error-style-guide" xreflabel="Error Message Style Guide">
<title>Error Message Style Guide</title>
<para>
@@ -901,7 +901,7 @@ BETTER: unrecognized node type: 42
</sect1>
- <sect1 id="source-conventions">
+ <sect1 id="source-conventions" xreflabel="Miscellaneous Coding Conventions">
<title>Miscellaneous Coding Conventions</title>
<simplesect id="source-conventions-c-standard">
diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml
index 6af93719b84..a070b640417 100644
--- a/doc/src/sgml/spgist.sgml
+++ b/doc/src/sgml/spgist.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/spgist.sgml -->
-<sect1 id="spgist">
+<sect1 id="spgist" xreflabel="SP-GiST Indexes">
<title>SP-GiST Indexes</title>
<indexterm>
@@ -8,7 +8,7 @@
<secondary>SP-GiST</secondary>
</indexterm>
-<sect2 id="spgist-intro">
+<sect2 id="spgist-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -53,7 +53,7 @@
</sect2>
-<sect2 id="spgist-builtin-opclasses">
+<sect2 id="spgist-builtin-opclasses" xreflabel="Built-in Operator Classes">
<title>Built-in Operator Classes</title>
<para>
@@ -193,7 +193,7 @@
</sect2>
-<sect2 id="spgist-extensibility">
+<sect2 id="spgist-extensibility" xreflabel="Extensibility">
<title>Extensibility</title>
<para>
@@ -935,7 +935,7 @@ LANGUAGE C STRICT;
</sect2>
-<sect2 id="spgist-implementation">
+<sect2 id="spgist-implementation" xreflabel="Implementation">
<title>Implementation</title>
<para>
@@ -944,7 +944,7 @@ LANGUAGE C STRICT;
know.
</para>
- <sect3 id="spgist-limits">
+ <sect3 id="spgist-limits" xreflabel="SP-GiST Limits">
<title>SP-GiST Limits</title>
<para>
@@ -993,7 +993,7 @@ LANGUAGE C STRICT;
</para>
</sect3>
- <sect3 id="spgist-null-labels">
+ <sect3 id="spgist-null-labels" xreflabel="SP-GiST Without Node Labels">
<title>SP-GiST Without Node Labels</title>
<para>
@@ -1020,7 +1020,7 @@ LANGUAGE C STRICT;
</para>
</sect3>
- <sect3 id="spgist-all-the-same">
+ <sect3 id="spgist-all-the-same" xreflabel="All-the-Same Inner Tuples">
<title><quote>All-the-Same</quote> Inner Tuples</title>
<para>
@@ -1060,7 +1060,7 @@ LANGUAGE C STRICT;
</sect2>
-<sect2 id="spgist-examples">
+<sect2 id="spgist-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml
index e30d0962ae7..0bdb7f42500 100644
--- a/doc/src/sgml/spi.sgml
+++ b/doc/src/sgml/spi.sgml
@@ -51,7 +51,7 @@
</para>
-<sect1 id="spi-interface">
+<sect1 id="spi-interface" xreflabel="Interface Functions">
<title>Interface Functions</title>
<refentry id="spi-spi-connect">
@@ -3663,7 +3663,7 @@ int SPI_register_trigger_data(TriggerData *<parameter>tdata</parameter>)
</sect1>
-<sect1 id="spi-interface-support">
+<sect1 id="spi-interface-support" xreflabel="Interface Support Functions">
<title>Interface Support Functions</title>
<para>
@@ -4294,7 +4294,7 @@ const char * SPI_result_code_string(int <parameter>code</parameter>);
</sect1>
- <sect1 id="spi-memory">
+ <sect1 id="spi-memory" xreflabel="Memory Management">
<title>Memory Management</title>
<para>
@@ -5018,7 +5018,7 @@ int SPI_freeplan(SPIPlanPtr <parameter>plan</parameter>)
</sect1>
- <sect1 id="spi-transaction">
+ <sect1 id="spi-transaction" xreflabel="Transaction Management">
<title>Transaction Management</title>
<para>
@@ -5185,7 +5185,7 @@ void SPI_start_transaction(void)
</sect1>
- <sect1 id="spi-visibility">
+ <sect1 id="spi-visibility" xreflabel="Visibility of Data Changes">
<title>Visibility of Data Changes</title>
<para>
@@ -5245,7 +5245,7 @@ INSERT INTO a SELECT * FROM a;
</para>
</sect1>
- <sect1 id="spi-examples">
+ <sect1 id="spi-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
index 85d49f66537..55a62063536 100644
--- a/doc/src/sgml/sslinfo.sgml
+++ b/doc/src/sgml/sslinfo.sgml
@@ -25,7 +25,7 @@
configured with <literal>--with-ssl=openssl</literal>.
</para>
- <sect2 id="sslinfo-functions">
+ <sect2 id="sslinfo-functions" xreflabel="Functions Provided">
<title>Functions Provided</title>
<variablelist>
@@ -243,7 +243,7 @@ emailAddress
</variablelist>
</sect2>
- <sect2 id="sslinfo-author">
+ <sect2 id="sslinfo-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/start.sgml b/doc/src/sgml/start.sgml
index 0263a700591..c1acf79fdd4 100644
--- a/doc/src/sgml/start.sgml
+++ b/doc/src/sgml/start.sgml
@@ -3,7 +3,7 @@
<chapter id="tutorial-start">
<title>Getting Started</title>
- <sect1 id="tutorial-install">
+ <sect1 id="tutorial-install" xreflabel="Installation">
<title>Installation</title>
<para>
@@ -52,7 +52,7 @@
</sect1>
- <sect1 id="tutorial-arch">
+ <sect1 id="tutorial-arch" xreflabel="Architectural Fundamentals">
<title>Architectural Fundamentals</title>
<para>
@@ -121,7 +121,7 @@
</sect1>
- <sect1 id="tutorial-createdb">
+ <sect1 id="tutorial-createdb" xreflabel="Creating a Database">
<title>Creating a Database</title>
<indexterm zone="tutorial-createdb">
@@ -273,7 +273,7 @@ createdb: error: database creation failed: ERROR: permission denied to create d
</sect1>
- <sect1 id="tutorial-accessdb">
+ <sect1 id="tutorial-accessdb" xreflabel="Accessing a Database">
<title>Accessing a Database</title>
<indexterm zone="tutorial-accessdb">
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 02ddfda834a..2e91f070cbf 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -9,7 +9,7 @@ This chapter provides an overview of the physical storage format used by
<productname>PostgreSQL</productname> databases.
</para>
-<sect1 id="storage-file-layout">
+<sect1 id="storage-file-layout" xreflabel="Database File Layout">
<title>Database File Layout</title>
@@ -303,7 +303,7 @@ where <replaceable>PPP</replaceable> is the PID of the owning backend and
</sect1>
-<sect1 id="storage-toast">
+<sect1 id="storage-toast" xreflabel="TOAST">
<title>TOAST</title>
@@ -404,7 +404,7 @@ useful for avoiding copying and redundant processing of large data values.
Further details appear in <xref linkend="storage-toast-inmemory"/>.
</para>
-<sect2 id="storage-toast-ondisk">
+<sect2 id="storage-toast-ondisk" xreflabel="Out-of-Line, On-Disk TOAST Storage">
<title>Out-of-Line, On-Disk TOAST Storage</title>
<para>
@@ -519,7 +519,7 @@ comparison table, in which all the HTML pages were cut down to 7 kB to fit.
</sect2>
-<sect2 id="storage-toast-inmemory">
+<sect2 id="storage-toast-inmemory" xreflabel="Out-of-Line, In-Memory TOAST Storage">
<title>Out-of-Line, In-Memory TOAST Storage</title>
<para>
@@ -592,7 +592,7 @@ tuple would otherwise be too big.
</sect1>
-<sect1 id="storage-fsm">
+<sect1 id="storage-fsm" xreflabel="Free Space Map">
<title>Free Space Map</title>
@@ -635,7 +635,7 @@ can be used to examine the information stored in free space maps.
</sect1>
-<sect1 id="storage-vm">
+<sect1 id="storage-vm" xreflabel="Visibility Map">
<title>Visibility Map</title>
@@ -681,7 +681,7 @@ information stored in the visibility map.
</sect1>
-<sect1 id="storage-init">
+<sect1 id="storage-init" xreflabel="The Initialization Fork">
<title>The Initialization Fork</title>
@@ -699,7 +699,7 @@ erased (they will be recreated automatically as needed).
</sect1>
-<sect1 id="storage-page-layout">
+<sect1 id="storage-page-layout" xreflabel="Database Page Layout">
<title>Database Page Layout</title>
@@ -946,7 +946,7 @@ data. Empty in ordinary tables.</entry>
</mediaobject>
</figure>
- <sect2 id="storage-tuple-layout">
+ <sect2 id="storage-tuple-layout" xreflabel="Table Row Layout">
<title>Table Row Layout</title>
@@ -1077,7 +1077,7 @@ data. Empty in ordinary tables.</entry>
</sect2>
</sect1>
-<sect1 id="storage-hot">
+<sect1 id="storage-hot" xreflabel="Heap-Only Tuples (HOT)">
<title>Heap-Only Tuples (<acronym>HOT</acronym>)</title>
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index 34c83880a66..9b81ac38bb8 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -21,7 +21,7 @@
specific to <productname>PostgreSQL</productname>.
</para>
- <sect1 id="sql-syntax-lexical">
+ <sect1 id="sql-syntax-lexical" xreflabel="Lexical Structure">
<title>Lexical Structure</title>
<indexterm>
@@ -78,7 +78,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
precise syntax rules for each command are described in <xref linkend="reference"/>.
</para>
- <sect2 id="sql-syntax-identifiers">
+ <sect2 id="sql-syntax-identifiers" xreflabel="Identifiers and Key Words">
<title>Identifiers and Key Words</title>
<indexterm zone="sql-syntax-identifiers">
@@ -273,7 +273,7 @@ U&"d!0061t!+000061" UESCAPE '!'
</sect2>
- <sect2 id="sql-syntax-constants">
+ <sect2 id="sql-syntax-constants" xreflabel="Constants">
<title>Constants</title>
<indexterm zone="sql-syntax-constants">
@@ -290,7 +290,7 @@ U&"d!0061t!+000061" UESCAPE '!'
subsections.
</para>
- <sect3 id="sql-syntax-strings">
+ <sect3 id="sql-syntax-strings" xreflabel="String Constants">
<title>String Constants</title>
<indexterm zone="sql-syntax-strings">
@@ -336,7 +336,7 @@ SELECT 'foo' 'bar';
</para>
</sect3>
- <sect3 id="sql-syntax-strings-escape">
+ <sect3 id="sql-syntax-strings-escape" xreflabel="String Constants with C-Style Escapes">
<title>String Constants with C-Style Escapes</title>
<indexterm zone="sql-syntax-strings-escape">
@@ -467,7 +467,7 @@ SELECT 'foo' 'bar';
</para>
</sect3>
- <sect3 id="sql-syntax-strings-uescape">
+ <sect3 id="sql-syntax-strings-uescape" xreflabel="String Constants with Unicode Escapes">
<title>String Constants with Unicode Escapes</title>
<indexterm zone="sql-syntax-strings-uescape">
@@ -545,7 +545,7 @@ U&'d!0061t!+000061' UESCAPE '!'
</para>
</sect3>
- <sect3 id="sql-syntax-dollar-quoting">
+ <sect3 id="sql-syntax-dollar-quoting" xreflabel="Dollar-Quoted String Constants">
<title>Dollar-Quoted String Constants</title>
<indexterm>
@@ -625,7 +625,7 @@ $function$
</para>
</sect3>
- <sect3 id="sql-syntax-bit-strings">
+ <sect3 id="sql-syntax-bit-strings" xreflabel="Bit-String Constants">
<title>Bit-String Constants</title>
<indexterm zone="sql-syntax-bit-strings">
@@ -656,7 +656,7 @@ $function$
</para>
</sect3>
- <sect3 id="sql-syntax-constants-numeric">
+ <sect3 id="sql-syntax-constants-numeric" xreflabel="Numeric Constants">
<title>Numeric Constants</title>
<indexterm>
@@ -772,7 +772,7 @@ REAL '1.23' -- string style
</para>
</sect3>
- <sect3 id="sql-syntax-constants-generic">
+ <sect3 id="sql-syntax-constants-generic" xreflabel="Constants of Other Types">
<title>Constants of Other Types</title>
<indexterm>
@@ -836,7 +836,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</sect3>
</sect2>
- <sect2 id="sql-syntax-operators">
+ <sect2 id="sql-syntax-operators" xreflabel="Operators">
<title>Operators</title>
<indexterm zone="sql-syntax-operators">
@@ -888,7 +888,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-syntax-special-chars">
+ <sect2 id="sql-syntax-special-chars" xreflabel="Special Characters">
<title>Special Characters</title>
<para>
@@ -971,7 +971,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-syntax-comments">
+ <sect2 id="sql-syntax-comments" xreflabel="Comments">
<title>Comments</title>
<indexterm zone="sql-syntax-comments">
@@ -1007,7 +1007,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
</para>
</sect2>
- <sect2 id="sql-precedence">
+ <sect2 id="sql-precedence" xreflabel="Operator Precedence">
<title>Operator Precedence</title>
<indexterm zone="sql-precedence">
@@ -1183,7 +1183,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</sect2>
</sect1>
- <sect1 id="sql-expressions">
+ <sect1 id="sql-expressions" xreflabel="Value Expressions">
<title>Value Expressions</title>
<indexterm zone="sql-expressions">
@@ -1328,7 +1328,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
the remaining options.
</para>
- <sect2 id="sql-expressions-column-refs">
+ <sect2 id="sql-expressions-column-refs" xreflabel="Column References">
<title>Column References</title>
<indexterm>
@@ -1351,7 +1351,7 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
</para>
</sect2>
- <sect2 id="sql-expressions-parameters-positional">
+ <sect2 id="sql-expressions-parameters-positional" xreflabel="Positional Parameters">
<title>Positional Parameters</title>
<indexterm>
@@ -1391,7 +1391,7 @@ CREATE FUNCTION dept(text) RETURNS dept
</para>
</sect2>
- <sect2 id="sql-expressions-subscripts">
+ <sect2 id="sql-expressions-subscripts" xreflabel="Subscripts">
<title>Subscripts</title>
<indexterm>
@@ -1434,7 +1434,7 @@ $1[10:42]
</para>
</sect2>
- <sect2 id="field-selection">
+ <sect2 id="field-selection" xreflabel="Field Selection">
<title>Field Selection</title>
<indexterm>
@@ -1487,7 +1487,7 @@ $1.somecolumn
</para>
</sect2>
- <sect2 id="sql-expressions-operator-calls">
+ <sect2 id="sql-expressions-operator-calls" xreflabel="Operator Invocations">
<title>Operator Invocations</title>
<indexterm>
@@ -1515,7 +1515,7 @@ $1.somecolumn
</para>
</sect2>
- <sect2 id="sql-expressions-function-calls">
+ <sect2 id="sql-expressions-function-calls" xreflabel="Function Calls">
<title>Function Calls</title>
<indexterm>
@@ -1570,7 +1570,7 @@ sqrt(2)
</note>
</sect2>
- <sect2 id="syntax-aggregates">
+ <sect2 id="syntax-aggregates" xreflabel="Aggregate Expressions">
<title>Aggregate Expressions</title>
<indexterm zone="syntax-aggregates">
@@ -1810,7 +1810,7 @@ FROM generate_series(1,10) AS s(i);
</para>
</sect2>
- <sect2 id="syntax-window-functions">
+ <sect2 id="syntax-window-functions" xreflabel="Window Function Calls">
<title>Window Function Calls</title>
<indexterm zone="syntax-window-functions">
@@ -2079,7 +2079,7 @@ EXCLUDE NO OTHERS
</para>
</sect2>
- <sect2 id="sql-syntax-type-casts">
+ <sect2 id="sql-syntax-type-casts" xreflabel="Type Casts">
<title>Type Casts</title>
<indexterm>
@@ -2162,7 +2162,7 @@ CAST ( <replaceable>expression</replaceable> AS <replaceable>type</replaceable>
</note>
</sect2>
- <sect2 id="sql-syntax-collate-exprs">
+ <sect2 id="sql-syntax-collate-exprs" xreflabel="Collation Expressions">
<title>Collation Expressions</title>
<indexterm>
@@ -2223,7 +2223,7 @@ SELECT * FROM tbl WHERE (a > 'foo') COLLATE "C";
</para>
</sect2>
- <sect2 id="sql-syntax-scalar-subqueries">
+ <sect2 id="sql-syntax-scalar-subqueries" xreflabel="Scalar Subqueries">
<title>Scalar Subqueries</title>
<indexterm>
@@ -2255,7 +2255,7 @@ SELECT name, (SELECT max(pop) FROM cities WHERE cities.state = states.name)
</para>
</sect2>
- <sect2 id="sql-syntax-array-constructors">
+ <sect2 id="sql-syntax-array-constructors" xreflabel="Array Constructors">
<title>Array Constructors</title>
<indexterm>
@@ -2393,7 +2393,7 @@ SELECT ARRAY(SELECT ARRAY[i, i*2] FROM generate_series(1,5) AS a(i));
</sect2>
- <sect2 id="sql-syntax-row-constructors">
+ <sect2 id="sql-syntax-row-constructors" xreflabel="Row Constructors">
<title>Row Constructors</title>
<indexterm>
@@ -2503,7 +2503,7 @@ SELECT getf1(CAST(ROW(11,'this is a test',2.5) AS myrowtype));
</sect2>
- <sect2 id="syntax-express-eval">
+ <sect2 id="syntax-express-eval" xreflabel="Expression Evaluation Rules">
<title>Expression Evaluation Rules</title>
<indexterm>
@@ -2613,7 +2613,7 @@ SELECT CASE WHEN min(employees) > 0
</sect2>
</sect1>
- <sect1 id="sql-syntax-calling-funcs">
+ <sect1 id="sql-syntax-calling-funcs" xreflabel="Calling Functions">
<title>Calling Functions</title>
<indexterm zone="sql-syntax-calling-funcs">
@@ -2677,7 +2677,7 @@ LANGUAGE SQL IMMUTABLE STRICT;
more information).
</para>
- <sect2 id="sql-syntax-calling-funcs-positional">
+ <sect2 id="sql-syntax-calling-funcs-positional" xreflabel="Using Positional Notation">
<title>Using Positional Notation</title>
<indexterm>
@@ -2712,7 +2712,7 @@ SELECT concat_lower_or_upper('Hello', 'World');
</para>
</sect2>
- <sect2 id="sql-syntax-calling-funcs-named">
+ <sect2 id="sql-syntax-calling-funcs-named" xreflabel="Using Named Notation">
<title>Using Named Notation</title>
<indexterm>
@@ -2762,7 +2762,7 @@ SELECT concat_lower_or_upper(a := 'Hello', uppercase := true, b := 'World');
</para>
</sect2>
- <sect2 id="sql-syntax-calling-funcs-mixed">
+ <sect2 id="sql-syntax-calling-funcs-mixed" xreflabel="Using Mixed Notation">
<title>Using Mixed Notation</title>
<indexterm>
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index 162c76b729a..080a04b753c 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -30,7 +30,7 @@
<xref linkend="monitoring-stats-views-table"/>.
</para>
- <sect1 id="views-overview">
+ <sect1 id="views-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -251,7 +251,7 @@
</table>
</sect1>
- <sect1 id="view-pg-aios">
+ <sect1 id="view-pg-aios" xreflabel="pg_aios">
<title><structname>pg_aios</structname></title>
<indexterm zone="view-pg-aios">
@@ -540,7 +540,7 @@
</para>
</sect1>
- <sect1 id="view-pg-available-extensions">
+ <sect1 id="view-pg-available-extensions" xreflabel="pg_available_extensions">
<title><structname>pg_available_extensions</structname></title>
<indexterm zone="view-pg-available-extensions">
@@ -616,7 +616,7 @@
</para>
</sect1>
- <sect1 id="view-pg-available-extension-versions">
+ <sect1 id="view-pg-available-extension-versions" xreflabel="pg_available_extension_versions">
<title><structname>pg_available_extension_versions</structname></title>
<indexterm zone="view-pg-available-extension-versions">
@@ -741,7 +741,7 @@
</para>
</sect1>
- <sect1 id="view-pg-backend-memory-contexts">
+ <sect1 id="view-pg-backend-memory-contexts" xreflabel="pg_backend_memory_contexts">
<title><structname>pg_backend_memory_contexts</structname></title>
<indexterm zone="view-pg-backend-memory-contexts">
@@ -901,7 +901,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-config">
+ <sect1 id="view-pg-config" xreflabel="pg_config">
<title><structname>pg_config</structname></title>
<indexterm zone="view-pg-config">
@@ -962,7 +962,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-cursors">
+ <sect1 id="view-pg-cursors" xreflabel="pg_cursors">
<title><structname>pg_cursors</structname></title>
<indexterm zone="view-pg-cursors">
@@ -1096,7 +1096,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-dsm-registry-allocations">
+ <sect1 id="view-pg-dsm-registry-allocations" xreflabel="pg_dsm_registry_allocations">
<title><structname>pg_dsm_registry_allocations</structname></title>
<indexterm zone="view-pg-dsm-registry-allocations">
@@ -1165,7 +1165,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-file-settings">
+ <sect1 id="view-pg-file-settings" xreflabel="pg_file_settings">
<title><structname>pg_file_settings</structname></title>
<indexterm zone="view-pg-file-settings">
@@ -1300,7 +1300,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-group">
+ <sect1 id="view-pg-group" xreflabel="pg_group">
<title><structname>pg_group</structname></title>
<indexterm zone="view-pg-group">
@@ -1369,7 +1369,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-hba-file-rules">
+ <sect1 id="view-pg-hba-file-rules" xreflabel="pg_hba_file_rules">
<title><structname>pg_hba_file_rules</structname></title>
<indexterm zone="view-pg-hba-file-rules">
@@ -1530,7 +1530,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-ident-file-mappings">
+ <sect1 id="view-pg-ident-file-mappings" xreflabel="pg_ident_file_mappings">
<title><structname>pg_ident_file_mappings</structname></title>
<indexterm zone="view-pg-ident-file-mappings">
@@ -1651,7 +1651,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</para>
</sect1>
- <sect1 id="view-pg-indexes">
+ <sect1 id="view-pg-indexes" xreflabel="pg_indexes">
<title><structname>pg_indexes</structname></title>
<indexterm zone="view-pg-indexes">
@@ -1733,7 +1733,7 @@ AND c1.path[c2.level] = c2.path[c2.level];
</sect1>
- <sect1 id="view-pg-locks">
+ <sect1 id="view-pg-locks" xreflabel="pg_locks">
<title><structname>pg_locks</structname></title>
<indexterm zone="view-pg-locks">
@@ -2114,7 +2114,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-matviews">
+ <sect1 id="view-pg-matviews" xreflabel="pg_matviews">
<title><structname>pg_matviews</structname></title>
<indexterm zone="view-pg-matviews">
@@ -2217,7 +2217,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-policies">
+ <sect1 id="view-pg-policies" xreflabel="pg_policies">
<title><structname>pg_policies</structname></title>
<indexterm zone="view-pg-policies">
@@ -2326,7 +2326,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-prepared-statements">
+ <sect1 id="view-pg-prepared-statements" xreflabel="pg_prepared_statements">
<title><structname>pg_prepared_statements</structname></title>
<indexterm zone="view-pg-prepared-statements">
@@ -2458,7 +2458,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-prepared-xacts">
+ <sect1 id="view-pg-prepared-xacts" xreflabel="pg_prepared_xacts">
<title><structname>pg_prepared_xacts</structname></title>
<indexterm zone="view-pg-prepared-xacts">
@@ -2554,7 +2554,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-publication-sequences">
+ <sect1 id="view-pg-publication-sequences" xreflabel="pg_publication_sequences">
<title><structname>pg_publication_sequences</structname></title>
<indexterm zone="view-pg-publication-sequences">
@@ -2615,7 +2615,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-publication-tables">
+ <sect1 id="view-pg-publication-tables" xreflabel="pg_publication_tables">
<title><structname>pg_publication_tables</structname></title>
<indexterm zone="view-pg-publication-tables">
@@ -2703,7 +2703,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-replication-origin-status">
+ <sect1 id="view-pg-replication-origin-status" xreflabel="pg_replication_origin_status">
<title><structname>pg_replication_origin_status</structname></title>
<indexterm zone="view-pg-replication-origin-status">
@@ -2776,7 +2776,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-replication-slots">
+ <sect1 id="view-pg-replication-slots" xreflabel="pg_replication_slots">
<title><structname>pg_replication_slots</structname></title>
<indexterm zone="view-pg-replication-slots">
@@ -3150,7 +3150,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-roles">
+ <sect1 id="view-pg-roles" xreflabel="pg_roles">
<title><structname>pg_roles</structname></title>
<indexterm zone="view-pg-roles">
@@ -3309,7 +3309,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-rules">
+ <sect1 id="view-pg-rules" xreflabel="pg_rules">
<title><structname>pg_rules</structname></title>
<indexterm zone="view-pg-rules">
@@ -3386,7 +3386,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-seclabels">
+ <sect1 id="view-pg-seclabels" xreflabel="pg_seclabels">
<title><structname>pg_seclabels</structname></title>
<indexterm zone="view-pg-seclabels">
@@ -3499,7 +3499,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</table>
</sect1>
- <sect1 id="view-pg-sequences">
+ <sect1 id="view-pg-sequences" xreflabel="pg_sequences">
<title><structname>pg_sequences</structname></title>
<indexterm zone="view-pg-sequences">
@@ -3659,7 +3659,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-settings">
+ <sect1 id="view-pg-settings" xreflabel="pg_settings">
<title><structname>pg_settings</structname></title>
<indexterm zone="view-pg-settings">
@@ -4010,7 +4010,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-shadow">
+ <sect1 id="view-pg-shadow" xreflabel="pg_shadow">
<title><structname>pg_shadow</structname></title>
<indexterm zone="view-pg-shadow">
@@ -4141,7 +4141,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-shmem-allocations">
+ <sect1 id="view-pg-shmem-allocations" xreflabel="pg_shmem_allocations">
<title><structname>pg_shmem_allocations</structname></title>
<indexterm zone="view-pg-shmem-allocations">
@@ -4236,7 +4236,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-shmem-allocations-numa">
+ <sect1 id="view-pg-shmem-allocations-numa" xreflabel="pg_shmem_allocations_numa">
<title><structname>pg_shmem_allocations_numa</structname></title>
<indexterm zone="view-pg-shmem-allocations-numa">
@@ -4326,7 +4326,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</para>
</sect1>
- <sect1 id="view-pg-stats">
+ <sect1 id="view-pg-stats" xreflabel="pg_stats">
<title><structname>pg_stats</structname></title>
<indexterm zone="view-pg-stats">
@@ -4576,7 +4576,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-stats-ext">
+ <sect1 id="view-pg-stats-ext" xreflabel="pg_stats_ext">
<title><structname>pg_stats_ext</structname></title>
<indexterm zone="view-pg-stats-ext">
@@ -4787,7 +4787,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-stats-ext-exprs">
+ <sect1 id="view-pg-stats-ext-exprs" xreflabel="pg_stats_ext_exprs">
<title><structname>pg_stats_ext_exprs</structname></title>
<indexterm zone="view-pg-stats-ext-exprs">
@@ -5029,7 +5029,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-tables">
+ <sect1 id="view-pg-tables" xreflabel="pg_tables">
<title><structname>pg_tables</structname></title>
<indexterm zone="view-pg-tables">
@@ -5141,7 +5141,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-timezone-abbrevs">
+ <sect1 id="view-pg-timezone-abbrevs" xreflabel="pg_timezone_abbrevs">
<title><structname>pg_timezone_abbrevs</structname></title>
<indexterm zone="view-pg-timezone-abbrevs">
@@ -5211,7 +5211,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-timezone-names">
+ <sect1 id="view-pg-timezone-names" xreflabel="pg_timezone_names">
<title><structname>pg_timezone_names</structname></title>
<indexterm zone="view-pg-timezone-names">
@@ -5288,7 +5288,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-user">
+ <sect1 id="view-pg-user" xreflabel="pg_user">
<title><structname>pg_user</structname></title>
<indexterm zone="view-pg-user">
@@ -5406,7 +5406,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-user-mappings">
+ <sect1 id="view-pg-user-mappings" xreflabel="pg_user_mappings">
<title><structname>pg_user_mappings</structname></title>
<indexterm zone="view-pg-user-mappings">
@@ -5525,7 +5525,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-views">
+ <sect1 id="view-pg-views" xreflabel="pg_views">
<title><structname>pg_views</structname></title>
<indexterm zone="view-pg-views">
@@ -5596,7 +5596,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</sect1>
- <sect1 id="view-pg-wait-events">
+ <sect1 id="view-pg-wait-events" xreflabel="pg_wait_events">
<title><structname>pg_wait_events</structname></title>
<indexterm zone="view-pg-wait-events">
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index 69cafa00ad6..0131b355ac8 100644
--- a/doc/src/sgml/tablefunc.sgml
+++ b/doc/src/sgml/tablefunc.sgml
@@ -20,7 +20,7 @@
on the current database.
</para>
- <sect2 id="tablefunc-functions-sect">
+ <sect2 id="tablefunc-functions-sect" xreflabel="Functions Provided">
<title>Functions Provided</title>
<para>
@@ -119,7 +119,7 @@
</tgroup>
</table>
- <sect3 id="tablefunc-functions-normal-rand">
+ <sect3 id="tablefunc-functions-normal-rand" xreflabel="normal_rand">
<title><function>normal_rand</function></title>
<indexterm>
@@ -166,7 +166,7 @@ test=# SELECT * FROM normal_rand(1000, 5, 3);
</screen>
</sect3>
- <sect3 id="tablefunc-functions-crosstab-text">
+ <sect3 id="tablefunc-functions-crosstab-text" xreflabel="crosstab(text)">
<title><function>crosstab(text)</function></title>
<indexterm>
@@ -325,7 +325,7 @@ AS ct(row_name text, category_1 text, category_2 text, category_3 text);
</sect3>
- <sect3 id="tablefunc-functions-crosstab-n-text">
+ <sect3 id="tablefunc-functions-crosstab-n-text" xreflabel="crosstab N (text)">
<title><function>crosstab<replaceable>N</replaceable>(text)</function></title>
<indexterm>
@@ -436,7 +436,7 @@ CREATE OR REPLACE FUNCTION crosstab_float8_5_cols(
</sect3>
- <sect3 id="tablefunc-functions-crosstab-text-2">
+ <sect3 id="tablefunc-functions-crosstab-text-2" xreflabel="crosstab(text, text)">
<title><function>crosstab(text, text)</function></title>
<indexterm>
@@ -646,7 +646,7 @@ AS
</sect3>
- <sect3 id="tablefunc-functions-connectby">
+ <sect3 id="tablefunc-functions-connectby" xreflabel="connectby">
<title><function>connectby</function></title>
<indexterm>
@@ -853,7 +853,7 @@ SELECT * FROM connectby('connectby_tree', 'keyid', 'parent_keyid', 'pos', 'row2'
</sect2>
- <sect2 id="tablefunc-author">
+ <sect2 id="tablefunc-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/tablesample-method.sgml b/doc/src/sgml/tablesample-method.sgml
index c821941b71b..f59d7a21129 100644
--- a/doc/src/sgml/tablesample-method.sgml
+++ b/doc/src/sgml/tablesample-method.sgml
@@ -99,7 +99,7 @@ method_name(internal) RETURNS tsm_handler
subdirectory for add-on methods.
</para>
- <sect1 id="tablesample-support-functions">
+ <sect1 id="tablesample-support-functions" xreflabel="Sampling Method Support Functions">
<title>Sampling Method Support Functions</title>
<para>
diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml
index d20484cb232..5674d86e7f2 100644
--- a/doc/src/sgml/textsearch.sgml
+++ b/doc/src/sgml/textsearch.sgml
@@ -11,7 +11,7 @@
<primary>text search</primary>
</indexterm>
- <sect1 id="textsearch-intro">
+ <sect1 id="textsearch-intro" xreflabel="Introduction">
<title>Introduction</title>
<para>
@@ -169,7 +169,7 @@
</para>
- <sect2 id="textsearch-document">
+ <sect2 id="textsearch-document" xreflabel="What Is a Document?">
<title>What Is a Document?</title>
<indexterm zone="textsearch-document">
@@ -236,7 +236,7 @@ WHERE m.mid = d.did AND m.mid = 12;
</para>
</sect2>
- <sect2 id="textsearch-matching">
+ <sect2 id="textsearch-matching" xreflabel="Basic Text Matching">
<title>Basic Text Matching</title>
<para>
@@ -403,7 +403,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
</para>
</sect2>
- <sect2 id="textsearch-intro-configurations">
+ <sect2 id="textsearch-intro-configurations" xreflabel="Configurations">
<title>Configurations</title>
<para>
@@ -490,7 +490,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
</sect1>
- <sect1 id="textsearch-tables">
+ <sect1 id="textsearch-tables" xreflabel="Tables and Indexes">
<title>Tables and Indexes</title>
<para>
@@ -499,7 +499,7 @@ SELECT phraseto_tsquery('the cats ate the rats');
optionally using indexes.
</para>
- <sect2 id="textsearch-tables-search">
+ <sect2 id="textsearch-tables-search" xreflabel="Searching a Table">
<title>Searching a Table</title>
<para>
@@ -560,7 +560,7 @@ LIMIT 10;
</sect2>
- <sect2 id="textsearch-tables-index">
+ <sect2 id="textsearch-tables-index" xreflabel="Creating Indexes">
<title>Creating Indexes</title>
<para>
@@ -668,7 +668,7 @@ LIMIT 10;
</sect1>
- <sect1 id="textsearch-controls">
+ <sect1 id="textsearch-controls" xreflabel="Controlling Text Search">
<title>Controlling Text Search</title>
<para>
@@ -681,7 +681,7 @@ LIMIT 10;
functions.
</para>
- <sect2 id="textsearch-parsing-documents">
+ <sect2 id="textsearch-parsing-documents" xreflabel="Parsing Documents">
<title>Parsing Documents</title>
<para>
@@ -785,7 +785,7 @@ UPDATE tt SET ti =
</sect2>
- <sect2 id="textsearch-parsing-queries">
+ <sect2 id="textsearch-parsing-queries" xreflabel="Parsing Queries">
<title>Parsing Queries</title>
<para>
@@ -1046,7 +1046,7 @@ SELECT websearch_to_tsquery('english', '""" )( dummy \\ query <->');
</para>
</sect2>
- <sect2 id="textsearch-ranking">
+ <sect2 id="textsearch-ranking" xreflabel="Ranking Search Results">
<title>Ranking Search Results</title>
<para>
@@ -1265,7 +1265,7 @@ LIMIT 10;
</sect2>
- <sect2 id="textsearch-headline">
+ <sect2 id="textsearch-headline" xreflabel="Highlighting Results">
<title>Highlighting Results</title>
<para>
@@ -1432,7 +1432,7 @@ occurrences to display in the result.',
</sect1>
- <sect1 id="textsearch-features">
+ <sect1 id="textsearch-features" xreflabel="Additional Features">
<title>Additional Features</title>
<para>
@@ -1440,7 +1440,7 @@ occurrences to display in the result.',
useful in connection with text search.
</para>
- <sect2 id="textsearch-manipulate-tsvector">
+ <sect2 id="textsearch-manipulate-tsvector" xreflabel="Manipulating Documents">
<title>Manipulating Documents</title>
<para>
@@ -1571,7 +1571,7 @@ occurrences to display in the result.',
</sect2>
- <sect2 id="textsearch-manipulate-tsquery">
+ <sect2 id="textsearch-manipulate-tsquery" xreflabel="Manipulating Queries">
<title>Manipulating Queries</title>
<para>
@@ -1747,7 +1747,7 @@ SELECT querytree(to_tsquery('!defined'));
</variablelist>
- <sect3 id="textsearch-query-rewriting">
+ <sect3 id="textsearch-query-rewriting" xreflabel="Query Rewriting">
<title>Query Rewriting</title>
<indexterm zone="textsearch-query-rewriting">
@@ -1884,7 +1884,7 @@ SELECT ts_rewrite('a & b'::tsquery,
</sect2>
- <sect2 id="textsearch-update-triggers">
+ <sect2 id="textsearch-update-triggers" xreflabel="Triggers for Automatic Updates">
<title>Triggers for Automatic Updates</title>
<indexterm>
@@ -1997,7 +1997,7 @@ CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
</sect2>
- <sect2 id="textsearch-statistics">
+ <sect2 id="textsearch-statistics" xreflabel="Gathering Document Statistics">
<title>Gathering Document Statistics</title>
<indexterm>
@@ -2069,7 +2069,7 @@ LIMIT 10;
</sect1>
- <sect1 id="textsearch-parsers">
+ <sect1 id="textsearch-parsers" xreflabel="Parsers">
<title>Parsers</title>
<para>
@@ -2288,7 +2288,7 @@ SELECT alias, description, token FROM ts_debug('http://example.com/stuff/index.h
</sect1>
- <sect1 id="textsearch-dictionaries">
+ <sect1 id="textsearch-dictionaries" xreflabel="Dictionaries">
<title>Dictionaries</title>
<para>
@@ -2437,7 +2437,7 @@ ALTER TEXT SEARCH CONFIGURATION astro_en
letters, as is done by the <xref linkend="unaccent"/> module.
</para>
- <sect2 id="textsearch-stopwords">
+ <sect2 id="textsearch-stopwords" xreflabel="Stop Words">
<title>Stop Words</title>
<para>
@@ -2482,7 +2482,7 @@ SELECT ts_rank_cd (to_tsvector('english', 'list stop words'), to_tsquery('list &
</sect2>
- <sect2 id="textsearch-simple-dictionary">
+ <sect2 id="textsearch-simple-dictionary" xreflabel="Simple Dictionary">
<title>Simple Dictionary</title>
<para>
@@ -2586,7 +2586,7 @@ SELECT ts_lexize('public.simple_dict', 'The');
</sect2>
- <sect2 id="textsearch-synonym-dictionary">
+ <sect2 id="textsearch-synonym-dictionary" xreflabel="Synonym Dictionary">
<title>Synonym Dictionary</title>
<para>
@@ -2698,7 +2698,7 @@ mydb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst', 'indices'
</para>
</sect2>
- <sect2 id="textsearch-thesaurus">
+ <sect2 id="textsearch-thesaurus" xreflabel="Thesaurus Dictionary">
<title>Thesaurus Dictionary</title>
<para>
@@ -2780,7 +2780,7 @@ more sample word(s) : more indexed word(s)
</para>
</caution>
- <sect3 id="textsearch-thesaurus-config">
+ <sect3 id="textsearch-thesaurus-config" xreflabel="Thesaurus Configuration">
<title>Thesaurus Configuration</title>
<para>
@@ -2833,7 +2833,7 @@ ALTER TEXT SEARCH CONFIGURATION russian
</sect3>
- <sect3 id="textsearch-thesaurus-examples">
+ <sect3 id="textsearch-thesaurus-examples" xreflabel="Thesaurus Example">
<title>Thesaurus Example</title>
<para>
@@ -2912,7 +2912,7 @@ SELECT plainto_tsquery('supernova star');
</sect2>
- <sect2 id="textsearch-ispell-dictionary">
+ <sect2 id="textsearch-ispell-dictionary" xreflabel="Ispell Dictionary">
<title><application>Ispell</application> Dictionary</title>
<para>
@@ -3130,7 +3130,7 @@ largehearted
</sect2>
- <sect2 id="textsearch-snowball-dictionary">
+ <sect2 id="textsearch-snowball-dictionary" xreflabel="Snowball Dictionary">
<title><application>Snowball</application> Dictionary</title>
<para>
@@ -3170,7 +3170,7 @@ CREATE TEXT SEARCH DICTIONARY english_stem (
</sect1>
- <sect1 id="textsearch-configuration">
+ <sect1 id="textsearch-configuration" xreflabel="Configuration Example">
<title>Configuration Example</title>
<para>
@@ -3293,7 +3293,7 @@ SHOW default_text_search_config;
</sect1>
- <sect1 id="textsearch-debugging">
+ <sect1 id="textsearch-debugging" xreflabel="Testing and Debugging Text Search">
<title>Testing and Debugging Text Search</title>
<para>
@@ -3303,7 +3303,7 @@ SHOW default_text_search_config;
test a complete configuration, or test parsers and dictionaries separately.
</para>
- <sect2 id="textsearch-configuration-testing">
+ <sect2 id="textsearch-configuration-testing" xreflabel="Configuration Testing">
<title>Configuration Testing</title>
<para>
@@ -3487,7 +3487,7 @@ FROM ts_debug('public.english', 'The Brightest supernovaes');
</sect2>
- <sect2 id="textsearch-parser-testing">
+ <sect2 id="textsearch-parser-testing" xreflabel="Parser Testing">
<title>Parser Testing</title>
<para>
@@ -3576,7 +3576,7 @@ SELECT * FROM ts_token_type('default');
</sect2>
- <sect2 id="textsearch-dictionary-testing">
+ <sect2 id="textsearch-dictionary-testing" xreflabel="Dictionary Testing">
<title>Dictionary Testing</title>
<para>
@@ -3647,7 +3647,7 @@ SELECT plainto_tsquery('supernovae stars');
</sect1>
- <sect1 id="textsearch-indexes">
+ <sect1 id="textsearch-indexes" xreflabel="Preferred Index Types for Text Search">
<title>Preferred Index Types for Text Search</title>
<indexterm zone="textsearch-indexes">
@@ -3780,7 +3780,7 @@ SELECT plainto_tsquery('supernovae stars');
</sect1>
- <sect1 id="textsearch-psql">
+ <sect1 id="textsearch-psql" xreflabel="psql Support">
<title><application>psql</application> Support</title>
<para>
@@ -3983,7 +3983,7 @@ Parser: "pg_catalog.default"
</sect1>
- <sect1 id="textsearch-limitations">
+ <sect1 id="textsearch-limitations" xreflabel="Limitations">
<title>Limitations</title>
<para>
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index 0062f1a3fd1..140cb334884 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -27,7 +27,7 @@
plain SQL function language.
</para>
- <sect1 id="trigger-definition">
+ <sect1 id="trigger-definition" xreflabel="Overview of Trigger Behavior">
<title>Overview of Trigger Behavior</title>
<para>
@@ -422,7 +422,7 @@
</sect1>
- <sect1 id="trigger-datachanges">
+ <sect1 id="trigger-datachanges" xreflabel="Visibility of Data Changes">
<title>Visibility of Data Changes</title>
<para>
@@ -498,7 +498,7 @@
</para>
</sect1>
- <sect1 id="trigger-interface">
+ <sect1 id="trigger-interface" xreflabel="Writing Trigger Functions in C">
<title>Writing Trigger Functions in C</title>
<indexterm zone="trigger-interface">
@@ -850,7 +850,7 @@ typedef struct Trigger
</para>
</sect1>
- <sect1 id="trigger-example">
+ <sect1 id="trigger-example" xreflabel="A Complete Trigger Example">
<title>A Complete Trigger Example</title>
<para>
diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml
index e3fb4d15dd5..daff9cd2f4a 100644
--- a/doc/src/sgml/tsm-system-rows.sgml
+++ b/doc/src/sgml/tsm-system-rows.sgml
@@ -40,7 +40,7 @@
on the current database.
</para>
- <sect2 id="tsm-system-rows-examples">
+ <sect2 id="tsm-system-rows-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml
index 05c6be0caca..3dfa3e2001f 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -42,7 +42,7 @@
on the current database.
</para>
- <sect2 id="tsm-system-time-examples">
+ <sect2 id="tsm-system-time-examples" xreflabel="Examples">
<title>Examples</title>
<para>
diff --git a/doc/src/sgml/typeconv.sgml b/doc/src/sgml/typeconv.sgml
index 96aa02e4fab..94b8857e5db 100644
--- a/doc/src/sgml/typeconv.sgml
+++ b/doc/src/sgml/typeconv.sgml
@@ -31,7 +31,7 @@ for more information on specific data types and allowed functions and
operators.
</para>
-<sect1 id="typeconv-overview">
+<sect1 id="typeconv-overview" xreflabel="Overview">
<title>Overview</title>
<para>
@@ -201,7 +201,7 @@ should use this new function and no longer do implicit conversion to use the old
</sect1>
-<sect1 id="typeconv-oper">
+<sect1 id="typeconv-oper" xreflabel="Operators">
<title>Operators</title>
<indexterm zone="typeconv-oper">
@@ -555,7 +555,7 @@ usable in all the same cases as a similarly-named operator on the base type.
</sect1>
-<sect1 id="typeconv-func">
+<sect1 id="typeconv-func" xreflabel="Functions">
<title>Functions</title>
<indexterm zone="typeconv-func">
@@ -920,7 +920,7 @@ SELECT substr(CAST (1234 AS text), 3);
</sect1>
-<sect1 id="typeconv-query">
+<sect1 id="typeconv-query" xreflabel="Value Storage">
<title>Value Storage</title>
<para>
@@ -1004,7 +1004,7 @@ padding spaces.
</example>
</sect1>
-<sect1 id="typeconv-union-case">
+<sect1 id="typeconv-union-case" xreflabel="UNION, CASE, and Related Constructs">
<title><literal>UNION</literal>, <literal>CASE</literal>, and Related Constructs</title>
<indexterm zone="typeconv-union-case">
@@ -1212,7 +1212,7 @@ section consider all of their inputs in one resolution step.
</example>
</sect1>
-<sect1 id="typeconv-select">
+<sect1 id="typeconv-select" xreflabel="SELECT Output Columns">
<title><literal>SELECT</literal> Output Columns</title>
<indexterm zone="typeconv-select">
diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml
index 744821ca997..ea275a98677 100644
--- a/doc/src/sgml/unaccent.sgml
+++ b/doc/src/sgml/unaccent.sgml
@@ -27,7 +27,7 @@
on the current database.
</para>
- <sect2 id="unaccent-configuration">
+ <sect2 id="unaccent-configuration" xreflabel="Configuration">
<title>Configuration</title>
<para>
@@ -123,7 +123,7 @@
</para>
</sect2>
- <sect2 id="unaccent-usage">
+ <sect2 id="unaccent-usage" xreflabel="Usage">
<title>Usage</title>
<para>
@@ -181,7 +181,7 @@ mydb=# SELECT ts_headline('fr', 'Hôtel de la Mer', to_tsquery('fr', 'Hotel
</para>
</sect2>
- <sect2 id="unaccent-functions">
+ <sect2 id="unaccent-functions" xreflabel="Functions">
<title>Functions</title>
<para>
diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml
index ed18704a9c2..b50b89bbf8e 100644
--- a/doc/src/sgml/user-manag.sgml
+++ b/doc/src/sgml/user-manag.sgml
@@ -27,7 +27,7 @@
database objects can be found in <xref linkend="ddl-priv"/>.
</para>
- <sect1 id="database-roles">
+ <sect1 id="database-roles" xreflabel="Database Roles">
<title>Database Roles</title>
<indexterm zone="database-roles">
@@ -140,7 +140,7 @@ SELECT rolname FROM pg_roles WHERE rolcanlogin;
</para>
</sect1>
- <sect1 id="role-attributes">
+ <sect1 id="role-attributes" xreflabel="Role Attributes">
<title>Role Attributes</title>
<para>
@@ -359,7 +359,7 @@ ALTER ROLE myname SET enable_indexscan TO off;
</para>
</sect1>
- <sect1 id="role-membership">
+ <sect1 id="role-membership" xreflabel="Role Membership">
<title>Role Membership</title>
<indexterm zone="role-membership">
@@ -506,7 +506,7 @@ DROP ROLE <replaceable>name</replaceable>;
</para>
</sect1>
- <sect1 id="role-removal">
+ <sect1 id="role-removal" xreflabel="Dropping Roles">
<title>Dropping Roles</title>
<para>
@@ -577,7 +577,7 @@ DROP ROLE doomed_role;
</para>
</sect1>
- <sect1 id="predefined-roles">
+ <sect1 id="predefined-roles" xreflabel="Predefined Roles">
<title>Predefined Roles</title>
<indexterm zone="predefined-roles">
@@ -800,7 +800,7 @@ GRANT pg_signal_backend TO admin_user;
</sect1>
- <sect1 id="perm-functions">
+ <sect1 id="perm-functions" xreflabel="Function Security">
<title>Function Security</title>
<para>
diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml
index acd20a51f01..3026b4b6684 100644
--- a/doc/src/sgml/uuid-ossp.sgml
+++ b/doc/src/sgml/uuid-ossp.sgml
@@ -22,7 +22,7 @@
on the current database.
</para>
- <sect2 id="uuid-ossp-functions-sect">
+ <sect2 id="uuid-ossp-functions-sect" xreflabel="uuid-ossp Functions">
<title><literal>uuid-ossp</literal> Functions</title>
<para>
@@ -205,7 +205,7 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');
</table>
</sect2>
- <sect2 id="uuid-ossp-building">
+ <sect2 id="uuid-ossp-building" xreflabel="Building uuid-ossp">
<title>Building <filename>uuid-ossp</filename></title>
<para>
@@ -230,7 +230,7 @@ SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');
</para>
</sect2>
- <sect2 id="uuid-ossp-author">
+ <sect2 id="uuid-ossp-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index f3b86b26be9..2f0f0595e1f 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -9,7 +9,7 @@
Write-Ahead Log.
</para>
- <sect1 id="wal-reliability">
+ <sect1 id="wal-reliability" xreflabel="Reliability">
<title>Reliability</title>
<para>
@@ -229,7 +229,7 @@
</para>
</sect1>
- <sect1 id="checksums">
+ <sect1 id="checksums" xreflabel="Data Checksums">
<title>Data Checksums</title>
<indexterm>
<primary>checksums</primary>
@@ -264,7 +264,7 @@
configuration parameter <xref linkend="guc-ignore-checksum-failure" />.
</para>
- <sect2 id="checksums-offline-enable-disable">
+ <sect2 id="checksums-offline-enable-disable" xreflabel="Off-line Enabling of Checksums">
<title>Off-line Enabling of Checksums</title>
<para>
@@ -276,7 +276,7 @@
</sect2>
</sect1>
- <sect1 id="wal-intro">
+ <sect1 id="wal-intro" xreflabel="Write-Ahead Logging (WAL)">
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
<indexterm zone="wal">
@@ -347,7 +347,7 @@
</para>
</sect1>
- <sect1 id="wal-async-commit">
+ <sect1 id="wal-async-commit" xreflabel="Asynchronous Commit">
<title>Asynchronous Commit</title>
<indexterm>
@@ -479,7 +479,7 @@
</sect1>
- <sect1 id="wal-configuration">
+ <sect1 id="wal-configuration" xreflabel="WAL Configuration">
<title><acronym>WAL</acronym> Configuration</title>
<para>
@@ -849,7 +849,7 @@
</para>
</sect1>
- <sect1 id="wal-internals">
+ <sect1 id="wal-internals" xreflabel="WAL Internals">
<title>WAL Internals</title>
<indexterm zone="wal-internals">
diff --git a/doc/src/sgml/xact.sgml b/doc/src/sgml/xact.sgml
index 3aa7ee1383e..5c19a141fa9 100644
--- a/doc/src/sgml/xact.sgml
+++ b/doc/src/sgml/xact.sgml
@@ -10,7 +10,7 @@
The word transaction is often abbreviated as <firstterm>xact</firstterm>.
</para>
- <sect1 id="transaction-id">
+ <sect1 id="transaction-id" xreflabel="Transactions and Identifiers">
<title>Transactions and Identifiers</title>
@@ -79,7 +79,7 @@
</para>
</sect1>
- <sect1 id="xact-locking">
+ <sect1 id="xact-locking" xreflabel="Transactions and Locking">
<title>Transactions and Locking</title>
@@ -171,7 +171,7 @@
</para>
</sect1>
- <sect1 id="two-phase">
+ <sect1 id="two-phase" xreflabel="Two-Phase Transactions">
<title>Two-Phase Transactions</title>
diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml
index bdad8d3dc2b..0a5c51bdbf0 100644
--- a/doc/src/sgml/xaggr.sgml
+++ b/doc/src/sgml/xaggr.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xaggr.sgml -->
- <sect1 id="xaggr">
+ <sect1 id="xaggr" xreflabel="User-Defined Aggregates">
<title>User-Defined Aggregates</title>
<indexterm zone="xaggr">
@@ -145,7 +145,7 @@ CREATE AGGREGATE avg (float8)
command.
</para>
- <sect2 id="xaggr-moving-aggregates">
+ <sect2 id="xaggr-moving-aggregates" xreflabel="Moving-Aggregate Mode">
<title>Moving-Aggregate Mode</title>
<indexterm>
@@ -273,7 +273,7 @@ FROM (VALUES (1, 1.0e20::float8),
</sect2>
- <sect2 id="xaggr-polymorphic-aggregates">
+ <sect2 id="xaggr-polymorphic-aggregates" xreflabel="Polymorphic and Variadic Aggregates">
<title>Polymorphic and Variadic Aggregates</title>
<indexterm>
@@ -418,7 +418,7 @@ SELECT myaggregate(a, b, c ORDER BY a) FROM ...
</sect2>
- <sect2 id="xaggr-ordered-set-aggregates">
+ <sect2 id="xaggr-ordered-set-aggregates" xreflabel="Ordered-Set Aggregates">
<title>Ordered-Set Aggregates</title>
<indexterm>
@@ -518,7 +518,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
</sect2>
- <sect2 id="xaggr-partial-aggregates">
+ <sect2 id="xaggr-partial-aggregates" xreflabel="Partial Aggregation">
<title>Partial Aggregation</title>
<indexterm>
@@ -614,7 +614,7 @@ SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY income) FROM households;
</sect2>
- <sect2 id="xaggr-support-functions">
+ <sect2 id="xaggr-support-functions" xreflabel="Support Functions for Aggregates">
<title>Support Functions for Aggregates</title>
<indexterm>
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index e9288bd6b5e..c6c36f4843f 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xfunc.sgml -->
- <sect1 id="xfunc">
+ <sect1 id="xfunc" xreflabel="User-Defined Functions">
<title>User-Defined Functions</title>
<indexterm zone="xfunc">
@@ -73,7 +73,7 @@
</para>
</sect1>
- <sect1 id="xproc">
+ <sect1 id="xproc" xreflabel="User-Defined Procedures">
<title>User-Defined Procedures</title>
<indexterm zone="xproc">
@@ -143,7 +143,7 @@
</para>
</sect1>
- <sect1 id="xfunc-sql">
+ <sect1 id="xfunc-sql" xreflabel="Query Language (SQL) Functions">
<title>Query Language (<acronym>SQL</acronym>) Functions</title>
<indexterm zone="xfunc-sql">
@@ -245,7 +245,7 @@ CALL clean_emp();
the function (see <xref linkend="sql-syntax-strings"/>).
</para>
- <sect2 id="xfunc-sql-function-arguments">
+ <sect2 id="xfunc-sql-function-arguments" xreflabel="Arguments for SQL Functions">
<title>Arguments for <acronym>SQL</acronym> Functions</title>
<indexterm>
@@ -307,7 +307,7 @@ INSERT INTO $1 VALUES (42);
</note>
</sect2>
- <sect2 id="xfunc-sql-base-functions">
+ <sect2 id="xfunc-sql-base-functions" xreflabel="SQL Functions on Base Types">
<title><acronym>SQL</acronym> Functions on Base Types</title>
<para>
@@ -454,7 +454,7 @@ $$ LANGUAGE SQL;
</para>
</sect2>
- <sect2 id="xfunc-sql-composite-functions">
+ <sect2 id="xfunc-sql-composite-functions" xreflabel="SQL Functions on Composite Types">
<title><acronym>SQL</acronym> Functions on Composite Types</title>
<para>
@@ -670,7 +670,7 @@ SELECT getname(new_emp());
</para>
</sect2>
- <sect2 id="xfunc-output-parameters">
+ <sect2 id="xfunc-output-parameters" xreflabel="SQL Functions with Output Parameters">
<title><acronym>SQL</acronym> Functions with Output Parameters</title>
<indexterm>
@@ -756,7 +756,7 @@ DROP FUNCTION sum_n_product (int, int);
</para>
</sect2>
- <sect2 id="xfunc-output-parameters-proc">
+ <sect2 id="xfunc-output-parameters-proc" xreflabel="SQL Procedures with Output Parameters">
<title><acronym>SQL</acronym> Procedures with Output Parameters</title>
<indexterm>
@@ -797,7 +797,7 @@ CALL tp1(17, 100.0, NULL);
</para>
</sect2>
- <sect2 id="xfunc-sql-variadic-functions">
+ <sect2 id="xfunc-sql-variadic-functions" xreflabel="SQL Functions with Variable Numbers of Arguments">
<title><acronym>SQL</acronym> Functions with Variable Numbers of Arguments</title>
<indexterm>
@@ -896,7 +896,7 @@ SELECT mleast(arr => ARRAY[10, -1, 5, 4.4]);
</para>
</sect2>
- <sect2 id="xfunc-sql-parameter-defaults">
+ <sect2 id="xfunc-sql-parameter-defaults" xreflabel="SQL Functions with Default Values for Arguments">
<title><acronym>SQL</acronym> Functions with Default Values for Arguments</title>
<indexterm>
@@ -954,7 +954,7 @@ ERROR: function foo() does not exist
</para>
</sect2>
- <sect2 id="xfunc-sql-table-functions">
+ <sect2 id="xfunc-sql-table-functions" xreflabel="SQL Functions as Table Sources">
<title><acronym>SQL</acronym> Functions as Table Sources</title>
<para>
@@ -997,7 +997,7 @@ SELECT *, upper(fooname) FROM getfoo(1) AS t1;
</para>
</sect2>
- <sect2 id="xfunc-sql-functions-returning-set">
+ <sect2 id="xfunc-sql-functions-returning-set" xreflabel="SQL Functions Returning Sets">
<title><acronym>SQL</acronym> Functions Returning Sets</title>
<indexterm>
@@ -1275,7 +1275,7 @@ SELECT x, case_generate_series(y > 0, 1, z, 5) FROM tab;
</note>
</sect2>
- <sect2 id="xfunc-sql-functions-returning-table">
+ <sect2 id="xfunc-sql-functions-returning-table" xreflabel="SQL Functions Returning TABLE">
<title><acronym>SQL</acronym> Functions Returning <literal>TABLE</literal></title>
<indexterm>
@@ -1311,7 +1311,7 @@ $$ LANGUAGE SQL;
</para>
</sect2>
- <sect2 id="xfunc-sql-polymorphic-functions">
+ <sect2 id="xfunc-sql-polymorphic-functions" xreflabel="Polymorphic SQL Functions">
<title>Polymorphic <acronym>SQL</acronym> Functions</title>
<para>
@@ -1452,7 +1452,7 @@ SELECT concat_values('|', 1, 4, 2);
</para>
</sect2>
- <sect2 id="xfunc-sql-collations">
+ <sect2 id="xfunc-sql-collations" xreflabel="SQL Functions with Collations">
<title><acronym>SQL</acronym> Functions with Collations</title>
<indexterm>
@@ -1508,7 +1508,7 @@ $$ LANGUAGE SQL;
</sect2>
</sect1>
- <sect1 id="xfunc-overload">
+ <sect1 id="xfunc-overload" xreflabel="Function Overloading">
<title>Function Overloading</title>
<indexterm zone="xfunc-overload">
@@ -1592,7 +1592,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</para>
</sect1>
- <sect1 id="xfunc-volatility">
+ <sect1 id="xfunc-volatility" xreflabel="Function Volatility Categories">
<title>Function Volatility Categories</title>
<indexterm zone="xfunc-volatility">
@@ -1751,7 +1751,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</note>
</sect1>
- <sect1 id="xfunc-pl">
+ <sect1 id="xfunc-pl" xreflabel="Procedural Language Functions">
<title>Procedural Language Functions</title>
<para>
@@ -1767,7 +1767,7 @@ CREATE FUNCTION test(int, int) RETURNS int
</para>
</sect1>
- <sect1 id="xfunc-internal">
+ <sect1 id="xfunc-internal" xreflabel="Internal Functions">
<title>Internal Functions</title>
<indexterm zone="xfunc-internal"><primary>function</primary><secondary>internal</secondary></indexterm>
@@ -1810,7 +1810,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
</note>
</sect1>
- <sect1 id="xfunc-c">
+ <sect1 id="xfunc-c" xreflabel="C-Language Functions">
<title>C-Language Functions</title>
<indexterm zone="xfunc-c">
@@ -1838,7 +1838,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
call for the function, as illustrated below.
</para>
- <sect2 id="xfunc-c-dynload">
+ <sect2 id="xfunc-c-dynload" xreflabel="Dynamic Loading">
<title>Dynamic Loading</title>
<indexterm zone="xfunc-c-dynload">
@@ -2007,7 +2007,7 @@ PG_MODULE_MAGIC_EXT(
</sect2>
- <sect2 id="xfunc-c-basetype">
+ <sect2 id="xfunc-c-basetype" xreflabel="Base Types in C-Language Functions">
<title>Base Types in C-Language Functions</title>
<indexterm zone="xfunc-c-basetype">
@@ -2681,7 +2681,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</para>
</sect2>
- <sect2 id="xfunc-c-code">
+ <sect2 id="xfunc-c-code" xreflabel="Writing Code">
<title>Writing Code</title>
<para>
@@ -2788,7 +2788,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
&dfunc;
- <sect2 id="xfunc-api-abi-stability-guidance">
+ <sect2 id="xfunc-api-abi-stability-guidance" xreflabel="Server API and ABI Stability Guidance">
<title>Server API and ABI Stability Guidance</title>
<para>
@@ -2797,7 +2797,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
<productname>PostgreSQL</productname> server.
</para>
- <sect3 id="xfunc-guidance-general">
+ <sect3 id="xfunc-guidance-general" xreflabel="General">
<title>General</title>
<para>
@@ -2823,14 +2823,14 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</para>
</sect3>
- <sect3 id="xfunc-guidance-api-compatibility">
+ <sect3 id="xfunc-guidance-api-compatibility" xreflabel="API Compatibility">
<title>API Compatibility</title>
<para>
The <acronym>API</acronym>, or application programming interface, is the
interface used at compile time.
</para>
- <sect4 id="xfunc-guidance-api-major-versions">
+ <sect4 id="xfunc-guidance-api-major-versions" xreflabel="Major Versions">
<title>Major Versions</title>
<para>
There is <emphasis>no</emphasis> promise of API compatibility between
@@ -2843,7 +2843,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</para>
</sect4>
- <sect4 id="xfunc-guidance-api-mninor-versions">
+ <sect4 id="xfunc-guidance-api-mninor-versions" xreflabel="Minor Versions">
<title>Minor Versions</title>
<para>
<productname>PostgreSQL</productname> makes an effort to avoid server
@@ -2861,14 +2861,14 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</sect4>
</sect3>
- <sect3 id="xfunc-guidance-abi-compatibility">
+ <sect3 id="xfunc-guidance-abi-compatibility" xreflabel="ABI Compatibility">
<title>ABI Compatibility</title>
<para>
The <acronym>ABI</acronym>, or application binary interface, is the
interface used at run time.
</para>
- <sect4 id="xfunc-guidance-abi-major-versions">
+ <sect4 id="xfunc-guidance-abi-major-versions" xreflabel="Major Versions">
<title>Major Versions</title>
<para>
Servers of different major versions have intentionally incompatible
@@ -2879,7 +2879,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</para>
</sect4>
- <sect4 id="xfunc-guidance-abi-mninor-versions">
+ <sect4 id="xfunc-guidance-abi-mninor-versions" xreflabel="Minor Versions">
<title>Minor Versions</title>
<para>
<productname>PostgreSQL</productname> makes an effort to avoid server
@@ -2924,7 +2924,7 @@ CREATE FUNCTION t_starts_with(text, text) RETURNS boolean
</sect3>
</sect2>
- <sect2 id="xfunc-c-composite-type-args">
+ <sect2 id="xfunc-c-composite-type-args" xreflabel="Composite-Type Arguments">
<title>Composite-Type Arguments</title>
<para>
@@ -3012,7 +3012,7 @@ CREATE FUNCTION c_overpaid(emp, integer) RETURNS boolean
</para>
</sect2>
- <sect2 id="xfunc-c-returning-rows">
+ <sect2 id="xfunc-c-returning-rows" xreflabel="Returning Rows (Composite Types)">
<title>Returning Rows (Composite Types)</title>
<para>
@@ -3163,7 +3163,7 @@ HeapTupleGetDatum(HeapTuple tuple)
</sect2>
- <sect2 id="xfunc-c-return-set">
+ <sect2 id="xfunc-c-return-set" xreflabel="Returning Sets">
<title>Returning Sets</title>
<para>
@@ -3507,7 +3507,7 @@ CREATE OR REPLACE FUNCTION retcomposite(IN integer, IN integer,
</para>
</sect2>
- <sect2 id="xfunc-c-polymorphic">
+ <sect2 id="xfunc-c-polymorphic" xreflabel="Polymorphic Arguments and Return Types">
<title>Polymorphic Arguments and Return Types</title>
<para>
@@ -3618,10 +3618,10 @@ CREATE FUNCTION make_array(anyelement) RETURNS anyarray
</para>
</sect2>
- <sect2 id="xfunc-shared-addin">
+ <sect2 id="xfunc-shared-addin" xreflabel="Shared Memory">
<title>Shared Memory</title>
- <sect3 id="xfunc-shared-addin-at-startup">
+ <sect3 id="xfunc-shared-addin-at-startup" xreflabel="Requesting Shared Memory at Startup">
<title>Requesting Shared Memory at Startup</title>
<para>
@@ -3686,7 +3686,7 @@ LWLockRelease(AddinShmemInitLock);
</para>
</sect3>
- <sect3 id="xfunc-shared-addin-after-startup">
+ <sect3 id="xfunc-shared-addin-after-startup" xreflabel="Requesting Shared Memory After Startup">
<title>Requesting Shared Memory After Startup</title>
<para>
@@ -3729,10 +3729,10 @@ void *GetNamedDSMSegment(const char *name, size_t size,
</sect3>
</sect2>
- <sect2 id="xfunc-addin-lwlocks">
+ <sect2 id="xfunc-addin-lwlocks" xreflabel="LWLocks">
<title>LWLocks</title>
- <sect3 id="xfunc-addin-lwlocks-at-startup">
+ <sect3 id="xfunc-addin-lwlocks-at-startup" xreflabel="Requesting LWLocks at Startup">
<title>Requesting LWLocks at Startup</title>
<para>
@@ -3756,7 +3756,7 @@ LWLockPadded *GetNamedLWLockTranche(const char *tranche_name)
</para>
</sect3>
- <sect3 id="xfunc-addin-lwlocks-after-startup">
+ <sect3 id="xfunc-addin-lwlocks-after-startup" xreflabel="Requesting LWLocks After Startup">
<title>Requesting LWLocks After Startup</title>
<para>
@@ -3791,7 +3791,7 @@ void LWLockInitialize(LWLock *lock, int tranche_id)
</sect3>
</sect2>
- <sect2 id="xfunc-addin-wait-events">
+ <sect2 id="xfunc-addin-wait-events" xreflabel="Custom Wait Events">
<title>Custom Wait Events</title>
<para>
@@ -3818,7 +3818,7 @@ uint32 WaitEventExtensionNew(const char *wait_event_name)
</para>
</sect2>
- <sect2 id="xfunc-addin-injection-points">
+ <sect2 id="xfunc-addin-injection-points" xreflabel="Injection Points">
<title>Injection Points</title>
<para>
@@ -3950,7 +3950,7 @@ extern bool InjectionPointDetach(const char *name);
</para>
</sect2>
- <sect2 id="xfunc-addin-custom-cumulative-statistics">
+ <sect2 id="xfunc-addin-custom-cumulative-statistics" xreflabel="Custom Cumulative Statistics">
<title>Custom Cumulative Statistics</title>
<para>
@@ -4012,7 +4012,7 @@ extern PgStat_Kind pgstat_register_kind(PgStat_Kind kind,
</para>
</sect2>
- <sect2 id="extend-cpp">
+ <sect2 id="extend-cpp" xreflabel="Using C++ for Extensibility">
<title>Using C++ for Extensibility</title>
<indexterm zone="extend-cpp">
@@ -4077,7 +4077,7 @@ extern PgStat_Kind pgstat_register_kind(PgStat_Kind kind,
</sect1>
- <sect1 id="xfunc-optimization">
+ <sect1 id="xfunc-optimization" xreflabel="Function Optimization Information">
<title>Function Optimization Information</title>
<indexterm zone="xfunc-optimization">
diff --git a/doc/src/sgml/xindex.sgml b/doc/src/sgml/xindex.sgml
index 3d315df2f98..49ff5ca4da6 100644
--- a/doc/src/sgml/xindex.sgml
+++ b/doc/src/sgml/xindex.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xindex.sgml -->
-<sect1 id="xindex">
+<sect1 id="xindex" xreflabel="Interfacing Extensions to Indexes">
<title>Interfacing Extensions to Indexes</title>
<indexterm zone="xindex">
@@ -25,7 +25,7 @@
so we'll focus on that case first and then return to operator families.
</para>
- <sect2 id="xindex-opclass">
+ <sect2 id="xindex-opclass" xreflabel="Index Methods and Operator Classes">
<title>Index Methods and Operator Classes</title>
<para>
@@ -75,7 +75,7 @@
</para>
</sect2>
- <sect2 id="xindex-strategies">
+ <sect2 id="xindex-strategies" xreflabel="Index Method Strategies">
<title>Index Method Strategies</title>
<para>
@@ -373,7 +373,7 @@
</para>
</sect2>
- <sect2 id="xindex-support">
+ <sect2 id="xindex-support" xreflabel="Index Method Support Routines">
<title>Index Method Support Routines</title>
<para>
@@ -811,7 +811,7 @@
</para>
</sect2>
- <sect2 id="xindex-example">
+ <sect2 id="xindex-example" xreflabel="An Example">
<title>An Example</title>
<para>
@@ -997,7 +997,7 @@ CREATE OPERATOR CLASS complex_abs_ops
</para>
</sect2>
- <sect2 id="xindex-opfamily">
+ <sect2 id="xindex-opfamily" xreflabel="Operator Classes and Operator Families">
<title>Operator Classes and Operator Families</title>
<para>
@@ -1224,7 +1224,7 @@ ALTER OPERATOR FAMILY integer_ops USING btree ADD
</note>
</sect2>
- <sect2 id="xindex-opclass-dependencies">
+ <sect2 id="xindex-opclass-dependencies" xreflabel="System Dependencies on Operator Classes">
<title>System Dependencies on Operator Classes</title>
<indexterm>
@@ -1332,7 +1332,7 @@ SELECT sum(x) OVER (ORDER BY x RANGE BETWEEN 5 PRECEDING AND 10 FOLLOWING)
</para>
</sect2>
- <sect2 id="xindex-ordering-ops">
+ <sect2 id="xindex-ordering-ops" xreflabel="Ordering Operators">
<title>Ordering Operators</title>
<para>
@@ -1388,7 +1388,7 @@ OPERATOR 15 <-> (point, point) FOR ORDER BY float_ops
</para>
</sect2>
- <sect2 id="xindex-opclass-features">
+ <sect2 id="xindex-opclass-features" xreflabel="Special Features of Operator Classes">
<title>Special Features of Operator Classes</title>
<para>
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
index 9fd613f9675..79a1b72d38e 100644
--- a/doc/src/sgml/xml2.sgml
+++ b/doc/src/sgml/xml2.sgml
@@ -12,7 +12,7 @@
XSLT functionality.
</para>
- <sect2 id="xml2-deprecation">
+ <sect2 id="xml2-deprecation" xreflabel="Deprecation Notice">
<title>Deprecation Notice</title>
<para>
@@ -30,7 +30,7 @@
</para>
</sect2>
- <sect2 id="xml2-functions">
+ <sect2 id="xml2-functions" xreflabel="Description of Functions">
<title>Description of Functions</title>
<para>
@@ -168,7 +168,7 @@
</table>
</sect2>
- <sect2 id="xml2-xpath-table">
+ <sect2 id="xml2-xpath-table" xreflabel="xpath_table">
<title><literal>xpath_table</literal></title>
<indexterm>
@@ -318,7 +318,7 @@ WHERE t.author_id = p.person_id;
of this in a view for convenience.
</para>
- <sect3 id="xml2-xpath-table-multivalued-results">
+ <sect3 id="xml2-xpath-table-multivalued-results" xreflabel="Multivalued Results">
<title>Multivalued Results</title>
<para>
@@ -393,14 +393,14 @@ ORDER BY doc_num, line_num;
</sect3>
</sect2>
- <sect2 id="xml2-xslt">
+ <sect2 id="xml2-xslt" xreflabel="XSLT Functions">
<title>XSLT Functions</title>
<para>
The following functions are available if libxslt is installed:
</para>
- <sect3 id="xml2-xslt-xslt-process">
+ <sect3 id="xml2-xslt-xslt-process" xreflabel="xslt_process">
<title><literal>xslt_process</literal></title>
<indexterm>
@@ -427,7 +427,7 @@ xslt_process(text document, text stylesheet, text paramlist) returns text
</sect3>
</sect2>
- <sect2 id="xml2-author">
+ <sect2 id="xml2-author" xreflabel="Author">
<title>Author</title>
<para>
diff --git a/doc/src/sgml/xoper.sgml b/doc/src/sgml/xoper.sgml
index 853b07a9f14..c039c308a17 100644
--- a/doc/src/sgml/xoper.sgml
+++ b/doc/src/sgml/xoper.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xoper.sgml -->
- <sect1 id="xoper">
+ <sect1 id="xoper" xreflabel="User-Defined Operators">
<title>User-Defined Operators</title>
<indexterm zone="xoper">
@@ -75,7 +75,7 @@ SELECT (a + b) AS c FROM test_complex;
</para>
</sect1>
- <sect1 id="xoper-optimization">
+ <sect1 id="xoper-optimization" xreflabel="Operator Optimization Information">
<title>Operator Optimization Information</title>
<indexterm zone="xoper-optimization">
@@ -109,7 +109,7 @@ SELECT (a + b) AS c FROM test_complex;
See <xref linkend="xfunc-optimization"/> for more information.
</para>
- <sect2 id="xoper-commutator">
+ <sect2 id="xoper-commutator" xreflabel="COMMUTATOR">
<title><literal>COMMUTATOR</literal></title>
<para>
@@ -148,7 +148,7 @@ SELECT (a + b) AS c FROM test_complex;
</para>
</sect2>
- <sect2 id="xoper-negator">
+ <sect2 id="xoper-negator" xreflabel="NEGATOR">
<title><literal>NEGATOR</literal></title>
<para>
@@ -181,7 +181,7 @@ SELECT (a + b) AS c FROM test_complex;
</para>
</sect2>
- <sect2 id="xoper-restrict">
+ <sect2 id="xoper-restrict" xreflabel="RESTRICT">
<title><literal>RESTRICT</literal></title>
<para>
@@ -258,7 +258,7 @@ column OP constant
</para>
</sect2>
- <sect2 id="xoper-join">
+ <sect2 id="xoper-join" xreflabel="JOIN">
<title><literal>JOIN</literal></title>
<para>
@@ -295,7 +295,7 @@ table1.column1 OP table2.column2
</para>
</sect2>
- <sect2 id="xoper-hashes">
+ <sect2 id="xoper-hashes" xreflabel="HASHES">
<title><literal>HASHES</literal></title>
<para>
@@ -383,7 +383,7 @@ table1.column1 OP table2.column2
</sect2>
- <sect2 id="xoper-merges">
+ <sect2 id="xoper-merges" xreflabel="MERGES">
<title><literal>MERGES</literal></title>
<para>
diff --git a/doc/src/sgml/xplang.sgml b/doc/src/sgml/xplang.sgml
index 31d403c4806..e5ba26c5521 100644
--- a/doc/src/sgml/xplang.sgml
+++ b/doc/src/sgml/xplang.sgml
@@ -38,7 +38,7 @@
language are covered in <xref linkend="plhandler"/>.
</para>
- <sect1 id="xplang-install">
+ <sect1 id="xplang-install" xreflabel="Installing Procedural Languages">
<title>Installing Procedural Languages</title>
<para>
diff --git a/doc/src/sgml/xtypes.sgml b/doc/src/sgml/xtypes.sgml
index df56d1c3ace..afee2875f50 100644
--- a/doc/src/sgml/xtypes.sgml
+++ b/doc/src/sgml/xtypes.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/xtypes.sgml -->
- <sect1 id="xtypes">
+ <sect1 id="xtypes" xreflabel="User-Defined Types">
<title>User-Defined Types</title>
<indexterm zone="xtypes">
@@ -249,7 +249,7 @@ CREATE TYPE complex (
<xref linkend="sql-createtype"/> command.
</para>
- <sect2 id="xtypes-toast">
+ <sect2 id="xtypes-toast" xreflabel="TOAST Considerations">
<title>TOAST Considerations</title>
<indexterm>
<primary>TOAST</primary>
--
2.51.2.windows.1
On Tue, 2025-12-23 at 11:39 -0300, Marcos Pegoraro wrote:
If everything is okay, we can start rewriting all places that sounds strange in the HTML file.
But this is a much slower process, as it requires reading all the affected pages.
Perhaps you should wait for other's opinions, before you start that effort.
Yours,
Laurenz Albe
Em ter., 23 de dez. de 2025 às 11:51, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
Perhaps you should wait for other's opinions, before you start that effort.
Sure, I'll.
Many places will look much better, but some will become redundant and
others will seem confusing.
So yes, we have to make this change carefully, if we do.
regards
Marcos
I had a look at your patch, starting from the end and up to "xfunc".
I looked at all the references in the documentation to see if I can spot
any oddities. I don't think I'll be able to look through the whole patch
at that level, but I wanted to get an idea.
Overall, I have the impression that the patch is an improvement.
Here are some general comments:
1. You seem to have taken the chapter heading as label automatically.
That leads to labels like "Author" and "Deprecation Notice" that are not
descriptive enough without a reference to the chapter.
These lables need going over.
2. I notice that you added labels to the sections, but not to the chapters, so
the references to the chapters still read like "Chapter 63". Is that deliberate,
an oversight, or are there problems adding labels to the chapters?
3. Similarly, you didn't add labels to subsections, so there are still references
like "Section 66.6.1". I understand that that might be too much code churn for
your patch, but the inconsistency is deplorable.
Comments for the individual changes I scrutinized:
- Chapter 36.3 now has:
PostgreSQL provides four kinds of functions:
• query language functions (functions written in SQL) (Query Language (SQL) Functions)
• procedural language functions (functions written in, for example, PL/pgSQL or PL/Tcl) (Procedural Language Functions)
• internal functions (Internal Functions)
• C-language functions (C-Language Functions)
That is overly repetitive and should be simplified.
- "xtypes-toast":
The reference in the CREATE TYPE page becomes:
All storage values other than plain imply that the functions of the data type
can handle values that have been toasted, as described in Section 66.2 and
TOAST Considerations.
That sounds odd. Either do the magic for both references or for none of them.
- "xml2-author":
The label is "Author", see point #1 above.
Suggestions: xml2 Extension Author / Author of xml2
- "xml2-functions":
The label should be "Description of xml2 Functions".
- "xml2-deprecation":
"Deprecatoin Notice" is too little, see #1 above.
The label should be "xml2 Deprecation Notice".
- "xindex-example":
The label is "An Example"; see #1 above.
The label should be "Example for Creating an Operator Class".
- "xfunc-sql":
Perhaps the label should be "SQL-Language Functions".
But then the reference in chapter 5.16 becomes
(See SQL-Language Functions for an explanation of SQL-language functions.)
which is somewhat repetitive and could be improved.
Yours,
Laurenz Albe
Em qui., 25 de dez. de 2025 às 18:41, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
Overall, I have the impression that the patch is an improvement.
Cool
1. You seem to have taken the chapter heading as label automatically.
That leads to labels like "Author" and "Deprecation Notice" that are not
descriptive enough without a reference to the chapter.
These lables need going over.
Well, I noticed that if the xreflabel tag existed next to the section
identifier, then it would be used in the HTML, so all I did was create a
regular expression that takes the title from the line below and puts it on
the line above. That was the only thing I did. As I wrote before, we need
to carefully read and adapt item by item.
2. I notice that you added labels to the sections, but not to the
chapters, so
the references to the chapters still read like "Chapter 63". Is that
deliberate,
an oversight, or are there problems adding labels to the chapters?
Correct, I didn't do it for Chapters and Tables. I think it would be better
to have the word Chapter and then the Title.
See Chapter 14 for information about how to find out whether an index is
used
for this
See Chapter Performance Tips for information about how to find out whether
an index is used
So, this replacement would always have the Chapter word before, what do you
think ?
And about Tables, do the same ?
The built-in general-purpose aggregate functions are listed in Table 9.62
would be
The built-in general-purpose aggregate functions are listed in Table
General-Purpose Aggregate Functions
3. Similarly, you didn't add labels to subsections, so there are still
references
like "Section 66.6.1". I understand that that might be too much code
churn for
your patch, but the inconsistency is deplorable.
I didn't find this 66.6.1 on my files, are you sure of it ?
My search hadn't found any identifiers with numbers in them, but I improved
the expression already.
Comments for the individual changes I scrutinized:
As I mentioned, you need to read it item by item to catch these
inconsistencies. And the work is even greater because there's no clear
relationship between which SGML file you're editing and which HTML file
will be generated, so the task is even more demanding.
regards
Marcos
On Fri, 2025-12-26 at 10:16 -0300, Marcos Pegoraro wrote:
2. I notice that you added labels to the sections, but not to the chapters, so
the references to the chapters still read like "Chapter 63". Is that deliberate,
an oversight, or are there problems adding labels to the chapters?Correct, I didn't do it for Chapters and Tables. I think it would be better to have the
word Chapter and then the Title.
See Chapter 14 for information about how to find out whether an index is used
for this
See Chapter Performance Tips for information about how to find out whether an index is used
So, this replacement would always have the Chapter word before, what do you think ?
That makes sense to me.
And about Tables, do the same ?
I'd leave them alone, but I have no strong opinion about that.
Usually, references to the tables are right next to the table anyway.
3. Similarly, you didn't add labels to subsections, so there are still references
like "Section 66.6.1". I understand that that might be too much code churn for
your patch, but the inconsistency is deplorable.I didn't find this 66.6.1 on my files, are you sure of it ?
My search hadn't found any identifiers with numbers in them, but I improved the expression already.
I find a reference to "Section 66.6.1" (for example) in
https://www.postgresql.org/docs/current/jit-reason.html#JIT-ACCELERATED-OPERATIONS
Comments for the individual changes I scrutinized:
As I mentioned, you need to read it item by item to catch these inconsistencies. And the work
is even greater because there's no clear relationship between which SGML file you're editing
and which HTML file will be generated, so the task is even more demanding.
I looked at all the references in the part that I went over.
Yours,
Laurenz Albe
Em sáb., 27 de dez. de 2025 às 09:16, Laurenz Albe <laurenz.albe@cybertec.at>
escreveu:
That makes sense to me.
Fine.
And what about those xreflabel that already exists, what do we do with them
?
<refsec and <varlistentry are fine but <sec is not done or done poorly.
If you search without my patch with this regex you'll get only 58
occurrences.
(^\s*<sect\d\sid)(="(?=\S*)([a-zA-Z0-9_-]+))(" xreflabel=)(".+?")(>)
and see $3 and $5 parts of regex you'll get something very similar between
id and xreflabel.
27 of them are the same and the others are just small replacements. None
capitalized, none as separate words.
id="auth-delay" reflabel="auth_delay"
id="basic-archive" reflabel="basic_archive"
and so on
Only two of them are replaced carefully
id="standby-server-operation" reflabel="Standby Server Operation"
id="jit-configuration" reflabel="JIT Configuration"
I think these places need to be replaced carefully too.
You'll get more or less 600 occurrences on config, libpq, select,
create_table and monitoring.sgml but there are always params of these
specific places, so it's not a problem to reflabel be the same as its
config name.
regards
Marcos
On 21.12.25 11:55, Marcos Pegoraro wrote:
Em seg., 15 de dez. de 2025 às 16:33, Peter Eisentraut
<peter@eisentraut.org <mailto:peter@eisentraut.org>> escreveu:doc: Change xref style to number only
If I understood correctly that would not help because if we revert that
commit
it'll put section number and text, but we now want only text, not
section numbers, right ?Now we have - "Section 23.3.1"
Changing back that commit will show - "Section 23.3.1, “Supported
Character Sets”."
But we want only - "Supported Character Sets"
Personally, I don't want that. I think changing to section number plus
title could have some merit, but just the title seems inferior to me.
But that's just me.
On 23.12.25 15:39, Marcos Pegoraro wrote:
There are a few more files that my regular expression couldn't find
initially, now I think they've all been affected.Even many that don't have any links pointing to them also have the tag,
so that when someone links to them, they automatically display the Title
and not the section number.If everything is okay, we can start rewriting all places that sounds
strange in the HTML file.
But this is a much slower process, as it requires reading all the
affected pages.
Independent of what link text style you prefer, manually maintaining
xreflabel attributes is the wrong solution. The XSL stylesheets
automatically compute the link title from the section number or title,
and there are parameters to choose between different styles. If you
don't like the styles offered by the parameters, the fix will be to
override the XSL code that computes the link text.
Em dom., 28 de dez. de 2025 às 10:55, Peter Eisentraut <peter@eisentraut.org>
escreveu:
Personally, I don't want that. I think changing to section number plus
title could have some merit, but just the title seems inferior to me.
But that's just me.
But this way it wouldn't be too polluted for the Chapters ?
For more information on logical replication, see Chapter 29. Through the
logical decoding interface (Chapter 47)
would be
For more information on logical replication, see Chapter 29. Logical
Replication. Through the logical decoding interface (Chapter 47. Logical
Decoding)
regards
Marcos
Em dom., 28 de dez. de 2025 às 10:59, Peter Eisentraut <peter@eisentraut.org>
escreveu:
Independent of what link text style you prefer, manually maintaining
xreflabel attributes is the wrong solution. The XSL stylesheets
automatically compute the link title from the section number or title,
and there are parameters to choose between different styles. If you
don't like the styles offered by the parameters, the fix will be to
override the XSL code that computes the link text.
ok, I'll see how this can be accomplished, but even with that some of them
need to be manually changed because examples Laurenz pointed out like
"Author" and "Deprecation Notice" doesn't explain what is needed.
regards
Marcos
Peter Eisentraut <peter@eisentraut.org> writes:
On 21.12.25 11:55, Marcos Pegoraro wrote:
Now we have - "Section 23.3.1"
Changing back that commit will show - "Section 23.3.1, “Supported
Character Sets”."
But we want only - "Supported Character Sets"
Personally, I don't want that. I think changing to section number plus
title could have some merit, but just the title seems inferior to me.
But that's just me.
I'm mildly in favor of title-only for output formats where the title
is a hyperlink: the section number seems like unnecessary verbiage
if you have something you can click on. However, if there's anyone
out there still printing on dead trees, or using ancient PDF readers
that don't do hyperlinks, loss of the section number would be pretty
catastrophic for following the link. So this really needs to be
output-format-dependent, which suggests that we could make it adapt
to readers' preferences too: provide some option to decide whether to
include title or section number or both.
regards, tom lane
Em dom., 28 de dez. de 2025 às 10:59, Peter Eisentraut <peter@eisentraut.org>
escreveu:
Independent of what link text style you prefer, manually maintaining
xreflabel attributes is the wrong solution. The XSL stylesheets
automatically compute the link title from the section number or title,
and there are parameters to choose between different styles. If you
don't like the styles offered by the parameters, the fix will be to
override the XSL code that computes the link text.
As you pointed out, I discovered how to customize those items on XSL and
it's done for all.
As you can see in the image, the differences between old and new are huge.
And as you can see on image, it does not make sense to have PL/pgSQL,
PL/Perl, etc duplicated.
This is just an example of how to do it, so it's not covered for all other
items like example, item, refsect and so on.
Appendix is written differently too as a test. But then it is just a
decision if we want and how we want each of them.
And if we want then is to start the harder part, read and modify every item
that is not properly written.
[image: image.png]
regards
Marcos
Attachments:
image.pngimage/png; name=image.pngDownload
�PNG
IHDR \ { ���c sRGB ��� gAMA ���a pHYs � ��o�d ��IDATx^��TI��{f��b HP#�9���kv����s�9����P1��9��( *�s��zf� ��������y��x�����������n���C�:t���C��A�:t���C�:t�����\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�\:t���C�:t���/�����T���HM���CG)�I���j���HMN$1)E�g��i)$'������?HZ*I���������4�|�s�����W~�����Brr
y�3M^6�\��%�[�����FJR2)�����x����E�y��P��������������y�����$Fs�
R��1��#As�����ci��u[0c�-t���+;��� .��kn������?
���g�M��z_���mXw1@s����y������f����e��a��K�|���y|?u����o��y�2��������#[b��y��������J������'!��������������H�f������q�A�����x�{=���g��|s��}�����x��!*�[��9/o�}���xE�e���>��?�\�d��]������/��!:u�����!�����\{��y�����v,ujQ��.4h��V-Z���u�[�6������cA`�G��at�$9!��D
#&9��uJt[��������k� �c���l_��]'���YN�?��}c)(�`��h�M�1B/�F"1f���9>�#������>���XF��FX��"�u��������n$���{I�����=�Jj����qrinS�e���;e����[("��n���8JM&:6Q�[�O������@l���,���R�B��s�����He|==Jv[FD.^���G���5-Z��e��4o��z�����d<���Ue����81�X3�F5��2���Ul��U��N�$MM��r�y�����%&�cbn�]������w��c���q�6�WQ�Z�~�7{�_��]wB��+������6�jP�w��NBl����8�5]��)Pk~�)��B/��@�<KN������� ��2@�p_�����?$��ZA�>=��[@����|4�2������t=���re
����y���e����q{��sr�I��gm���$��I�K �����I����� 8��oK�&��|��Y��AsS&Q�NT--a�>��x����'��{0z�Z�E+�l�7}��8N8����}M_����m�uuQ[�Y8p�W���^b}�2}�v_���W���=j=��?���G
��`��K���1ob*+��w�3�HcjS}L��&*�zqz2�{O`���,�;�~}~��l~$j����LO�?K,�����G��?I,����@��Z������.�d���tj���g���-�i�)$�b]�g������79sx'���������y�%^m���_�|�
��(����7���{������C�:q~qyu)_�1��.��������o���9F�rL�]Y�aAKV�z���/��M�a�)�Z2�I�O������� .M<Wu���!7��T��R�@���������I��uOO$",���o/p�a�$d�IxDt�y&��������5@)D����]���_�DI���%�~�4"���I�~�MXxd�����b�e����>�U�R�;��������?;�r(�������2�Cxx�?��*�EE�����'":o�CqQ�D�&h��LK""<���
��KXX1�����#<�[��)D������O��?(�r�G���8$gs����JH�'>�[�� >:���o�"H�'4$�����}^���KHp���K��Ndl�wD�|��M��FbBq ��?�����%:�r��|Cp%%���gQp��:r3V!Fb�����������a����!O�.�t�tq�f��De#�+���'E���s�U��y�JrB4a�3]k �3�zQ�/?����v���G����b�"��Q3��!LdF9
���?��+%>���(e�3���7W�����f���j�M���4.!���R����c"�f�AXDZ�V�#�-����r4���� ��v>�"�#&2"��`�u���a�~!��������PDOF����M�]�@e=�oS�o��
)c��;�?*����'F�,�?4�2��+7���'"*N����(^� '����46��K���W���_���X"#c���+Y��{�t_����w�|��"�����E�B��"?��-�#�����Tt�l6v����X��bw�w������M�_�����l��xn]���)[���we�nwBUl���;�Y��W�I���F��5)cd��������f�����2��:l��s6�3���������95j��^���[��0�����=����2� ������%���|�����|}y��S����Mh�� ��+�-��:&����������e,X}�P�/9�����H�y�
��$��f������2~�Aa���[<���+Q���~���o��������9[�
����tv�BI��]����'�����kCA�]��6�!#f� 4
�#��k�e�{p ��n�7���7W�1v�b����0���b\���X5���ACY��B����OO��P<����@�_����zc| [��b����� ���3���c��xpt�? >��]��R���j-����m���c�Y�t���,�[3c*T�����y�>q�9����n���m3GP��v]��*2�DV3�sc*��J�L^���l��^;�_�U��d)�8�b��c�����'g�5���Ja\��?f�����d���3c�����1U���C���7�
Sd���%��l"�<\Y2m���F��4�i0���R�����J
�����8�ujR�n=~�c&��>��{�i+��^���'K��V��U����\|�E��s��j���C��E1������1a�(
��K����y��x���a��$����AP���S;�j���Nm_D�f�(V�4�u[���q�����������s�8S��U�2�Um��E�y�.��3gT?�V�@ cv���U.x�l|�D�sz�F&��c����H��g��$@^wz�/��Lf����/���9�|"�����Nz�{N��q�3����������d+q�_�\qAx����}i\�5j���o�8z�����5�(��9�^�g��a8�U��]}O^�m�0�zs\���3ap*�+�Y���]���!�����,�5����B��:+����,?������]����x�9{CD>��3��z*W�>��1��`v_z)?��Em)h��w���HZ8����/�'r��������L�U���6������Z�����Y?g4-�U��Ti�vd�4qn #"�!�����DB���8d8�����W����h��4��G���G����y|�n���CVLLm�
�3����y\z�E������`L/�,M�X�������.�
�� .��kf���_��cXr�>�����3����Tk9����V\VO�]k��Z�y�4��z����1���Z�~~KV�������]�Yo^EfyN�]`��!��)Oi[�����4�M���cL���0*_��]�1w�I������e��j�T*��q'U<��|J����5�����bF�4����c'0j�P��\���4���g��-�J����k_��v�r���/��3��^����|�����G~�Y}�w�:��h:�d��o�?2��������p:4�z2+�_e���;���U��n��iYl;1o�;�v� �Iu���\i<:�� ��<��n[������P������(���ELZO��C5#��J��� �
�����KM#-���_�(���:�-m�Jw/R��9�n1��\ V�����-���rr�LZ;V�������s��k�q���i��[�����L�����*��}��@a���-�m�0�}GZz�7Mf�����]�.9�c��M1-[�*���`/���zs~'�w��1�;��I���*oC�!������G3�+[����[�+��;����������Q��me��������Ld�Yp��J�.�@:�X��#GX7����&:����g;(U����S��)�Nf���\{�0zR�z2�FiL�h�+G\����1z�����R�6��O��|
�\�WWW6�NqA�����e\��t/]�v��R�������p��J~����}�o�f�|�4`������a=�1v�
����QJ�qAsM\$3�Q�������O^��@���Tk���MM���/�.b��;r������
�1u�~�9�*#-`��K����?�+�!u���^���~ ���W(�|����u����Q\(D�AS��w�v��xQS#��k���ywp�P�E��2����G=�J���*$�r�/VNH��
�e����D~>�����] ��5��b;�]�1eP[$��t���)��KCSl��Q?�8���������3O2{G�AR�W��P���:g)+w�V2Y$�L]���sp���i�w9��#��'P��@�f��;�8bS��m��M#&�_���� O(-�M#[�'������l�?�J���($k�K����H�b�=�}�pt/:Z�'�� �t�NIC�8�e��#�n_@}#��u���S����CC &���i���.��&��1��L�J8{)W�]����[��y��7��f����E���H���y�Q�� ��=Y����������(S��|H���J�?O'+3����C����V�+��[��^ ���2�L����Mg��!v��B�"�*u����M��������9m#'N���]��VL�`T�E�q�;|���������Iw���PR������Y���e;[j�3��S��/)���;9��I\�O�R"A��3����_1w�\X�YQ=�v���nG��v
��%����o�����'iR*?��f�~7��d��}���W>j�.� ������2�=�\q����eH�;r�C
�E0��,R�N<�P?���NK%�����H�P����pQ=�v�
�j���U�g���/��\�����
��b�����D��%�v��������q��S��--{�g����L�b
������������T,j�]��ss���)���`�~�#s6�5�H���+� �3�)e�2��4vTw�p�/9[C1%��Z��y)�U���=���e+�������+�JQ�fmZ���=N��8��dHJ6�����������*")d����p;r��m�4e�G��+-���!5n���N�qc���4pl��;������+�b)5�N�Ql�����w�8P�iK���S
K�
�����qd����#��ex��90�R�j4��O������3�WM����f?s'(+44��+Bj��y���r`�wn���
���3��~�����s������[Y���P
���2{ +w�"\t%0��*�$E�7y%�.N,��{�*XU����
?,��t7Fj3��1
����v���G�?�l�\�m`H���*�L�Lc���=���]�a�8���}��M~���q�������()-L��&�m�N��t�}d2iQ�^�z�-Y�('Ng��6��j�����e����{��������������D�,[��������'����I��luv����4� �t�~�R�����r,��YG�_E�8��}��fI=����0���r2zn~����G��#��PD�i�>������+������C�B�S���s�z%��"R�#���FQ�@:������lbh���4z+�)�<�������W��?�nb����>u���tb_��\);����*�����}Y�M%D��+��rJ�1�����Y�� w����%����z���b�����+���a�?��FY*6�Jdr
��k�x���Q��?��Sq�>��HzJ8��R��"�2��}e������a�,�;b��qT),���`�}N����cllD�F�4�1��{���y���k��gk���9�6z2 Cw>!�4Er���W��M�������+!���
�l5��5��^�}z�8�R�/�� ���1��{�J%} B�j���VV�����!�%�q>� -��t�h�E����r]�S�ILP�|vrs���WZ�1��1@�2f�]���?=�=#����R�j� ��E�f�&.��m��Xw2%�~�gLkK���>+N���EA�z X��B������E0�M�}'^�
�@�F���sEC����#�F�:�����R�N��JxM�
�~����"�� 7]U�U�t�cT/-���J���d����P�6��U�f����U.DV����)��mK�0��J9��!���0J�K2�3Z!�{-�/[��*��No)/�c�9�����
��^���u\$�@�^� �Se�gSX�2p������J_��87��8�3�6a�����"���OLq(L�������/a�'�m�Y����wE ����}\V�����jm�``��7�A��6vF�~�|Hz�������Y��uFk��������[�Mwb�z�K�;�T+�E��d��?*��t�Iq����;;�h(a����\��F"��I����($1d���s������nKIP9��;�!3��1o�o�o�k*�q�A�p��S0���=���sgV;�!��E���`?`�Z��SK�Q�hs<������t��O����R���JJ�K����x�6
�@R�s�(--/�*i�$&���'[(%-����~���d$%Yr������Y [Ny+�=����'����"�����5��s\����xK�I�;�2)=���4h/n�T"���=D�4.����K�����k�)���_��B�U�D��u
���bR=��}+�,xQ��VF��}o2���6��t_��Z��O(,5d���9B���5��j�����2���;�Q�?��*H��XvV�e,���{"�g��g�*�1��M�ah�'9�]��I>)S�E��E���e]��4����M��C��GO�`$+�X��+/�����H���?������r��R��������-�B���� bq/[����jG��o��V[��X���\���xd2)l��v
�E~q��o�)��������������( ���=��1��]#�j�U��Z��PV��AZ� W?+����V�
u�E����t�v���13�������Q��J���� �c��95^�)x��������XUv��S�� ��,F#���jC�s��h3�,��I���Vj�5@R��s6r���}Um5|�� SC�7��5�����UZ���f���W�Sz���p��x#QJ�>�O�"H����A��r��=�>���F3���;-"Q#P����L�J
��9Y����>�]}y����A���gX�JTm3���u}
��(�h�Z[����[�Bu�@@��wO����3e��p�0�����r�}�"_!~����+9���
1���peY�e��7`���je������G;g������zR��N�J��<w��@��O��<F�������/2��N�m������:�J�~��%�m�0�5 �#s~F����|�HrR� �$$%�r7� C7^���{sSAB�injG�z�b�o��)�1��i)�XI��\�����;N �I�����
�(
�o��o6M��w��|��"B~F����)��\�s�'����1E���JS($~���zu^,_x��(^��RS8��;�`��
�{�o���J1�I#�,���K:#����/Y7��i�J���7�P�hO'�����O�XT��mE�
��Ss�����N��2� ��2nb<W�q��A�&���>0�F ����������H�X��R��m�=B��y�����bGA�<;3�
���c�l�>���n��$#w�&-5I9fIMb���mf��1��)$����j�s��"Lq�)�N�%>�$������5� 91���f���i���UV���K�T����$���h>�Rf�]F4DZ�&���{�G^��D��+O�������h��<�v�q�"�U`�)eEQ|��RC�����|��:�����O]'SLR�=^����-�H&a�� R��\�������� �~^+7�}N/�����s���z�HW�56�������S:�z�����Cwd �����V����8r2��u2�[Q.o�K����_������e����?RI9v>W_`I,�dK�N<�R��!��(��s31��b��Wj}���_��X�H\���^p���TM�jdL�������+Oj�L�R���m�i%����#�B&����9H|G��b�U�IS�����
(�����_�J+q������8��R��\���bf�~�Fz���*�5\Y���2z�8���Lm�����4�������z��X���465�Z��ro�*!��b(+���Y.5T�o�gH�'��.�C��#����� �],��R��9��5���n�e��]������"�Eh�m83f�b���������)���k~
��d+%�
���5W�7wb�_���
o��=�h*��u� ��|�� ��fze������n.k�^��}�b����CUL���m��<��zz4�rH��vw�Ed�������x���c�C9L��"P�������������e��i'�g%�"S}���h���ij����,O��.�E����~b�5��<�zE*�_���!����:���gm��Tb�IO"2B�5���,8����K�WK}}�Mv�f�Tv�k��3j�����2��z8�������q���k45,H�}Cp%���:����hMa����5(j��{��m7W��~QSv�Q_���� ��E\������W�@Xp5���$�m���V�R�� vu�_��"�|����-zb��=�(�F4�K2����1!��+u�
����A=�1���
bY\@(b��W�uQ��������y#�:����0B�:~����x��D�q�a������u$����57e�}�+�~���V�����5[JR������e-����k�@����lRD�-Yw_!:�~}�OpE>=,���NY6�����R��%Y�l
jM�%f����_P+��jW�b����=��Op9Ml�P�os��*(����[�����)j�����@�*my�}���X�^��Dd3�\��I������W�gj@��k���� 2L*����|��s�~�Z�v��^Y?��H$�������e�z���\N�T������!��%6�Z��~=h��@]�Z�)��u���)+�q���=�,�3�^]�R���,��3���k��?0����� R��r�QjH��ge�?3�q!����0M����H��s���=���Kl��\�������S�q�����Y�����<U���[F�/�`Q���;(�y}���� `�dA��qx�X���~���>k
������D��8�d��vnK�zu��`C>A��
��")��3�#-���!��\YOy}&�S7��;w�e��w���W����QV���������S����@���2���f�q)L�@ ���������\w�uG&�aY�6
(���~=���)�bi7�p��k
�\���T�6��P\���X����s*9.E��q��F������v@a�F��C1sy���u�+H����4�T�a9~�}..���R89,7����3N,�3�~?��G�%R�?��a_dIM���a�����u~Z/�$?��GNT*!���Z�y��3&ZY
�������3�X���o����1�~*����q���f��Rvu%%�bbY��
P����wb��m�U�.���W���D���A>��������R���>�&��)nU��6q��'�k����|m9E��1p����S>��������<����t��V_?;�c��r���W?�Nr��cMJH$����Z} 1�_�s��T/_IQ{6\Tx���l�<�����B�#��Y����7=\���RB���WC5B����p���T�fd �W�:>z2�WG��K����������Z�����e�t@[Xg+��I3V���R��u%����,7�%���-�"����Lka�a�)|�&���E1([���c�u^[���V�8�.I�
1ohe@��{u�����J�z�4B,�;���Lu�lv���]�����;w�k�^�\���TYR.�J1�Y#��xM�`W\�z����/?F�q��?�����e/x��[]s��Wf���ru���[��D(m�K���\�&9����w��>8An�����fQ��Xd#p����U��-������t���\��[<���s��� ��Gx�Eqy���'�DConKK��
Ct�^Y/����9��H���I�8pCv�+�!f�6�<1:Cp9i������.�~���-�
�6wi��Y����W)��xfT���_�����Ad6������l9�.�/P��@����2�q�LR��Vp�i�r��d��]�;���3����yI�l��C�(���r�2��:
ER:�e����������l��L�N,��W77��:���9V
��=�����])�����'���a���8�u&�������j�K4��k��%�]�QUp��^w����(�����}{�6k�ysFm�@��Ep=�SUp���Klg����c;�xyr5UK����v�������2�HV�����!��b������G������3g�<TKH���mv,�@����/V���v�5��d�Q���R������W����E�I
��l�W*��n,
K|�G�����g�����3�;�{Md����;/�+��+R��u�����.�cq�J�2�NvV\�e�����U�<���������~B��1��l����o��S��N.���"�r\Fv��Rm�\��m����C��~�~; ��i�_������9�����Z�v5�>�������]��p�;��_}������v�OS�8:�G��*3��������o�/2��N�,�������ZvS���}�BE�h�*������M�g��y_�h}����
L1i0<����y\�b���������!:Z��!���p��LXwN���pG����uy��
�g����JW���G�R�v�$��5���t���1����}��4�a�y�>��U$;Q�_�O��~tx&%e2�MY��}{�������������N[�h�s4����cLN%��,5K�Qg�>-o�*�W6S^_F���.O�i�3d��l�����f)�\
�xx��������-������v�.������V��(�
Z���;��O�fQJO���k�������6T����tQp��Jp6�����r���8FEp9�������7K�����������7o������
w����.�O�I����M:��4E����~F�?.�JT�����k�������!��<$BQf��������17����fxO(��V��a������k3M{��w��(`=b��-����x���`�4���E�\b��5��lp{��Ss#��+�gM&� ����47h9��ZY9�hQ1?U�mV$���G�*%�7�E�$O��F(n�-�L���G��<���W���0��)ej����%\����d�"�u�,,�5 ��9�z�
�!j�����,H�.ks��s�����Y|V[H����<��R,8�Zswv���`�%�"������;k �'[� )n�-�L���)�^��za
��;e"������ >�����?������DB�Y��rB�S�D��Lp%��0�{=���oC�������RYW(����%4�zX�@���
K��h��<�3��-wu�Q�>:���7r���]���tJH
������
R>�<�3��t}�umE"<�PL"��E��k��$���L_�O��S?3�A*��Cx����l��L�;H��f����B��`�~�� .�x����Jh0f���E�@���'�����I,p{����T6����Uk�)�_h
�w�����}����^p}`��%��-�6-����(Mx� K)�~�����IM���L���qHn\�G\�Q�O.�U�#�����������"�����)�����/��4�ECp��?K]1���Z�g������`��{��F=���_��@�__�?+�Q.����ZKpE���
�����$�m�A������7B
�I3�Xw>@k�P%��*��J0������ Vet[��mI��e��
�IMXwA�5�}}S=c�d��z���
��K�>�e{��^&K�i�O��C���,ye���(d��[�uI���,�;����J�#3[��g����R�wn
&2���unO��G�T�<�,"��ahC#���9�N��W���U}N��^pM�w[��l�����/��GZ������z!����b�g�����L�|�_�<U��S\WibP���O�(�"�e��8�2z��U��"�=�����!�K'���?%�>���� a�V�D �(?����HfV+s$&������I�S[�T��U[���p�����o��'Jc27�����/s����U�er�Bv����@�mk�>��V e�"�l���r\�I�U!}���o�i�|���ys��BA�������"�5�����9t�T�s!�����"-�U]M�{�\C��u�)'��������v%0k6S�#���kc�>��\��5�������l?
��S9�t�K>!?.i$C �Asc��?�P^�x����P��4�>f�����J��u����1�$]�q> 5�l���,�j� Xd%�H|M��%���������R����
�W�uM�5H�S��{��%$7��r�� ���sz�6�� o�?����DB�U7~Hp]\��B
��C|���@FT�P��B����a��H���Xs�c;wj����z���w�F8$���n �� 1�r��Y*�-�r�R ����*�����������Um������?��.#�P���=)`��UK�bT�������>2�R�y�T��[��y��<����( -�D�Wj�8?��R ��f�^��H����{��|���R�t^�)`4���M�����l�a���~��^p�3��)����ali�;��X�����5�������H�$h��rR�X[F�K��k�dR~Z��1R���Dd�����v
��&OP��Z���<.R�������y��^������zL�����U�_V�5���U<��Q�FHa���/� �����G+��>,d2,������.K�:����^Q�����wt��+����0�>�PR�(�R�8o'L��0r�����e������f����J~@+C����s�����)�I��K)�Z�e����2���������q��|p7��6������N�J�k�q�x%k���I�����U�m$A��hu�����l�f�W�0�y0E��yW�]������9�w��5�����
���u83;�Ff�����o�/��~>���W;v��nl��a�yif�����41������k���p���)�W���>��9�mL����$3�����h>}�B|!��m�#�������9��A�gWRN�}Qs�~��YQ�z?2����,�QA(��y�9q�
7�^�e�Z��Y��7������
1n�=�f���n��(�������\8u��K�r�_h�e���7y��^��s��
.�a����5/�P�����7t7�3f���������M�/�W>����t�4�W����3E����-��\CV:��[�8~p�:��D�|Tj>L���[?}�_�rX5��-���\�@�2�(P�=������\:s�mk�2q��Jw��\���gt++P�^w�_�������C��(�}���I�}I7
�G(^������Q��cUX������"_�R��>������;7�_�y�j��h5���5X�+�������s�np��a���F������E���Lm��=����r��
I c��3g�3�n����6��*�`��e2��jP��)���U��eb�r�}��q��x�#�����:�^d]����n$P�A/6�s�������M'�������)$h�g�����k�p��������P��K������B����3��q��qVL��Y)#
�3���E+�c��6�~tV�p�is%�{�FSp�1�}E�Z,w>��[79���?5��tq*5�{�,�cI9V�Q&��q|X��o�y��S�,)����u�������b&���(\�ey���V���M���J�C/QG"���S�e�o��d>�[ug��a�m ��La��}<����/�#3["�f�����}t��G��q�����O�v�Rog
s�v�r�NCC�w������3j��l?����'������l�,��r����9���s�������t��a�����o����,�I�J���m?��;C�"���1���������h\���R���
)I�r�f�KP�@���h>��W�x��V�����y����[Q~�o5���NfZ�7�(#���}rO[Z�'?��b��'O{p��e\v��M}*�h<�)S|�.Yc���a�����������")d��Y�����H��s23�E
+zP@"���y�w���+u�����q��&���QP��������(~�7�&�����[r�e������4#�=C�!�g��'�x������V�����Wy���L,��A��(X�K�����<���������Y<}���q��M�_rg��!I���[�v'2�^��m�}�<��]�U@�~��UTJ�v���^>�V)�Q�Ved�L��8�ez��)��������sI3D�����TJ���p=}��W���d�j����(����3�**S�6��&�m)+��t�������W6�+���W,H�*mY�t���3�y����t�o'��8=Y��z��uV��m
��Ii���<q��6�B)�!���� oo"7��1m�:������\8���_j`X�!����R�����F��t���y�F��=��C�Q��5��f����;Sf.b����*��z?e��2f��l���7��2)�{�e��i������{Y�p��z,�[�����0������'��p�i�&F�\i3��=�q�(��D���?����8{�"'�b��qT*,�\����WOl�4����d-�7l`�������>�$�3��'+D� k9�q�+���tL_j�-��Xm��\��G���"iFZ4G�Ob��]��n����#��V�F
�B�nT�BZLOF��Kq�x�K7�-
a���~1�����z5?�6����L�zi E���Lik�X�_W�z�8�Gv�������I�t�6&�(f��-��������YM���)jP�:�<\$~bb���Y�f�Qw.^���(�S"����2��r+�F�gjG3d��2k���_����iU Y��x����+[�ob��7������
�;*#iF2��t�P�\^f��}�#�����Tl����D$}���MXsK�X�fM�4�0�U9�����6���P�b%�T����!6mG�������=J���Xt�����>pc`s�7�R�*X�aX����=�Ir�?�~dg�-�e�*T�(O���y�����~���9���g��tYp<�c�P�"i�xl�Du�|�(k��� �
�1h���"�����.U��vU01�b���pY�������,�{?}dB����Fk
W_��0�c]
5���
��e)X��_��\s�������*Wc3K*W��O���eQ�
��s��g/��Ij(�l*�s�8�����zy&�V��������ckc�Q�b��}1���/R���dh+�(�ye�����cW�m�f��}�!fR8��g�;���&=g�q��i���1�����RE.*���������j�{�4�����a�)^����`j\���q���!\q���^
�����������n�J�D�[Jc�"76���2����i�^�����e����-TS��T��@�8wz����W��T�c�\�1c�����
f~�I�H��ibA�2������
�����Qt�=.s
W��5�X4`��l&"%��hi_� n���Eyph5����5vU,1������1}hW����p>:�����I�zS"n����?�+EOj0���yY��*P��<L+P�\ y��
��K��$!���#�P�HQ�*W���<
z����]to� ���v����������`Y��M(oR�
f(S����=���������T/_�R���R�2��R��%N���}.���q!�����X[����#��{�3WfO*���z�"��pk�j���������?�zhx�q���2�������o��b�c��'����L�2�X�w��]���e1J�Zb[�2�6f��'������e
�K[G�l����N����b�y���`�9o�6�Y������b��Fsu�t��T�J�J�-U���8�(��G?;A����J�lrg�y=��~WJ���Z����9�5�������,Skk+C��o��e��\��)������Q�d#_���g�z*��<�:�������t�V�"F������������!*(��n�W*A�����g����6>><�����3�����_C��rA)@R8��+&���m��p �BgGKz����=K���yT/W�2�VT�����;��^`d�&,p{�<n�������o�H�~�1����?�����4��ZQ���mm�`Y�y���on���F�2z';"n����!�/e�6K�$Y��U)*T�De+3��b���g~�%]�V��xA����],��`l���|�>=�uzuM�*������Q��.�Gk{�)���9�D!I1F��&A����gf��#�rEM���Z�U*C cS���`jT��k���B\�������04��Qy,-�(Q(e�;���+��e9��t[A{��,R�����H�/������Lx��]8�r��o����_�^+ ��'�������E�ajY���h�}&W�o�N�n�>�\)���f�G�#O����(Q�(&�����qIj����Y���p�L���%��he�}���ON%��$��k�����
d���i�gUf�C.��q�a��t��l�X�
���Q��
n<Gd���K���^��S�����3��:���f�����9a*����^Z����o�|OjZK��a�6�����>���=�Jcm#�+%1m����j����Tr��_u����XQ>����� ������1����;�+-%����l'��������D�o ���(�|���?���X�<�����)15HO"*�+��~~&6>�U,���������?&�)K3�!��15u7b?X�Hr|4_?����X�7�)��~��� �Q�AL����;�~J'91���o��4��������� �5���#�79&���N��{�3 ��m���ma��[kn��wS�s��UIZaA����HhDnn�tb�C���98"3�A}d|:@��'#q i���� ��H�>���dw�T�
W����a$�V8-������542�[��'�� ?>
#>��������)(��� )Q��~L�'$(P>���2��������8����0>�c�M�� b��"=9�$�{<�����8�������'�Wa�� ��H��K�����P���U�C�D��a _�#3��]����$Mn�A�f��S�[��-h�DR����C�Rc��9� �B"H��HM�'��bL~�J��:g��"�$�5�+q�;5����\��9�������<����@qn�Lt����d�r�)I�sS�x�~�'�S0qI�c+��_ZB���y����(���"���}^J���7H�'�K ��\��s���7�?�#=5��� ����LdL�I�R�#�����jaZyG9�b%&��M%�)�����$-Y�y���WE���5�#�} ~:���<�k����� �r�����>}T��_���I����&1�}ja�u!b�U��$#�3�Q�����Jz��G�I �}Q�?_��k=s������ (0�����E��C[3II$"4�������|�b���M$��
������ .2��~r{&�����-���>}�O|�D�0��*>>�|��k�j�u���$e�V�I�����b�"�Iq�~ �/�����������}�B9�s"�J{@�W����g^J�
���{b�9�#��������uRS$q[3b�%*k���������2�\��Di�}���K�k�&��zp�mRI�Q���z<�v�F�_���C���u����=a�6Q�P��/��H����������������l���0l�D��^z���/�\:��H#:�+�~o��4K�@��g�����D����P�g�|���G���k�����"a ��PQ�}�p�@g����6����������7k$e���M��7�iI��������/+����k����C��<�x�V���������d��Q�}z��3�QTZ��6\�Lm�_C�7�~�IY�zl���6�C�
����_F����P�:&FE��{1��ez�_�"iF�*Cx��p�KJ���kF)cs�7iC�h�X�r�i�k��KS����!c:W�Tyk�hK��mi\��J�v�R��~;L�:�'��ia]��Uj��]G:�iA���)Q�:7_ 2�����cC��z�w@��
:�����2�������������X���N��k�=~��Z+��N��W/^���9.���_pF��>�{��s�9�<Wn?%(\��u���������w�p?�������7sm�:�G'�t���C�:t����_B'�t���C�:t����_B'�t���C�:t����_B'�t���C�:t����_B'�t���C�:t����_B'�t���C�:t����_B'�t���C�:t����_B'��#%��'Oy}�%��I�[u������<�}�����* !�x�� ���H���C�?Aj�=�������g�)�|�����^��������xx�.�_�����_Gjo���� ��O�� !�������@������{�����$�/>�\����������s�;w����)��H�(*>�|�>�?8ZcK�D�������I�����e3;y:�������9|$4�����xx3&�b����;u����5�����'^D$���H���|?Ein 5&���r�3�g����U><�#:4yWE{s�IK�����_5w�?Gj�g�9�c����`��'D���+>{}%Ee��'F������v�I�y��1������;��{�������������?Iy���|x����}�z�����=z��'Ox�8�7�����h![�/n�Z��,����V%=�#�?!8>Us�_>���
n����%N<>u�/>A��(�2��N�����.���[��3B�1�r��>[��~��Wn���`Ww_���PT{<��;�?���l�T��|x��!�����?x��_�5&�����y���8�mi���x��Y��������3�����aH�"��~(�H"����������������z7������|z���(�g�S�����#�J���w�����H
�������U�O�����W'���`3����]_�T�&����1�a?6��'��9�]Qfz@Z��K����pi������S|���< �_�������z������������y@|���b�2�z1�Ls&15�-������HN�9�_�����7����oz%�L�\Q��x�CD��_*��������tHM ��[�u��{��/o>�^%��fy����i=�)�����<�|Et���_Jt�2��vy��]����~�q��bl������������'�q����F�0��m�X�Q8�� ���T<�DKr�U������!r$-����0��q�$~�bR�jB>lj5�EGl*G~Y|Z�����](&042��I�4�M�BR��*1~�e-���y
���8�����m��@�8=RL_���P��*1K�f�`�L�23k�
"�{���u� ���� ����$��s�o��jn�����1K(��:S���s�7D^�W�n��Z���b>�^�� �v����4>��=�}x���(cj��]*�+�D�oR�Y�/�e�&�<�R����q�D??F���8�������L�T"E"�)�/A���������gWa"����I��P����i�?y�j���z�:6���l�3KfV�����k��}<���cV�\I��t�����oy��2��?p��!���g[��L�pt�#Qc�I�����'�\�.�~�!X3W�)n/�t`�����[�����Y����0�\�*�V�/�+5���{~�s�8�7��O�5g�XO�V���DB�W�Q7iW2KS���J�&�
�bt�}5���#�
=�Jq������� ����Q�����{�=���(��2��8���w�%�������U�%t��Wv/��C����K����A��9��'fJLX�f3�J#,������L"��J�,�cy�P�uM��W9�%|dv�*����G�J��%��~�e���N.�+��=1�/�y%����io��~���b|����&��'�Q��Q��D�$�A�/#����X�ll�\�"E
�B~��:O��<������M��|U�/������7f/ �e�+���Y����s$�W:�d�^U
��'����
v,�2���������Q\����z
pw�%-� ��#�Vg��8�CRIz�s�����3_������B-�5���;���E��t�����H��S�n[Y�W�U���59U�e����;�R���S\HP��+�76P���Da��I�H�����C6_'%5�a�4�IH���z�?������)����y������y�n�&b,T�<��~I�L=AJ�Ug4��-��vRJ(�t�������>T[f,:|����$�����'���W�J�`�h� H�7w�_�'6>���p��b��m��tU�����).����<Z�J�o��D�a�AT���+G�X�S+�������u������U�+�&�Bn���X�L:q�������<�2�
����k�>�Z���9�%�jO�\�_>�����0_�ai���K|[�p&���T}Cx� B3V�x����_=���SL��2�P���T�L���z�{����rz����6���@�����[��u�v����@�����u�Wn����l�f6��[�E>)�/�.�^�E!II�]VcI<�;�9Bf
�����G'n�}�2�&�a�m/�����������]�?*�^/�4I{��5"���M[3Cn�;pt��L�y��+�
���s�]��s�"V�,�*4���w��q_���u8����%��ml1���������[�=�����id,Aj���o{�y��TF����d4$�@
C���$7�R���P*���m�{��w���:�!�D����D����3���5��8�`��+=�6�K�8�����x�y)K%��&�aG�%�?|
������-�����<�*5�{�d�Aw<_��y�"/nc���S��~�a�O����i��V��\�"��>�H�v�����������c�9\�53$�l���H�KD<�NEF���s�?O�����J3���\���vU)[��}|��/�
4.+Ef������[>����z4����o���U+>��� U�1>�3���o��z�__o���������k?�/��eJ����}Oq�b|�_Q�F���� �xv
��A�_x���F�8��gfH���s���pe�F����<�)3�:r��O1�%Gq�M#�H�p�`�W���������gHJM#=����&i���[�����+�U�9�%��k1���E����r!-��j90�q=������Y�g���+�����=P�� ����� s$%����������}�C�(�_�_�o����\�v�/���d�ce����Wp��-E��]5�pfj��(��������k�j��tN�mB��-��t���G���� L
��YWv�r����C�>y�f��-�p:��7��1 /o>~�!=��_�
������O��� �i�)�0�,�Y���HUN��z���i2��
�N��u���U����A������L��>�Y;�'-����Ee��xp;��� ^���N�u�'��2)|yp�������O��'T�>O���mO|_(��w/x��(�����G�p&�d�`��.�����k/�W_S���g��q�1�]x�;R!�k >������'�xn9����r���*[K�ee�Al(i��������,�3e�Qo<�a�a5����\��l�/�)b��WZ�r�{� ���p{������XJ����4)8Ml�`�7o�d�T�Qm�.�1��u�����}���NR�/��g��\}�M�r��Ip��0�qq�7�F���q�k$L���}���%e=��k;n$"�������<:p��������P�����-�x�=���N��7��>F�|1�������||iz���z�Z��YB;�����+�x�����<5��g=x����W��q�R����1�O���/��;p���o=�x6g<%M���/�D��,�1��x�����M
w~�,���<A��l��k406�����|��<�m�bU_4��;=�����e
&G�!}W�����\�+���9�'?%�9�(5��
5�4��^��.� �FC�Wn���c�w}��n�������|���KG�{�(o��@��< �[+�#-h��Y��q�����2S����f�LZRz�9��)���<��FB�[��9�����y��\���[�x��8�[O����5hZDo����G������<�|O��h���������Z��>��uO��xET�z�!O�p�������G
�(�_o�\{E���M%��e�m=��sy�D�D�9�:�Zlr�J{V��\"q_C��?>��*i���/<�����g�^���&d�{� ��O��~�$g/]�C��}�JD����h��>��W��Y6����?t�� ���`����]u�����8�;=�|2���0�3����y\����L
�z�����z4�|H] '��LZ�}OC���/������8���J��=T�+�oK���->>����8����M��������[�9s��W�S?(�9�n�{�(���h����>F���y~��v��������$��F���k/��:��4i���Q�_���3�e�2��\,�/���o�4i=��� ������=3�m�y;L1Gx�dU�)���,1���Z�)�$59��>ao}x}�_k ���/�^����w��J!W�Y�_����xq�>�W�VQ�Bp����:��S�z�6��?G?�,���?����r�������� ��/�:���g{v���H����W�Z�8�~]E����}<��AY�~�}|�����-"!9�`���;}
�K7 ���D����.������U.."�/a��~�����3GN�#\�S���;������/�<�?��\�mK�0������� ���{��S�GpE<��M����~m5;����0������%e�������o He�LO���1]��\���h]+S�m�i��=���!)�+#l�Z�e������&%Z���1�H�M���>��� ����w0�X��*�ftbK3����o9�D�U��{pv�z��4e�P�I���7b�������J�{����/Tc�`+��&Tcu��<}�������Y�d���`s�ZL,�$�����{*s��]�3O��B�&��l�"t��E������5��P���j����B-6�]����+���z������y�y++1Z���!�r�J�����5s�Fq��v5f��zHa��8u����Q�<=�*��%6�.���G�7a�����rE.���pz�)H���R��`��K��]�+��"
��e����&�<��3��[s���h�,���f����t�2�3�`�r���<�8���H�C5L1���0C(��>.h.O����fK���zg���R��L*2E��R���<��f|:~�-�
�%Te�`�41���{�MPf8`
^��2�PkN�=�{�����=� ��uA���\����1W��"�&�������u��h|��[k�s[f 5���Ezpa�}�Q v�7G�6ai�E�����Z��"�O���x���&u��UR[�>��y��,��1U��/Na��4;���\�Ca}�j������8�Q,h[�������M~S���+����\����X�J���,+\9�y�$�r�{�y��.n��]%�,-�P����V�2v_�N�k�����K/n0�k=����h��lyGz��o�4?�8�����2����;�3�4[Mh�����*R�EE���ul)S���9��9��sx� �T���Wq�C���l�t��[�M���Z�C����`��=��9�e�k0M��d���Gr��G���� nuR����c���{r_|�.�r�p{�DV��t��;f6����|�e)��3�YE:s���F�f�����6���x����u���L�`�A%����&��#���eRcV4YN�J�7�`$-��a������n���N���T�jG�J1�v`��g����p�����Kw�i�08����<���`V�1�O��K�J�9�v6�0.gBE+;�:va���X�0�[��}u,��7������0������
���+=�?�P��<�2����Is���RL&e��0������x�M�z�qfe_*����c;��X�DF�*�i��
�:���d��>0���FC��`� �����]e�+���fW��
T�f�^2�jv��03���)���8z9b��^rx�e��l>���^��co�I���6.��O���������z%�q�e�J�Y����Wj"�w�\��Y�z�����]�+��;�X�`���k�%����S��d�N�����-5�i�%���gY���j��/���)�sX\�
[���s�RV�-���m){�
��=�i)i|�.6�\��Q�X��z�s�����V����\6�e���"���)m���k���������8`���v���i�K;0SRYnG�)���n�kxKONiM~���K��{6��7�T40f���r!��?�7�F���d�0:����
�e1�i���/4DZ<n�akS��013��R
f����rR8��/�'����&���D9��Tl8��Q
�������R�J�2�X���r�?����o���in�����,��H!����{v)�����n���P���P���V��k1!�p������O3�Oi\�8A(���$&�����x��f���o���'sjAg� ����O��c��U^���K�52?�%]J
T����u�?"��OSC��c�j?��9j�c6
>�����������,��d_�U��~�3����-�����$�O�����)���{����qN��[��iu�md��H���>�������/��{��p��,�1�P7<�k��%��]� ���lm>��S7p~�~��>{��H(��
����*^���(��
�n��Pe�}r^�b�"+l~f�Ac������<8�:��s�[3�YB
���[�i .U��cE.�+��e����}��o��j(<\U9�LC�'��Gy��=W���{<\�lP��v�x�M��W*g���D(D�1kx�DT�G�����-�x�������H�T����z���
�,4�������E�p-��0_V���~����������2G(�<���@Q�<p��'gg�����{�cZ��B�l�T��^M�t�s�Flm>���sw�Fv��b�`��?����F>�����Y�_���8_���5\�|��dHy�[�zL��?|///=���-l+_���������H���*���e[���''F.��b7Br�BR#��Z�.sM�����QL�����J�|��L�p���ZY�}��f���\��BpY��'
k&���K�3i����pE���u�|�p{���\�_���iB$��\Uz�B��R���*]fp�7���H.��H9��N���4���[��^>�����/c9~�^^���������J�>�}Y)m�]�2��C9�� S$�8��I�F��(�����\IMk���
��~��c��B"5M�8�y������>��#�r��y�u�X���&�`k?b�O����X)�,�+,�>� ���p�efI���j�u#�������fM�#�e����8e�&0X|b$�h��������T�y����8��#3$��7���
w
���`���5�f�A3������x�(,�q�����3S��+W�I}|�����l��?�^MM�#��������m�p�G���?���T�f3=�i����"�����}_b�� ���P��H,[s�s���C��� �|T�:��������t�R�iw�)�Ov�%�T���x�Fl�'<����e $%���[��Rp��G
#2��R
�
0q�r��\��S�pF��
�U
�&��I�����^�d�p�M!��NJ������',�
�+�Q��"B��yk�z����C���9X��)�-��"�������3��"x~y?�L
(Rg~q""�3~A&+B�����AL�GN��J�BR�^�We��h/'*�+�A~3~����~��Fse�,L�e���8-C<�f4��B����DRd ���.����\Yi6�s&�����#��u����Y��?�U<\b$����0]Z���I~����:q����� N5n�dI��>����m��%�*,5���9?qO�!=-�OGw�B�N�����}��������+5f^�����lGJ8�{�b��"+k���R�������!5cC�-�(�.���j2[�#��������8��Lgu~K���xD�?��,�@�x��a��� �u���4?���o"�"x{�$?W*N�J���)C�qk�
����n|�N !�%+�E��%�.(������������-�m��c/��Wd|L�z���e(_�'\o�#!1���wQ�L~,;� :g�ZN�-����5�n#2:���hB�y��*��:����^���Jd� ���'evm�@���T��/�Z�X'��Q4s��#���!"�U}m���SJ�g��h��T�HY+z�_���j�&9�:�$
'�]�$3�Q���T2�~Dp�\����<+����\�6���9�+o�*4����������!nj��N�[i6=�X��Dk�$>a��-�
��'BQ���T�iB
���R8��]~e�P�mcNf���?~e�P�������������zm�wWU��r�QS&I�s�������� ���rt�
�4S'��)� ���O.�_\d�a��+���\��YM���������#����kD��Hd8�~/Y���&�$KO{)K&�Yp�}�AS�������EIn�+9��T��!���m������)RI��jA�8>,l�,��'*/Kr���V�IL�Y�w��,�������$t����C�E�\���)C�R��5JnX.�6?��P�g��F�<3J�������}��7=y��������YS��>�f�m`�����)�D��X��L�X^6��2B��=�i�F\?�X��z��< �[V�HR�% Wc�h+�$%�|���"!1��f��y)��A���n6zH�;q+P1[�������V��j����r�������0QQDGG�9�+�RZ_B�������lb����Cc�")��Ga�s���
�����&qM�7���*L
e�<�e����s�J=�
�8���L {����������M
w�b����/�����)�W��W��5&��P�_;�*�*��s�bhV;"�q�V�)BmN�|��=�K?wa��!����9��u���<�����l���"��-6�w�y>�Y��%�`N��\�K4����D��},�Vd��3$���|� +���
.�ml���f�,�Ta^��8�^������fy��[@�7���H�2Y~S�^Pd�a�l�i�\T�.�v�E i>V�Tz���Z���z�V���\��c��g��kQ{��{�$<������)������0��)<2�
F�y���X�Qo�V�F(����@<Om������ ��JE��]Y
���gF���,��J�����|�|c�W��N�Zk�W�Gf������wk� ���9�-����Wif�G�[�����z�gh��[��ec��`�'�b��Dk$_���2�����ZDy���4��oS�`�������8��>�. �][�T���B=�x�)�R�����3�D_^��
��.��L-����.������9�04gz�^<�'&/I��H�%5e��s�}u��
�0�|�S��
w�&_����R5�%P.���Y�gn_-*z��J5�,�������,��+k���Wr8���x7#}p���T�#�����[~vL��q`�y�T�B7��{���<G�J_'~:KM���]qR�Z����G��2E�tm��S���A>SV������pO:��g���_��jaH�����=�ptv;�����pS�\D<7��������A��1�o��+�[X����z�/�K"+X�:5�Y�������2�;�Y�q^W����6����,a$ve!Ri)��x�����=`(c�3���gn���F��/�8����.��*���+�v���A(F�q[��)J�JA����Z�Q�H�dF)�F������7��
��f���j�~��N�W�Qp�ud���+g��6}r^�"�sU\����C�<��u��^���UYXx��F�\pU�e�^�WW.�������!�����IBM��Vd�� ��E�6aV���_r��G����Fk��r|�y���k���K���5�B%1��Z,���������kNC�a��7Wz4��C�x26n�x���z2*X�Q�NMj�W�D>}#;�m;�" �.�Oa����as\_.�E"��/u���W4���bZ�?�*�Q���7��d�^<��K��Qp-��eY���%����,����Nq-���y��0w��c�0�ltXEp�d��2��W_w��{�c��[�IqR����"���7�r>�;�{0E���nkx���|�>�r�kc��Db���s�,������Cc&
q?�s��tb+K%�98�z���=g$%58����5����A����Y�Ok���/��#1�O���D���zz�\��j���U9y��]p����0��+��*�h4Q5 ���u�����)��kS��=��!H��|�R�+n.1�������Gq��y�������8�����HJ��E��]��a�'��#��w�6��Ap�����{T�o�G�q��(��t.X���W�Z�����g�����8�[��>���.����x��M>��M��j�
,�9� ��HQp��Z���$>h��~>e8�%v�yFy� ����i��=�J�%���,�Z��jw�*��8��������!���C�:���4�5[{�'.�DR�SZ�aq�E�(S
'�uQ�����b������x��3O�����y.���Z2�Y-m1�;_-��������e��=�����,Ys�]����L�b��q� �MX�2�|��l��_�(#���Z�U��-��`��{��hV����^!*�����$��]p����0O�+����4��,����0�Za���@���U�V�K"����n���������;����kz��H�N<W���7Nr�5q�]-�%
����i���:���
�y)?��3K)o(c�_^�,���a�����/���y�`�W�a�4<o��:�z��x�*0U�p����i5[/�%D���9R;4`�a}U�-���9M:ADFh\r�W�Eg������]j�P.Tl�3Gb�b��,�s`�`�L��9E;��� ��F�=�Z}KY�"P)\_-��LYe��<�s�}����+Zm�Z)
�ezX�8�O��}���m;2U����r���r:�����A�G/�t^L�T�-�~?Er�������L������s����X�W�]���'=�%=��d�^~ E}��+��Yb�d<�I������W��'���&��R
���M��S<;���s��(���#��'��c�rhZs����fH��m���U)R�6���g>�������a������7�ig��
����5Jbl�K�/g��El�}�K���{��Cp=����9�Z]�]������j���;��
z�/*D����1
1z������y��~UJ����\�m���g����n8��|mWz�����YC�h����b�ed�@���`}W��Upy�+���>��%�a��s�?�����{Y�C����W�M�W���n�������hV�n��MX$�eq�Q�Q\�6L.��/�3��^��r��%��oJ�Qp�\<�:�%�euYh����Y�_��Y\��E��sb�CyYQp-LX�v��������Y2K����w�
&2�+��G�d`��*c�zDL�bM�*�\����)�F�P����N�#+X�#f�j�/^����x��� =��K|3Y��-�����Mp�90���MU�pj�m����M,0�?��Lz��mM&��~V�>�$#K��vk5�~�|k1d�=�=2�$$��~-[lZ� _#��l��2�YY��+�u�\3�`��*N�.�p��9��S���;�xq���J���]3��Yl����
2���|�,-V��-�(�]Hx��:
����<dM�����o1/�/D���Q��,���D���1��/eS3���]����D^����>��5W�[s"��?����=�d����������<�y\g��?�9�n|Q������P�]?/[���K����x������hYH��F&T�j�����*�U����%������X��w~��e,��Me����)$1�EL<��c�'N��U8�G=�-;2�f����w��m^�,�-��^P
�4>�w��C'j����Y]�
��5b����u� f��\V,���
��n�fI�����2�c�����i,�X�PO�
��X1����#��t��
�1�5s$S$U98V��.�S��;�3%�p?�E���D����f�K�Y���/�����z9���JBB
���D}����,��a�����0���C
,�����0jo�g��86nJ�zu����f��Hd��x�C��j��Y�uDk����*��<�y�(��X��~�M���}{sY�o$��fY�:/k���Y��Y�[�kE3���
83����z���:���b��;��d���l�y�K7e��� -�.���p�>���p��d4T�N=w�%���$'-���2
c�)�^*<\N������B����D����mg8�������^Y�8idEC��4Af��W����WG�/oH��W�\��-��*��l�����rl�^^^O�j��Yp%�����r�����WfKXo�+[��fg� �^z���E�3-��m�2]���BIK���#3$��q=<��]p)��m�J#Ka0�| m��s
�� c�'+��)g5���Cs�����ny�>*C#���C��h��n���=�]������8��K�?.���Y
���O�F���+��W����|��F�O��ZS�����Q��V���h�m�i��U
����������b�mg�A�X�U����dkgG[kLM����F6���\�,���kg)�$O�+�3�M�l7S�;%�������������G�a$��V�W(�=�����)L�R����;��_i��I�h�P�
���A���X��>�d[N}�JE1����2U��.�=J���@���^5��B9V8�Es��"Spi���|hM���lZ�kUCS��w�~>������D<aO��/����2�e�A/�?T��!�7�D0aI��D����F��� ��q�K�0��\�����|x(������{���C
�k�z��lH|��
b�[�o��|�,�����",��f�P�})3f�M����n%'ez0�B�.����<������d����2�Mp�w�D(�����OU�-�"���
���y�H������*T�e��
��sZ� ���Q��
=���Sf��[n+�����Eq<�x����
�~?��PB�R�D��LZp��"�O���0�Sc��sK�
u84������c�5���C/�|V����J��IE ������-��<�>K5b��#�
�HZ�EB-y���E�s�z�� �z�-%��V�w.~T;�*I_=�'���<m����Pd)�t���P�� �8Vt����o�j|D1#K��
��/5�.m
K�;j_��
&88�������I������"��y�TB�2����w`"%%e�bf��x����
{~�+�}3�\bZx���w��g
.��Jxw�}&vL��6���HII%����/�B��Z�k��TCE�h�$6��w�xM���.��m��"iV�Z������l�X���#J~|��Q���ky�4Iz{��Rf�YR� ��5T���9w�PG��c���9g����hM&I�q���J������:����xv�ZE��4��k����'!!�������g|��I��D}Cp%<;�����K4�.�A�<g)�t���P�< �8V�Z����V3�.c
W6Y
�I����(d������9<�����x�J"�\����\/���H���K��T%���ztYxT��,^�Oy}w�[p��?K}�|��{!��L���R~�����G�����%����D�C����4���(r��J>X�<=Kv�q��''X�o��:KUV����&b�\�i��r�]g���$\bF�y2c��yR#��,��Yv�uU|K+Sp����(u���Wz����p��'��K�)�>���~y�:�'<"L��P���a�Q�J�E�BpU���pM��� �-)_�������BB���$>�;�A%Kp��u���E��������;a]X��Y��� ��2�)�7^����9�$�9�PD��w��.�W���'O_�h��qz�(�p]����S��(�O����NMm� +��{Y'Cp9y�eM��O�&!�����z���7���
3�&�;k�j�Ep
r����X*TdA�I��q)���o��B�.k1C�#g]���������a�a���xn
��D��"DJ��/O8hf��|]y�4w!"�W.��|[p�}~��n��\s ;j�c{�~l���-�~b��*�5a�uo�Lq�Z��M����z��Wfz0�BF�Bge����\�x��8.�k���#W4'�,r\���S\"c�V�5x�|[p����=�m��He}���5��/�e��X^����"�����C�p�pf ��6��Z���53�Y�6
V�p�C��Y�ta*O���,m����y�D��$����j�
�'T�4����2Yb��a�r��#�o�!�\w���7;�P�Q�__6�n$�.��L'���COE�/�`K�*,���'�������c�����#G2���;e�~��,��yP���i�Y}� "��m�G�6sH���? �^�XDy�������m��\����y/�{AA���
?�@��,��f���T���n���aq-u��JZ�9�����jJ�8�tn�dI5\W(��g���$\�N��+��++�,4������,�5���+��]��
b[�l��5�n�j�b���[��JW��|W;�t�O9X���B[��Vd]�����z����I���V%f�DV��>�F�{�?��������\�����!�=7k��WP@V����.��Y
�^#K�Bf��PA��=hX>�^�U��� Iy�������W��G��q���LW��R���
ze�*�Q�n��)�|�L��2���mb�]�O>�"Lw~"��)��_p|�����0d��u�\����j�)��s����R���,�3g�$w�1����#e��\H x���,�1��'�Hj���;���F�Z�g���[I��w�T�2�0��������B��T����;1EZ�#�����<��\���id��n��ky���?%���\03��o�ni��R'7�������o��[����?��\����D.�l�^C�������h��lR�]]%�FX��?�C�N=��Y�(��R"��'��z������Q�}����p�$ a�|�^+</��E�X�(�q��
�>��W
�dM����G<7���� �8r�Z(�Bp�����K��s���[�hlI���?��
g�o��Y�x}���� n��s�!���V��w��'Y-X3��;w�(��}x��]�-~Z3��R]f��6��7�������A����$�\3��$���d1���6�#R�����0������?�)�gu���z�I��=59���n����J��{WND?��J��C��WZ�m��h7����K�������zF�����9-�&J�e6��T�7�ka�s��`T%7�%&���2�����.�R���K�n�OHJ���\=|*-�����"���n7^���3���>���5�y�t�Mp)������#)��������WN���3s��B1�Tb��&�w���X"������b��ZM����^�T����������DB�>� �O/����
������G+.tl�?/\N���r
�w
��I�k�v���k'�fl/O����V�p������Y�U�mmx�M�-�"�t(vww���������(*"v'*���������q�����{�{��g���1������8w6����g�����!�U��>�P���1k��<Ua�J�i����P)���������k�����\��s2 i\���� ��_SI��%0�Dy��?+�b�����v�o(�����3YT����^w������#o�/rs�~d��?'�$^�4���x��1[�/��2����h�&L�a�S��BV���.m���r^?
$&&��+��Dd����(�z\h���"��OxT�_?�JZ| �u�2Id��>�y�.��b#y{�,<���9�5�����4#��%|�������c������M���g��$s�'��k�A��5
rPe����F��lZ0�M�f+n.�o�V>\d&1H|L��������bH�O .���l�8�!n����O��`�X����'��.-�
�u�j~�Cuc�P��4�X�|���|'-�ZR���D����PH���C����\[��N��Lp���&�,U�7YB���2�F)r������L��\��Z� �jCx��uE�W�:LW�}�1^^�����u�G_IK
�B�L�i�����;<\JBE=I�9�99Y���9E�y�TQ�����mC�����;��EF�^����_\��\���f��� G��)����<^�Hz�Y����_�����
�]N~�L��@:v$��b�����sY��")��M���_�S�es13H��[p�|n��__M9]mj
��7%�D�4,�����+�:N%E�t���E��/* B�����(�Y����)����[����O�R���Z;Z��O���0.���x�i�����y>ADa��.T��EKP����K� ���*e�S��������3u��)Y4mZp���G"��e�1 G�Up�u�����Um)S�
-B�6e�����5,c���v���N]�����Q��r���R���<h8��M+�d�P��j1G0f�P�-����"��nX�!BM.�V���i��
�X�~�l+��}��3E(�L��l0k��b�X�h&���2Y��3y�Dp�1�eV��l0o��UX^�>�}&�l��Jx>��!Vk����^T�!�
6��YV�����m��Bii&�5��Y[� s�r����>���4!7�+� ��
��gX)���?���:c�oa�P���&�I�>A^������L���]�� ��f�����[: �K��f6J/�$���$m/e����� ����%�����<��;(-��%=�"���H���-Z��-����VF�;�S����� L�T��$��
��0z��M�<������u;V0`v������,��[.x�
���
��r����F�/��T�aB5.y������(�'X�9�M���p3\�`����v���e���u��X�����gi>&%�W�/wod�i <�9���2�u�V��d��(^���,��{���@&&,.����-Y^�"GN����#�)�F��&��_'���{0X�������j���Ba�zwS�r�JJ���o�P�1B}|��<)���@�ru�
�5���m�������MD0�Ji
w����dw�������u��Dn��h5�J
9��XD��G �$�F}ai������*��=h(}:5����J�W.O%pr�D"&z�.�J�sZ�c9h{�����t�-�a�Y
' �o�s�iGf��1V(�,��,�W��BYF��p{.3NBn�I\�qB#n<�Q(���&1FT�-�NI��R#��h����r��]��f�X����-�����i��V� ����c�B�Nl.[��9k��Tm�
��i��,���9�����b�x\�����xS.zK2�A��5���e��4���c�Qk����t�,+��� }�����0Qi��;��W��vf�3�i�r����Ff��3Q�g�^#V�j�\��q�������
������k3��G����{��bj��������V1]r��s�����'��t���R�F,8�R.�Bn�E���P2�N.���� �3
�� O�X�'g�R4�����P���z�c(*��W�#�"�R�,����JA�!�]Ki#�)����{�k�fHU�4_@��A*;�u~I2��*B(;^�CQ-1B��\z�h@�%���b�<4��L��9�$��ZP��F��������qH�����m1
���k?����~r�b��_F�E=�N>mmo��"�v
�A+K�eg��qfr�K8p�uR#�+�j�e���v=�����TMG���0U�,� IvQA�7Y(�����r���3�nAJ��$�������&���uY��q�N�Q����
m������Q��L�bf��,+Y�-��HV|q[�L�|,�<�/
��+���b����x����U������+�����1E���"��r�� �����"e���P�9�-�m6;��4���������i��;2]-Du���wQ�vP@W�A[.�\o�j�G��|KT<W��i��)���/2��h�3��T�|�KP�q{
H��U11���]>r\����S�%�BT��qpf�`
��O �������;S���
����������+�[��d�Y������1l0���W�2��N1�<�?R�Z�4C���M��9�u.�z����'������Lq�����k�X�-��Nf���L�2� ������t���'�AZ'6�g@�^t�����8;�f��
<��a$�rz������I�bR��Jeo��O��2c������g�!Hm�U������s���d*<O�5z!'z��X����7�s�����|[|�W������}�(#\�k�\��{���Ky����9�k*��N������C����� y��K�����W<X���=�p��.n�����J���s�,�v���~��{��K{J$�w������:�#��qj�J�������~/����_����&��K|'��k�Y�n+���q���<�*Q���
l�5l��������BL����T��������{��p)<����1#8@������������I[��r��������'{�Ft�/����������3oY�h���,�8����}�����y(�b����@m���!s8�s:��gpj�B|V{�M.�#�J�������������mx����~�n��5|��O���,��H�<]��+����9}�
�&���E�����i�����������e�8�o:G�M�c�!B����{W�8fG{L�p���3�e� LOW)�o������BG�#����89n�/��&�z�;��-�k�J���P�;?f �'��cz���[44��]��J���L�mL�������{�9�uV�W�T�d�6sR6��\�n\e�������%9�5��O���3��U����U�����=������G�r�E��a/.�p���RM�C�7���g���*^�����q!;N�R�0(%)�.nx����38�<�������$_d�H�����+9;qOf}� �=���%�9&1,e�%���IK9�<�C�'sn�9���������G��z�{��Y����G�2q>G�M�����8�Pq�����������8�u'���M@���,��X����s���:��s�v���������rW������$����_��-���IR��x�ug���X�i�6�������0>(����1�q�6<��-�{}�P��%�M��s>�:������>}��h�E�R�qY���O��<%�
��zI%d5��
�&M�����~�>�c������������%�9q;K�A���������#�,��WLg��!����D{�a���.Y�N�����`�NdY��G|��fq-,�o$Z��������q��))������'-5,��|���� ��(Ou/'���LF�^=q��L���8�$��S����� �9y����M���&�w#0^���y��r����7�`��o�NN�_���_�SO�����}��/�������s#$����#�se�5���p~��W\�*�����[����|���W�E���1��Q������~��4n1�{N�P��\�qO�_���xOX��->J�������7/S��'��X���S8�}:gFo����+�s,R�������Y�>�eQ��7��X�����$���<�����/�su$|�����9y[��V.�0�[��-g�Q:W��L����������y�pi���?�{�f��e�|.�O��62q�+_3��S���>��#�{�w��,�{���?�2\p� �0�NyV��>����k; ���������C������!?_��M.��t�\@6��� I��p*$P��-��W�.�&����'*��?K��cX��z�w���waKr�����v���{���#�f�R��IH�DpY�w����^�����7����y.K�����
�i���{��?&��9*����,5/�����������������~�Y}������"ug�������������J��D��uyr9��MB��?����X���ye��N) ���W�gQ(G������?��\���TL&��� U
XrJ�����SDW�������0���+,������%��x/�A�v|�}X�������0y�?Cr�;��g����)�Z:�i�Ne�x��b�3�q�4�;5����
�s�����w��V6���O�2n�0n|��?��5��[��O"�1O��2��g5s���$���5��"D�v�B�0��J�/�?)�� !LkX��6Cx��4�� ~v�"���'��#���qr�;��m�T�1.s.��/|i%�>����=W����_!�B�NA����,�sv�?r�R��4m���n\���������E�`�f�~����{�:�a��sj���(�\�<�� 5!P)oo��pYF
�yz�ca���%�r��I}�:�+�$����;�_�y��c�)�l2O��f�H��O��\q�s��!Y"WS�����~��ny����L��������.3�OJA���%s����fM��B�j���?D"��g��Unn���,����Gyv�,o��}�YF8�?�P�s���`M�*L�bI�9������FH������*kYiP�_!����e�~�����>�<���=h��)M�4�q��t����k��^�{I�o|!���o�8�g�-����4h��I����ll<�s[��M��A����G>�7�� wB���o
�;�9�x����Q��,?pS��!
-��p�^w6����y��'�{i�W��\���d�W�Zdjb"�q��+�7����FRr
��)��Xo
�URSR�OH���4�HM#1)Ee�R
�i)������������|5
�O�w.
4h��A�
4h��\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h����Zp%�E��,s�MXh$���b# �����_GZ"��aD���+���FD���N#&2��������$�ND���uZJ!a�����i� D�����}����R��R��!2�{c��/��x��K���_��D����X��5~j�o��Zp��6�*-z��Yy�*�.S�Z�/���-5��{9��FyWUR�����Sw�*o��H���>�����x�m�}�#o��b���*o�������c����L�#Y����S]�XM�i��<c��=<��(��3�z�����D��������C}V�~�Cc2��:6�g���?�����:�jN}��;�f
�BJ���t�v@�_S�q������+=H��6�=�#o���S]���������Z�q�"S�?����<�Cdr�����3�sz�=I�w���=_���M
�n��QNAO.�s�I>���5�:�����������g����9���g����.G�����4������J�p�'4��%G�C�D��t�6XLt�Ni��DD�������T��_�1���=�A�#/c����I
��� �q�I�M�;�oR�06����d����"�tX���4�'x�o""����r��-=lJbT{�hdF=�MQ^F��������|"�o����?CZB4���HR�N-��H������e:�����!_ ��S�Y�����E�]v�7
�,D������;I���gR�7���t\|�7��[��Jc\{a)�����Z��>�����W[_���k��;I��~4���2���~�dy8��a����^?��� $"�W��x�u/���"���!��^�j�m�S���?Ej\�������Y��,Z���~��������k�uq^Ct
�8����+��C\�0��������l=�(s`��O�F�q���HI�bGV�a����3��$\�UC(��W�W�E��t��������ihQ�~.�[2I
eB
1e��������Y��K��}��l4��W�����r��"*��V�D��������g�S����b����NN��\���+�>�`����f���`�����������5��q�������_�C_L��{��
���vN�/?��;�U1�����������5GL�]��`���������eq�&��q������q�?�;O�������pe?�l�Uh�����[j��]"~A�����.�I����D�u���6�w>���������������0��;X������GO�_�o\���|����H����,�fb�^�yOXLz(M�>�y���J�����P��C���)�!���k�����S^��J� ��u �a�g�����,�K
!��[��]7B!5��lvE�C>���?�"��D���2�0����y��3����Gp���r?)�$����|��Wo�.J(-� ��=���'"N���|~�
�w_���y�����?g�������*_F��� ��W��M�����(��e��p����,����� ��P��.��
���/���7j��ct�G^� $�;_�� x��Wo?�(kt)�����x����6��D�����k������@�^<���P�$���Jrr�Z�+��^��'VuS��>���K>���G���@�|�JXt�F�Fr�wn^:� �d�����"�\�aA|���Ky��*�����u��wo>�n8���������q5�qI`|
)��mE"�$�������/�A�~��I�JH�W����B|����-;�������������h�������%k�&���+����$D���+���:��S�L�n�I�?9��0��e���������D}�����,#�:��������:5�rd+���J�Co�}���������`T1�����z�P=���<����u�CR�S2�K*�����M���/�
�T>�")�|��C��� ����O��R���O�z@Pv�'����K���7��L�R�&F|����F���%���2OO�7��s+�lI���{^��#Ti �Z�E��l�"���#�pJ���7��7�����6}]�HWL�'���@������)��������H`b2)I��4��lH�������BMW��`���7D������\I�:����R��33l��e��]|�2&�����Q���%��g����<E�~�?c������mC���`3�����o�'�����3e�@��p����
6U�2h7?(�Qxn�F���)�S��L�x�M�gRYIpErz�T�U��P���Wj���������:5��.�bX0f ��\�����4��C��R��tn��n#7$�=9�5C;3{�U�/��
��Eu
�-�E����� �1�{�|f/;������e
�W�<
�������I�^�e�8����MSL*XS�Uovy?���O ��{�3a �^�`���T6/M�|zTj��u�}��e��b����������fQ�|�LY-\�G7���������PI���f�GY���k[f���#%
��@)}���%���]B�]`\�vX��@���l���+�F��������E(Z��6�&s��;us��G��J���Yt��@����L��G�e����"�,���o~���2)P�+W?�j����\i�\pY����q���������8Y���{0i�l��y���}�i�O������������=�XJ��)]$E�����
]:w�c�6�Z^�����0f�
���Y�z���A��Q�qY5�^�cke���5wd���(�
�9�r���)P$�Mh���:w�]�N,;�Y�!��3�w{l���Pij���VO�:�|s��CzP��<����L;Zv�����N����J��@U�
���c_�����������m*�{/&@�����yt�3��_%O���j�������#{t�����U'���}b3��u�FELM���X���v�.����r����r�]+�P���ze���=vz����\��4�o{����l��2������"���4o�����3o����gW� _���y��;P��LZ���wc���
�N�y�����j�;s�*T�Z�.�>|C^���+ijS�t|m&_��%>�;L���u%�{)�����z�<F�O/�U���Cu�R�qk��tF2n��K���-��b�t8�ko��/�{��*3����WX1������� &��������`�m�F�FN/��R����9���d\����jd��H@������U�I\�U{/��/3��@\����E6�
[������qn�y��,Z�����v������3u�j�r��Wc���]r���q��W
�������|Q�'�2c�3?Ud��et���**�[��� o7��*@%����&�v���,���R���9xMe�X���,�
��(T�-����1�������Kr�s�*��>1W�5VR�/9�b������.���)��'��7���=Z"���5��SIKx@�2�������q
*�cnS�.#�p��,�-�4nYO���v��b6�vx5 R��TH����thX����J���[���o���������i�O���1w���Y[x�U��pe�,�l�H������
��1�:
�h��)�;��qe3��/�i��\~�@eE���%����-L�����=�GvQ������\��-���i�����J���z���A���-\�jM2i�b�{tM�"���~s��iC�qKy�BZ�?Kg�c��^\�A�&)�������.s������$\��9����=�GR����e�����;����������(<�}U���sv���r!:%���g���9��]���:��e;��|(�W��d�������K���tl\��S���v=Gr��'�>��S�����Gl�=����-X���������
Bp�ppFW�4������v�2[�vG,�Yz6CX����c ����a]���s��{�+��e����0�����8y�&��ii�-�f�([���80��MY��(W�]���i���]FxF;J�����
�����5��@�����C.���{��o'��G$hQo�\�\�����T��b%�S�@�LW�
������.�??<����
�3f�;gO����C�����)(`;lW�HIxw��69�g�V����m�0�������gy���kR0o!,�V������t�}��[Z@(Y���2wNy�C�:N�����W�q�����!������� �`�
cnQ�������<�1��>�P�G2
��SK��S�f��Q��"��lb��C< �����!����q��
>�0��::E�q�~�ES��<�9DZ��9���/��w5�����#��}s���y)d���'}�q���-��*��2N��0U�t�)[������s���;P��!zZ�����|�$v
�A(�?eWR� ,�
T��������71�A��X�7a��������x�]�a������FR��v���5B���};c@~sz9��#{k�v���7���2��
������B���
h4��[�os���4,� c��S���e�����r�����O
9��HD�E�3_����m������.eh�r�
���U�S2���E$����G�}�7���vB�*l8y��d�=.���r����N\���S�ki�H��u��}�b[]�\�k����7o�����m����w�D�E�eD3���~�K\�z���"�0p�}�q�w�E,1�3� ���OW���s�G�!���������^?�����u+������D"&�
��O��J����7�����\�v��3�H��v�����/�1+P�������?�NxI�zB'[D"-l��aX�\����|>i�q���?�ki�8WYV{�W_n���>�N��z�-��r�$'O���Y���������I+:_� /��J[���r���afX`Z�F5�H��9�s��^G���n6�
#�><���
�g�27<����{���i=�������K�A�1�nf�C��2,t���l��x�l��*S���B�����o�����j�Q�JO����I���B�BbJY:���[����i�'���K�HN���H����n:�_����x�_Ks�<�(Z����I�*��C����|A
�����)����Gy��2Q�vR@���R,9C.c� .���y5zM\�9������ze�����Cf���G�_6/9
�2e�^�/�c��Y�&K��"���=�q��<�P2�Nb]LL�i�2����P�xNt��c��W|��lLG,���s�5��c�����R�R�Y�������S��L9p'c�����W�V9��p���K�,M%;�;�j��e�:���=��mx!3n#��P���pj��-��qEZ���%�����MhY��G�/�A!1����tz}EK���P�4�bW�����������X�m��|�21��������}g��{����^BL���� TgYH c�������^��>{ ��k��o$��K���O>t�P�"��|���/�k�P�������3�S$�wt�,��� �
��j�\O\�%I
eM����S�1+�s��/;��!�V�Nr'�;IB���A9��������>�Y2��f��W�mye��y���v1��L���7�)�_���9}�:7�\`��4�5���||�����)$.�����:y���n.@#n���4f�Z���M�f�����������tD�H��%�����*�K!}#[�e�q/|�er�Jh�s�o�w��7��tt�����K�Q,k_-�a�KD_�<����$��:�r����� DZ?�z��[�W�%��!-�#��+GN:�]*�=��e�|�,Z�����[�U���`dgE�NCq9��%��L�`/���;����H
��'�z�t.�`7�O�w@��8���������9�od�C��Q�h���\��V����+;!l9�Yv���`�O���*�k�]�E����s��������0���|���B��\I\j��"���s%+ �%��
T�*�dM����G�]�oO- �H���L1s`d}��<`�U�}#n�������?������BN�nI���W��2r
�-f��O&�e�}D�x'/�^(/�5�������t�Z*�Z����V�J���\�|�ZI1A��\�WE�h�t�!W������L{Oo�|��6�/���gk[]c=S�yNLm� �Y�~������8���<���.��$P0�0�S�'Pn����
��Z��PY��-�)��^�)%�n:��
n�t6�G��S�-E2���M��4K�%>r����~{2=�{�U��ECn�+��9q��9���#����kT��j�\�������u
_ ��D\����%���* *���Y�5|a�}.
6�AdZ��c ���H�s2�bI���D���q��F����J�u_N�����1h���\3��Ut)�rNF��w��1������A��:R����bV]x)��D�8�����y��Yca[CD��s_��GUpE���-��5�Nz�����>��)Um8�����������3�x�{�Z�G������d����(�D��r&��3 �q*-������������3����D1�ji=D�������E�5n���|��wh"I
1d��W��'�)-�{����7 Qb�CL~����Z�3�fY
[u��<�������k���������Z/ T�%-��lK����=�gY�����\�6�~8�������/o�l1]������Nf�
:p�M���V )L�mB
���y�d\�=C�\4��-\�l�g�8�1Gey�4NNo%M��{uz��dN�i���#g?f����Ve���� 7w�FK���#~
c���s)*2m����6�f��K�~x��b�[�����'�1��I��/.�����G�+���}���h�QA;=S�R�]��V}'�=9�.MKj�8d�B����;(��E����5�?^XM)-1-f{f�U/���j����G!
���sE�t�����I��-������y{j"�rb���
m���&h�������O%�{�Z:f~����9����f���g�Y���FN�|-\�GT$�I���D�:��IIm}�(%��|@�Jy�c��gJe����Zh����p����1�6����4"�����������E6>�^�O��F,?���0������5���@��a�M��+���A�)n��`�y���DO''=W\�z�2{H;#]J���7y���������t�I|L��w��nU�Z ���k�_�{WZ"a�A}b���e��'7\���a�W��t�a���W�������|#00��� B�^3���N�)D�T[H#:,��oA��4��Biv��9\'�O��<o��x�A���������>A�cy��+���"�������{� �Y�zW)&0���v��� ���ZUP����(��O']��
��v�Jdq��v��Lu�]��R� '1:���@>�:JEA��+�S�G`d!����|Lp�*&�{MDB\�����jJ�zlV
�?<
A(���7pjE-�_��{������Z]R�/S�\.l��#8<X�f��&g;�R�8/�FM|D3�|4��rT|�+W�
"�Wy��Ny�\�5C���n��9{��K���~$�R�
$(�
s��!TG��AI���X`��K��b���
}�����>3��$%+�K��������:s.f�Tp��E(���7h_\D��{d�E\��XD�)������H�4�=d��)awi�O���
��d�yph�G:!���
I�]�z�F��
�/?�;�-�')��o��3��)��z 5�88�6Z%���!]e��>�6��
��T&R������UK��p�e���@hp������-E��qS�i�x��I���^*F��#�($�a���K�,�/SK?7����-L>�������JU��'5�#%�����Us|�s�sv�3bQ9\^*}}��Gc��8���Vp%�E�-(�o���mV�J}weo/��E\��;�j�Y�(�Cqi=��
��[Ci-�7=P)����!�1��B�e���?��]I1���wV���c�_L�y�TD�[��5���0�����Q��t��{U��caK�Z9�%^Vw��..��nEA�u��}B-�9�q)T�Z�R�(ug�Ed�������N�dY�3�+�!-�
`�d���)�������B.���2�Z��f�>8D�N����`�,j�Xl�I;Kd���r�y��2<���a�d���Q�\���P@L��>*���5���r�;�"��aSB���^(y����1l6�H��y��m=sv��e�{w|<�Z����6�
��Jia���(���������Y��l�H�S�X���<"����p{m����oKf���h���������`C>�Z��QGA��y�1m��Lr��R��b^��D��K�V���<<�Iam/��)T\����O[L���y���%�q�L �r�~�$����"?e�N!HI��\��aYP��s2�'��'&��[��'d+���{T3���,B����J����h�r���j�������S��b��>�_�~m�V�����Vt�eR6mC�o�O ���N0c�P��kNe;+���)]H����ZnWF�q���@��9[��:0����L�����E*XZ`eiN��:�C����M qn�j�X�t�@��vX�XR�LAtr������3+�"�9��z��K�������/ 4e�C�I*�0����Y
��?#�$��]�� Pg�~����+���f�h�s��ao?'�Z)yt$�A������sb���M�:�������<���~YB��Y�0��k��]�Y�;��Z��B���*r��Iy��$d}y��^,��;f�m��TV; ���juI�}��JEr3��Z�f,*`icC�B�zN��(���T*)������ 9�25��;��Fp�g�TS,R��.������������!�VXYZP,�@���I_� �>�]R�*K<Z�,1���g�T��k���,�|�%W2��;�+b�Of�_\�\v]��A}i����ZX��[h8m��CCJ0���!6j��������N&�JV��<�6��A,s��_�,��XH��kkJ���c�Q������G}I��v��2{�;��T
~�.L5��-Q��
K�
�!���P������6S\�A�uS��1�iU\D��{�����3-�S��������;������`���%r�)������dI3�1��������z�j�����t��`�*���IO���t����W%{�%�R��U:�id��S��YW�V3fpZ6������������}����������j����L�{v5F9��w1B��|W�G[,��Ql�-��bai���9��E[�%,����h]BL_��*�uP=����z������&���,R$�d�)$���[a��g���������#��;O��QZq�0/,���k*�1�?#����ri-�
��"��#�PK���Cz��0_��&w�2XX�`a)��V�q�d~�(ko������Z���B��:|`@5�d)T\R�TRL���T��u`U�Y6��\��%���UE��v�vq+�����U��S��\�j�(�r!*�+!���M�2����9V��;C���z���-���e���[�|'R�D�|��9[|flc�u�al%�k�q���
s���P�A�U�UBR�%j�hS{������,5L���r�%Y�������AW�������s���VpE���M ���!I��j�4iF)m��y��U����:�����9���
��(65��iSn�)�^I���j`��`�;�������e��7/���0������?�
�4��\�E����������z���W���-��U*����y�|��#��0x��/z�y�g�������-�l�ZE<=M�
��]�
�7�q��5|}��s^O
k��*\��z �s�_5������5�\�6F(d�5�@"�r�.�~����'�\s��g��g��R�e�����T���%���=y����E��p___�\���H�Ug���^`d!�{"���<���{yl%Eb����t�EU���EM
������&����+�5�� ��BMuI�����������������yys��=�%�~:K��b�9�|
��/QK������ ���T6��Fp)'[���v���U�~TP\i\�5��y1k2����s�����/2�i tjOR\sT<���Q\���)m���� fv�X�XafbL�9�Ye'�$�Y;��J�b�������Cfq��ei;�~�MK��9�5#qF�s�Y&_�RX��akYc������y���HL���9�}����u~��7���"(k���xcT������m9r_��I�w�J��Y�~l;"��������f�Q�~�Mq�3�fn�4�GBZ�������}>�_Xi\�=�b�I�g��,���$��'����;��"y����un��c�-�����un��!=K���*��G/Y�c7���,�b������J}�s�����]���������+%���[R(Wn�����s>�2������E����x���� v:�Q���"�p���d�%�reI+���a����\8��l<�p���Pz���K.�����?���eas3
�f'�&QH��5�Sp�w�/�;�(-���n���+*B#�lW�����Y����\�=�VV�����
�����"�R��P/�6'q��Of�?}���/�s�*$�0)aL���n����$i��@�A�W �T0)����?+������_Ap]Y���e���0>^���6i��Y��<Z�{��5�BV>��z9]�pS#�bY�,\x/)���|�[&V�=���������q���y||.���j��z�:9��;���{���Y��.9!��q|���!O�B���`y:� �����y~�����6=w�
��k���S���o)���W�{�A���V2���*�*%�5�l������#������Wr(S��"���;����[C>Sp)f��qs
���L?*����$s`J���*��#���������T�]'P@���[��epltM��+��'�� ��f���I����-��
)���K:�k���P)L|O?s����������UA�kM#]��Xp��T��2tm�nP��E�ElEZ�����Y�����n)o�gm�}�_��9��W\���F�b�Y����:1����4i ��!GM���FF�U��Ru�1�-�D���i*�]��~>��1L1=����1��v'@i�d�T�������e�~����?&���3!�^"�6�Cf�F�ZB\s�\�`M�v4n��Ys��`�f|�)��]��M��8<�|8��HK��Q�%��A��D4��*�i[XD�q.�+��=���F�A�=�7���7E��~�&yD��zL��{|���C���5�I���c��<7z5'��=���)S�o���dj�2�\b3�����=���y���,&�����M�����)$&?#�$��H��0���6���R��=�v2m�Ep���H��+�������($�e�eYr��B���A��G���}�hVu-�V�I�+yz~Vp�=>H��"j���m�s$>��i>��.�=��s����`.I=��k<�`%�hy��2��,��T���GG#�.�������O �0�tlLu�J;q^��NqW<�6E,r�����(y�Z����_*��>��r)-*pSD�\.��"��W���'�����������<�y�BTh��8e���8��3���o��~�Mj=$�I<���y'7�3H~Ag+=*4��K!�VpE�q���}]^)�e������u���J��\�d�M��V��\���=�?��uq����f�S �3����k�^f�r����*�+�u��(d������~@L ���1��^EpI��u�4��R�,�2He��������3��~�m%��q}�Vp9��M�JRU�}��B�4�wI%���������H�i��9��2d�������(���g\��W�I���p_�2Nx�SR8�:Z�x���j�?�?&��2�F@��2��S>]����`�G1�0�����FZ�7
�������
^F�Y!��E!P1�c��!F��n�>?�e^���� ���l��D�����7'� �=|���q/�i%F�U���\�.�r�c�-��:��)�^A���\����|
=6����gW�� �9h������$}��bH��rr �Z�UL#��O{-t��ddS���J��K��"�{�PL�B��!k�]y���3�( tZuEa���Y���h5<�����b��2�a]GK�BN�Q
�����Ry�qb^k��Co[��e=���]�)b�\?�.���W�#Z��0�]�_D=����@�S���
�4�P����_������
��������
IBIy����l$�(#]S�?u%Mi]o���uvYgD9+sE��t��Y��Q�z�}�&�4U��������u
)f�/#4P��+�,������{��+�d�a
���9K5�"�>����i�03`Z�CZJ�g����$�c�%"W�)?/�R^��BQ���TH{�&�kSJ��E[�����X$"O��|Vx�H��-��pS���-��i,k[Q�j�z�&�YFRG���%���$V^pE\��~N=w)�$�g,�D"��8�!��]�#��������i=�K�!���t?V�"r���S�+��Ujc�y��7J�&{C�WW������\) G�C:�)�43t1��+���tX�P��R��.�7w~3CD%krA���"��89�-b���n��=��0�,�,��w�F\� �7���]�U�4#=K��CVM�bKv�R)O��
2Q����h��0��g�� ����Zb���Z��?+�b��R���W?P4��o������Z����<� eQ��v����"Zb:.W��&#�#������ +>�[@^-o�L�����WG�C+#6�B��Q4r���:��<��|��P����H�f�^���4C&��P;�??�im������}�)�.�����H�/
.I���s����e���F��������g�|���:9��Bq�W������&w�I�,�2>2�ry��Chv.��
��=m�/9����xD3J4���4��WR/������Xj@��� .p�PAT�����~� �V.�S�*X���LW���<7wQ>�@��~�'����B���P��Vnf�!w�.���>��9zSM���{n�( ���g:���e�J�v����5zyJ��i��)��� �i�6����{�z�l�u�BF���X�'��$B� -��f��~vm\���U1(_�|�jx�[��7�����;�&��L�Lj�b�����=�'����v���gI������cR���7���+f�����Q����"@wt�"�~
n(M�I
��Nh�����������rl����p���Q��R� �|"�.�L��k�B���i��za��JbX��=F�f�+n;�2����83����W��Z�]p�ye_�����iS��6�q�m�:F��� *���I9Y��A\�����~�[W�c���x��f�zq����)`Z� sW�z� ;7.a���L��?#�H����(���E��q`�nM�MEGkJ�t]�^|c��JT���M��������P���
�������^3j �����O�K5�G��F:�(�n�,�05�U=L��2v�f���%3hS�
�J��%iFf}(��"�V��b�]y�>�����y~����Q�4n��&�[�g��.e�q�����wj���{����9��amkF m�n�e!���Oq6�A>��,�����]X<�/5���BI��c�fx�n�����RVUi��)�4�Y�.3��~�m)��Ij��C>�:L�����~)c��e��cH�Lq�.0�g&�Y�����s���Q�����K}�Ye��������g��
�;t�����qu,���Voy��tbX���T`�����m��}J4��M�7e��M��G.���ZJqI��s�i�����8�kN����6�"��t��
�����r&m�6��T�B��3�fD=�E���0)oH�n�Y��
�=�������,��#�����1�-��6��. �/NP�@G����Y����z�����Z�<����{\8y������G$��+��p�oP� V�w���{t�,H���X�a'�0�P���|q=jgI��� f�"Lj�d��=���C��pGi=�!*�XmkU��Cf��7K)!����j��4n�J1���}X�f��j�u������)I9���a]�I��(n��lC��5��H\�����u��e�|v�d�����Qq1\�eY� �!=���T
�o��N��<|���eH���fD����G: .����!'�������"��^�J�)m���V��ms&�d����d!�/��'�~��������1/ �D�,��K6���K]���.���s2��G>v�����MX�n�l|���Jm(�+�������6]���]��A3��� {7�b�������P�� 9�1���]��1��~����������������=$)G�E�e������b�l���bE�t�%w�\QD>���yJUg������MZ�=j����b�A ~;{�������=Zi��9��Zb��������v�x*�{�g����%�Idy{���h7p
�v��u�|�����)Aw�X�8+�f���������C��c�p����/�=�*������j�9���;����Me�n�8��9���s�L�HP��d|{p�Z��k�"I?���y��������h�g�h�0��%�8*M������7h8K7�����6��c-3�6��{��>I[;�]amJ������{��w���1��c��n��
�=�*���.#-|�7�����#�[d�VW��lfL�����0`����L������*b���kp;���E3h[�������W"��5D[�0�3��{�vN_)m�{z���|������:��9��y�\v�`��%��i�Vq�����o��^Ni-&���$�"�Y����]2�f|�Z@n-JvXLXbv���?�\����~
042�����NL�{�g>���z2�H3b���C}f��&� i�����5�14����3�+6���jV���90���FX�W�N��4����|��%G_e��$��6�?���X��cgU�^����{#��
���,�M��m� �`i����}�q���z��.7���2�C=��f������I�cacK�Z#�/qM$bjS��<� �1��F���;�ajh@�1�x��J��\g�uB����y�>����*[|Y����`fe���=NMr��'v�l��=�^�d����C�i��f���P��h�b��c��QK[I��ch^�%G�)��}�u�E��l���)#�G�V���K;��+``��U�+.�+!�+�g���l9��m�45��uKN>���E\fJ�*�b�`��� e�����Waq�����X�#sK�pl���w���_}���z���K�oa ],����z���}��#z0b���=�lB��\U����v���(�����4��&�pI��=�����������S��}|M�� L�������@�����IQ_=
�
�T�T�J8Tr������$��Vd�������+�k������������G�����������UM0��������9u�'����S��1,�KK+*Wv������vv���(P�w�+�}���kR��;���)c\��n��u��� m�P��;{{��m01�a���(��YI�r�q��blR{��X[�d���<p�����|T��|6R����v+�q� �� �+����������
B��
I���Z�����5_���%�n%Z~�������#3�*bce����ZN��#y���:B��c�p�)��5���^���90c���<X�x���#�O�S0�$�ij��*�����e+*$���g��f�bmcO�q�^���Q�R�D(}~�~����q���!���:H�j&�~�X���8��
n3G1lV�P�|�N���$c|��2zHI�#�z�u|1M�f�wi=l�����d{���}y���pp���X�Z�8�"],���S^�oU����zQ���d
�M������cc��Uc�:s�A��5�_�IS{cL-����Z��T������iV�>�N?�oO�sU?�O����
������*C��V���?A����74���
���i8v�,0���W����Y���<<���V�Y����y�Y#���W��o����)��sO��z���
��;�&#��lMyi�Z�Q���V{��e������&���9:`�P�u��rx���XOD��d<W��b�i�������N
+2���|z~/t�c�7,;�_�E3����
��o�?�;7�y�)o�{��Tj���Y=
�<�XOkL����3u����s�`����}��c�������� 3+�-bD�+x�0OHR>��$-5�K2�}�e�PL
�c!y��XbP������r�H%>��G��&����`�C�>��s�Y�z1b���r��c8�Z9s�C����[J5�r�ZZc�����6��p�aP�:K����8�S���6��.Y89���]�<���9\��]��J-� �����]zr���i���v6�7p`�fO���V�{������Nv��������s~�t�_I��%!%�S�����[[���y��-�C��Cx(��II����������t�h����_�����hS�2���(��1���V���
��+Sc�O�I��$,�,Xp���GTT*� � �sE�2��;�&M����"���DE��L��H����UFz���`�LjR����G���hb����g"�A���[��.5>��5!]�H|lQ�jbHUH&6&���=Gr"�QQ��g�p����Mt��p�_�W�� 5!����l=�?����(*f����.��i�Z�U��s�+�rO���&�,b�����-��Nn�������%'H�<&�:JI�����X��#��e�k�d��� i�����6A�2)�q�>�O�'eR����W1J���h�f\����w�CR|,QQ�$�a�m�+)�i�EG����L��q�r���������j�������;9QR��9���������'��I R{��/��J\t�����HI���q@��8I�H��w
&Mb����+
�;�%���6��~�X��c��U����/~�4"C���/
���\��H����*��#�}S$�jW���16��*�DtZ�~}�?G0#�KP�b?��|�}}H��A�����4h��A�
��h��l 9?A(�2���{��XLI�5�-��� """���c����R)�6��_y-��A
3� ������<|����p�>�e��qT6��q� ���/�4h��A�
��![�����AU��|g.��7)���8KCcl+U�^�z��Vk3j�����s�~# _�0�3&��T�����F��X���v�*^g���
4h��A������-)����~G��L`�[$E���1�=����f]H�/&52�g�J����
Q���A�
4h��\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\4h��A�
4h���\�L<��^��^>���9-������E?Er7=���=i�����Fp��a6m���w�JP�A�_K*��p��&Q����#>=����-�����X����^�����#�R���sxw�'�_%L���o!%�g����P�M*$������������� |���#<L���I��:�����=h�������=��M��P���A\:v��/I��7����������?�����H
�������6"�2M������<zKJ�;������0�8����<��Uy��@�4m��:g�II��|��,5�����2�I�������C"bT-�m� �%����9��d�m�SR8�~ ��M�?�;�����3���������}�~\z��>�o%�+�����D+o��������
z���{����r`VJ������:�;r�S:�j��~k�fM�����Hh���w�n�����?��sX������O���'>�=����?$Qy��F���3��V������������?���x.L��y���I�k� ����������w��`�7s/��������s�P�\n�������P����g�
R��F�z�:���}�)�S~��y���j%00������3�p��
�7�������"�����.�v>%9��~E/�������_��"�Ep�y�f�`�D��k/'$^y����i�� ��<�������l/T���7�~���;l������T�G�3���sI�*c����+�����6�F��x)�[�A(�B�$'������/������L�g������Ws_���Hb��*����7
���w�w���l�����q��������5.���0B���M������'�i�Y���j�2W��m���~�������Wq;~�X����S�B����/\oO/��H�����������{)).��=7~�;����q��B~��l�l�v�Z\��*���]=��k����x�
��8_#|C��1^1��v��y?H���J�u��<�7
�{)�U����k��B/�EGW��'�I�]R�5tu���������Z����q�u(I1aD��pja't����~����"��bUL�mOHN���_�C_���v����@���
�+���z2ST�������
w����K��[0I����/2~M�B����J�z��m�����/U���g��ne��s��n����|��O�{�Ap��7��A�ZU��4O��S��HP���d~H���#�����m�;m��u���� c�����������a� �����ne��9!Cp�%�������NOl�S���*��K���Y4�V���������0�!f�������s��X��.7xOQw��..���t�G�%(4����VF�[��"��8��������<��T�;}wv5F�������$�rZ����J�j���=��F,?��x�R�.Q;Gn�-;���+��j�9i4�IY�Mr\$_����=�F�=w�Ji�{����W�2�����$h<\R���J�z�����k=�+���D0d���*_�b>������'�R�r�A.L�����|������aO]}+�w��+\����\yz�����$���,���k���~�� ��;��%�\\����5y=������}����;�vra�f|��&>5�Vm�$T�\��|�t�G�|�4��������y�p���O<��[���^>H��<v����VP�h{r�U{�Q�������y;�y�:H�8������\:���M��z���@
/n�e���L����������U��o����dy�H�
����Hg��r��f�������<�)�������Zy�u���/7n<�[����8_:���3X���'TBT0~O�����`N�Y��ek��^2,�����9Jr�xnz�0o�6�DH�<�8�����y�X����*�j��_�8���M�6�z�"��L�KM����&LJ��b�U��q�+W�!i�)|�����S�a�8����3X��~A��������M������c����Z��sw���O
�#-9����u#�����wJ{�W�>|J�O�.�z�bVnp��'�v��������s�~�6��>5�w���S�������K��`
�0�VY�[6���[\�|��oCT�#5���@\gw"�H��n^�������B���������l{�Jj�g<]�2k�b�]xH)l�]NAp�&D���?�"3:��^�������Y��isWq��k�u���#[�:e6�s��������������R�yu�v�%)_�7�7np��/����
��w��us�����
{�o`�v�>��|�"?<�u�"��^���o�7K����!�����"k��c�:f���/��e�|����������Hv��Z��"���s��E��<{���}hJK#-5��7��}�&6m�����������.`��=<�K����g#�>=���%3X�n��$����%Wd�'������������]8����%\�����-�D��Fy� -�G�p��lp���0� 9"�g/�K�+-�='��c������C�� �G���l[�LI>}���V_j2Q2�YD�8s��kW|y�����IWn�����S���a������C|0W�lc���l?z���R�Bx������\9��93�s�u������J�^�<��m�������J��F�� ^~���7��[��c��u�<��R�R������I'�r�!�<x������s�w��#��~/���:�,1����$<6s������B�y�(�6o`����
S{��O�q]����f���'�?����\�v�����;�����r�4�w���X�{���^�9��e��6g)n� ��)��-�S��2c������kT�8'}���\�������v��_������g�������u@��Wl?F@P��{UD&�L������������r������s��6�������2���!��v�Z��e�q.�������W��J���C�W1}�B�^{Jr������s�1-��S�U�^����7$����7���!v������w*/�{�r�4ot�����Y}||�
�g0{�6�d5���/���d���<��D���T,�C��\u&$)9����X�d;�_�[l�7_�>�r��3�v�Ar���^}�����'�5�������������FS�������
�l��g#���)X2Y(�x���F�y�sFH��|,�����9,��a�`�x�,3�7��o���I�8��ss���-H��ac��|��9��9��M8�d���1]�d���D�������(�"�y���6S�2LL�,����\�vfFVW�{T��d�Z\�"y�^oX�l�>�+��CHz'���_o&&l������UA��J_���=aW��\�FZ8u��n��X�*U�V�\���Tg�y���L��ty�*V�z�j�[��g����3�I����)e`����v�T0*�I�����[jH���f�D�<_A���4w2c��Mtm�H��NX[�S�h!������lG?���n�=�B����)����'�sG���ku}��ckm���%������d����k�-�q��q�T3�\�r�1qd��K/���i3z.cz���Se�m�(^8�
�q��m�v��]�J8�YQZ� E[s�Y�����NnK}c*9U�z��X�B��9��������Z��\ZE�+��y36���#�Q��T���,�/�;hd]�m���0AO��q�.��3�dn�y�Al]6�v��\���)T�z������^�u�����j��Q���RE��|�B3.����:h�o���q��H�J�X�S��>#��C�21�X>��e0�����3�2�p����Y������*_���Y�M�DV�oI�|���/C��-i��!Sw]Q�|&~���1]�n�������i��OH�Xf���f�&��&k�-*�3c�F��������/m��YJ�3����Jh�e0��'W��/����a^����3�����P�i'V/�B5G*Wt���E��Q��|��,����t�VK{*Vu�R%[�
���-�[u`���*GB�m�v��^n-r1�^�4i��U�%��V�l��?�j+Q�Z��)��(����P ��];����ai'������~�|�r�^�P�f_V�JU�JTt������*���
N����#N����/N�|�L�qMU8� u��GR��:�j��;VT,���������hk]c+�U�N�J6�,V����+
��`�L�H���02����vu<q����eWZB8;���h��W����v�2h� ����o�.80� f�:�41�o������D%�i��%��w��c�����-(j7�������4������9�66XY�R�Xi�-8DL+%�{ F5[�d�
�U�H����0�D�������O����pr�J�U��9����y���|dK�
�e�u��4n���/K���sk�,�������U�U�r%[J-�y�a����p���hh]c[lm�17*C�J�9�<*��b��b���]�N3��5e��)[��e��z�� �����d �g�_�"4�����s$shVk*t���i���P'G;���R�@!���Md�3���+����;G'��YP<o~�YW�i����~"-�]jV����*�nFS�B
���x����dPK;�;��� E
�3j����q�e
�e
�u�����S�@aL+��M��\~#-���wL�VC�>w�������%*0i�U��K��cJ�����P�[[;,��aTe B���f�8�~fzE)od���Fe���,y�l����(]k���rw�0�Hq[�x�97(�%C+90h�J��m�S����ZR�t1
�tb����z�B����}��EuG*U���dl�+H�n�x��Aw���������bnT��U:r�E��fZ���^qL-�w�DE;'��M�<�p^q2��J���X�*������2�/A�������p��A�N��!���#-�6����D��pe�P��h��o������z�i�C��8�Zb�_��E���� Yo>1���S�� ������S�X)�-;AtQ(�vM�D��%06��1�
6k����������y(��5�R��Tt��>g1�����Y*x#��bQ�4#�]V���7`U�����:�"���J����d>SU����]J������9Jq&�Dp-��.����n������x4��t�����������#�#��
�/��s+N���7�M�z�&M���}������dA�
�����o}�s�}O�l|�t�wg������~)��}x����5�1](������[����q��D��
�r���:����#�3S��gV�e��d�*>>r�,��Z4a�`���^����g�P���G��C��������Y�-�:����y������� .csN[f���C���<'bA��7����[����������i_�#!���n�;~A���t����#�������7�`���O�Fno�^����d��Hb���%:�R^Q��Q1��P��<���{�� ��e��R����Dbt K:�A\}�#IHH�~!K {D���m����OB�\ft$����;oe��[�5T�����m�/����|�J��!�C�\GA����m��&y�$���� P�@~j����2���g;Vy{�W����;[�< ������Q��@����sZq��QQ?�g�%59���xd�����-�I�������VR@�fO�~����9���Aa��W��\�A(k��K��$R�>�wrk�FV�*���e�w���`Mm�H(����;%q`j#-��}���^�k��G��RA(������A��L7�*T�I|s����E�c�����} ��N%DT�[Ep��3��"=v=�yZS��2����=y�Lb\, I�������c��c,z�2l{����%�&�2�������[2�I������q��S|�h��1�/���*"��&}�L��"�Wl��G�z�|���}� ���xZ������"z��4����&�H��S\|#u��~f��V�D��~���%����e���W��������M������Qii��=�W��X�����$�c�H�������[$`X����8>�5��WB$.�F���_~�),�I�Y��$m��\�;��"-:.;�!�����H$B�JO��{'=>��E��BT��6mq��Bz��O�V��
�
��� %� ����Q����<%�����/-�L?���_GS��p`�FN����0��J�Y���$��d�]Y��X��vs��)RR�q<8��*�����|�4.����H��s��Q"����{f3��t���p�������M�H��J��=����N����D\\��_$�w����x!m����>�,�S��}_I���P�f�'�(7C6����#��"�����PiA�pc�4��"O�O�w
���(���i6f~R�oo����CQ����'������e��>��������(��6b�#F���]����
�)��Sw�A��
�o�43��Y�!\{-�~y,��� ��IDAT|�&�y(Qs���sF?w�0oQ�+A���8w���AD��o[��d���u3�w�����`Oo���k����I��\--�U�r���t��� ����X\���e��0��8�:pK^.D0��!y�z�<*E�[�-�����NR�����{�]���7�2����l����2�����
������������TH�n� ���8M�2�����������uP%��;���}��'������k��������#������cy�H��/�<|�>�(��m,���������HKK��=/.�xN���{�e�+���`���p,A�
���>O1��>&��ti>nO$�4����l���7~Q��i�YA���
90���Wrb������:��'/��O7ic��ZC��"Tz���gha���UG�&F^ojx~h����;h-~�$��d^����uY�E��Y}&CP|���|�����!�s>>�
�|ZT����T����}v��Fy�?����x��/08��+�ZN�
��{�3��)Zb����W2oU��
U)�V���{/oG�����<�Ls�B������Lj��v ��|%�i\����9�4��w�����q�s+�Ls"����.��B��dS�d�X��/�,�i��>Jc�|�5����$���1�zA�:��S|�zLb�+��6�����������J|�����+9��rC���uR�������9nb�P��z��/������Ljq�p��������/0�]�,s_��9��I�[���~��}p�
9K1�b���W ��[�����QVSwGg�P���S���E�+�L��o/�I���b�s+�$ K�����2�f�PKAp4ub�P�K�2�������"�L���+�<8`[�IZ��:����d���y��
��-�K�$�=G�g�`��|]~(�z
�X����mvsK?r
�q�WJ���Cc�+�/@f�^!Gm�d��R�$���������-P��:����m-)h���^�8�t+���D"�t����"%Y����9��-K!���_.(?x��� `�f)*O����:%��\!Z/���s!���
%5�������S����C0�AF1���a-����;�T2�������FyM��\�p�������;�`y���
.m�Q
�I��9q������t
{Qz�J�o���Iu�������:�
�sb�f�L����_�b��2���2��V���k�%��"�%����>�EEp�v�(L{_����0���N}��#�=����]_e���P&�S��J�Q�a�#�B��Y�:d�igE!��<��|wsWD�"������
�C�B"r���p�&����e����5"Qn��S<>�����;�U�|!�&��"�N<�����8�N9V�����>������f��t��H�4��+��$�Z8�:+�^�7�U�E�fsU<[��9�J��d�+'��d�c�\��-��a^)<�����`�
�P���NpI�S,�����(��=�A^��<%a8�D�e���i�����^��� E��Y�����3b�����+�#C���S}�J�^[���!Y�K�*�Y6�f�,�&5�
5�r�c�i�r�d ��X�;~r�uw�r����7�"#��
��c���razy)9�"N=�t�8�5��v���(w�t����RqJUF�R�x��m�k�s��<D+��=��]kaJ"B:���X�+������8�w�c.-l���%����o�F��]��>H�9��AL���=��?1GF��RG�/��������^��?�>Z��������?�Mq-/�$5V��aVX���(x��G�2��{�"����8N}���W.��.n��[��K)����K���2a���(��J�����q{z;Q��!��e���#��~O�����zy��=�U*<&TC��#g>f/jTH��S�8��mr�"E�����g��;�����c����3� ����m y�py�m�^ZNnmmM���A�5�
Z�p���Swa�3:9m9������
i�f��@�R%��1�Ayr6�~�b9�?6�\�Z8�<-�~Z4k���v ��c3N���v��\�"��x�fyh4���,�.���G��3�GF�-�N�xU���S���Q�e��H�9��ej�����sB0��u1���hI������A��#R�O������� �x��u�a���8�2�X@I�|-=���8
�(������v�zt�>z�f��\~&3K(���'�FJZj*�on���)S�����LC����,J���B��,9q\����� �+|����IB������[O=A�n`�P�eu�H=*_��c���"gNM����uxMZ���9l�g�8��/���{��3S(��1gdJ�}���eN���O��[:�)�1�;�+G�l�V�I3�\��]�Rsf v���T�>�2�L��+Efi��m�j.���������36�5v�tl����W�r��v�����&�'�b�����X�����.6o���~
��]W?Y)��G�r9�����e{x���.U�u���]7g�+��6�
E+��V���fU���kN���;�M�,�aP��zK�������2C���*�h�w2��AR(j�(�n�R]������6��"'�}k �����K'%���{��k��n�o��h:g���4N9h8�G�@���������r�I���:u�
��NgVtG[d��@�����4���R�=���%�o�_�}� ��ma�����8�>-������Zr?=/�(f72��yk�K`�cX�iQw����6��MD8�E���W$s[aP�o�g,�Q=^�����J�""�nz��%�m`U�*��g�K`}Kr���u�4��,n]Hjh~Op�,h�v)[N�T��Xz���:v���yH��"��lT0�"�)�������xG_'C,�&B��\T!�Q|�O��LM�t]�!|)_���-��� �����m[�;wn�_SD�=�A��yfet�x*�X������${^(��}8���"fz���� �K�����$)��b����]���T�?<���l���-�R�H�-���}���XSo�#=��V
�3�ER���86b1m�T�7��.L����7{�%�j����+Ne+�^�J�d6�ET�-�,rgU{��Mq�'��^���N)��l�2bY������&kg��qiV��j�_���ja�c��k�$yL�rh�O���������j1�C�=�$����0��� ���F�]��9�w�M���m���i����vUz/�~n�����-WT�M
�.�����'���q�����T��r�Xq�6<H�P���,�MrS����M������FQ3�k��#6��y�#�+5�~�9y���[��j\����< }��g�������fy�D�4��E��4Ov�A[� =&,c�vY�n��������_����K=-O�S���,k2z�n^)�}�#��$�t�;�#�9>�$F��:G�v�e�V������-{o�f�����
�F�R�;0���e��8�p������$s�>S ���>��yYyS"�X��,Z���d�6���d���,��Zb�l��^`|�B�<�u�B��8H<��n�/��F=�KY������3���]����T�o�'�w�T7�C�9^?\�X��� T������y�XzB����5��:yi>p6�v��}�6vl[KCm��� NJ&���:��wLI�A��=�������^���
������'���PM����W�
���b�����
E7wy�]��Ro�V���J|��
�&��(_]��j����X[�>�D�L�rb����e�����E�9���!C�)g��s���.������(&�vv?+�b,�8�����9���j��xC���"���(�����}UvE��*���|$���f���g~�9�i<�<���%.���&��q�Sw�N?%�$_��d�P�Y���@���D��N<T�#<��~!iF� �*�����
ep��+��X����}��T�Q����P�N-�,������Y�E��5���O�2%(�_�V#������T\C���@?W�W3+{�9Q��!�3���\��g@~��<P�l���)r����$�e�S��Kj�S"�j�(�c����_��D�lc��I� f�Tg���U�!����v�T(��\��x����
=+��t�����9��7b���oe����n���J�RMG���EQ���(��D���8�0���
�7�V����mO^AL�ug�{��f��_��cX����
�'y�>�#
�k�����99�)����`��c�:{��6�#�$����~.�s������/�9
�(`��{*�&���Y1i�:�uq~#rW��;���HDT+)��D��n�n.f�����/W�����.e�OE�f%{�%�RX��w�����r��Z9�_�%���p�8�=s*W�Ae''����\��JN�\�>�>��Y���Z5�����m7I���~��z5�����Np�d�g�Dl)���K��{�������g��}u6l@�����dA���Y�#5Z%����h����Q�j��bI3b����XD�5�*i��������>����eE������/c�J����s�c����=�����|��
[���\ �/���{1* ��R_�����i�u��`*�R�W�w�q.m�y�
�"����J�y#5��1�� :y�cW�:U+���S��8U�D��UXxP.�R"�J0������A��
~r�^�,0W�������L��� Y���WQJm�������2�0-�����#�5+�.�{����w�qQe��J�nE���.I;��v�]{�5��;����n)�@0����5�`�>>��}����?��s�=���������
�����
B��Ap���-���8�'����q�I���x:�4A�g��so������)X�+.�����^3F1B�u���)����@� �*u����L_��u�����
�����&S�4��qi
*B���$ "��+�P����\x3g��8nm�FmsS��5����pp���8�b���P���/�S^�����G{'RR�,��� ��N3�X~�m��^��PHW��W�II�fJ���4�N����������]�.�]�7�}���X��{�B����440��Jp����i�\42�N};E}��W��K����X���!�~i`A���\�W�(����q��;�|z�X����&������u���c.�I)$�����.���E��;E��V�o�R�4nWJ�E��S��Vb,�������$R�B����������u��,���
�v���+03o������YS�;kj�b�eKfJ*���:T3S
��G��f�Q�MN�F�~
A�g�
���0W�W��i
���#e��g#wE�s13�B��b�~��o�`>����g����q���|QSp���+�jo���p���e�
���J��L���&���q!�t��)��tI�9���m5�����.E�>�.��n���
d.�����Hh4b��2=\��LQ�Q�0S#��1����V �*u����a�d(
�ULB������6�������k��G�h�;[��[R�����Wy3�d���.���\���OIv����>��mI��\1�q�����g~�C.�H������9�3�(�\c[��u��������m�H�sI5\,\2[�i{����|���2J����{���=�.2z-;�:�\�;���h_I4s[ZP��
�����a���h>3��R��^CJ�.�����T��|�n���{v�k�^p����
2��nHdY�J4o�-�"7 V��t����`���Z�g\r��=���!�H�S� E�,�5r6�s*k�����
����D[p%���LJ���S���ILT�������T�P
.[��hNU
.cv��P���.Ez~��J�E�r������_*<*���Yn��T�p%>?�U1)-�������>���2z�8�%l���T)���0'��Y��^mJ�bD+�M�� -��lF������@���m��s(W��y���+����S�f(�C�� F���T��D*�D����l��-��>\���#��S�V^$�*�����$y�{jZ�;d
�o��X[p%��U9=J����;����#�Nz�������2���|=��M���p9�A&���PJV�A����RM_S�yH��%�7h)Z�������RL|����z2l��p�30����,D/wE��V�p)n�u�e� ����HLj4e��c|V�`���n3���HjjJF�&&%)�A��;*L�'l^0���d���[�;ZIp?H��:4�q9G��st"Etti2d9�j��E�Tev��p�������uu.�eXp�;�Xzz`Eu
Yr/���8f�)�n�1���"_?�����j����T��zwd\r��N��3WZ�cZ��z�V�k���vr2�i������9U�M'�+�+��������K!)��'*�{��c��RY_�^K�
�H�T/�m�����YG�.a_� ���3�+��F��*���o���uI}:���et����\)����%[9FdT,qQ1�_t,��WX��2S�������O_�5�t?�������`u�I�|X��)s
W-�����J����q�����A�G��'X�S�i��6��e�|��
S~\�������9����
�<�oU� �����q���|�L�����q���b���;5�I���}����Ep���\*��TAR��������H��7����1�������T�����GbX�=n�����<�I��<U��Q�K��-�3C�I(�v�z Eg��������)������-���
�-��8:����\���;���
"�>�w���W��3��J�����XZ��VJK%�Y~VuD9�F"1���
4��v��1i:�,�w:���b��Y6�M{�JR)�gQ6���e"��o;�A85�'t�&��LLk\��� ��
�y���7CZ��<����3��z��c����u8Vsd��7�)��]����]�*-fkx����������(�B��9�OV�O\/����T��K��������l~)���V�}��7�R��������9�ey#,��iQ�t)!����,����\��J�e�W�ld���"���jD���A�H�����4�4Vu��^Gn}PN!�+��hw:Z������L����JGF��U��X��4���D����WGF�"+^�+_^���2������g��5O ��(�#����Jp=��L���8�4��� �b�����|[�F��YF��Ln���;*�z����N���}�9m�s� �����)��%ppzjv��3� ����6 ��{�,%�n��t�"D�F������a���"FA�c����b�9Di�n(HeC�*�)��G���sifKt�Y�S%4����������^~5��;<�!����;�J���&��i��O��^MN�[��.E���<1O7RBO��KN)�KrS�����h>g��I� ��_�\_�N.fR��Ey��H�>�H�LoO����.�v~yJ� s}���dY����z�����&W�������U�����)��&'�~������J�x�.��Hq�fv�������%V�qV�Z\�B�9�$5X�|>����������))�� ����(�FX3UR�y��r��>�k�JVV�Y���S*���\��gIy�4���� b������M{���v�4�o\�����!��Ta������o��s�{_fI*0U����+&��M+D���J�:���Eg�_�|����5A���|��R����o�=�Z�~�)^����=3���b*Ao_�.Rs���qgt%��{&'Ox?Fp%�����
?M�W��~qa�:�N;�1��G ��r�;-g{]�k%3�Ry�g
e�$�Y�M)�x�2R,:/���\�v�{���P��Z2��4�K!�T��72��"�Bn.DO�����"05��)������:���IM���&(��N�����Jt����X7�@*������n�X��I��qW�)�i]I���V������al����/�S+�u���W��+9y�S�G�H���J��5!j
�7���T�a35/�Qp���+�,Yv��_������K"�����o_��]x�5����K��K�N�tF*-��-7Q��"%����3��e�����S?g+�����?-�����LJ�
��~/���J�u�����8v�A�_��W�d������%�Js3�@�=�km���e��Lq��������J��73?h��HWZ�a�o��FV�q�WiXFF��Sx��7����3��d�!�T�K��4n.��L7?��?��*���=-��������l\Y�f�Rz�K��D�mUx4��<�7js��R�y��%�
O�Y����
������L
�fZ�*��R�<������)Z�&�/>����n��xH�����OLn\������\k''��Q����4O-�=V
�[���cP��7�2�.��
]�
#��c�y_e�S���S�l��#^z{������4��HK`�]1r�u��k�Z�H%�����r�6i�~���NM�c3(������"5�DNOi��N���t�<-%��Py���
�)X�#�b����4*�W����S�ktu�S�5�^g���<?B�����^I�j�d��=T���i��x�{I��65�@�W|������rmnGtu
0q���<����^���I��<�Ka���#�nn:�>L�� MM����[�T������+�[�[��-W�=�I#��?o������%���]V_V]+?����M��#�����*y���y�����D�1�u9t��s�]��w{�k<e�W��F!��[N���?�?%��m��dI^f��Lp�~���L�����H�c��tB>���e���vS��=����,)��b]�}�mFFNw1;w�h������2��dIi&Hj�g�i
Os�n�l��)�2L��bA>;��T������#����'�e�����+�k%eq���34���f�:��7�wIYf��c�^]V������q�Xr|��2h�/���3JR��Wb�V��������]��[/����1NR��6K�Z���<>�$&��4��������g�EC ��l�"��n�T��?<���������H�v�i�P�*�N�+�
�^1R����=(�� �����s{��U�0O~.�?��:�-C���mK��qo�e:o�:����9�R�����Q�k�I�ah� �3��^��JZ��]G��� wjv��K�u
oN���D���l�A�BVEB�6��DPN�U{E�J���i���P��5m����V5�4���_�P�h;�g|������$,m��Q6_������ ��9������1)^�"����C{�kV$w��4�Rcj��9m�H*sQ��%�.����w�#��B�]�1�M��C�F?��MS�Y������)�G�9�T����:yteXk[�W������!��K�����#���a�(bh����5���P�7����4�F�����{��������bV�>�:��$oA6>�9����2Rr��M���0p�Ar���n�L���jS}�B^UJ�6s�R����h�#���,�����R�Jnu��J��R�T�A��hP�
�����S$�F�YeTE���y_��&�CZ�������E��R*�#Cp}����R�����CWW�\�(P���k.+�����=�(�#���
-[4d����8l���>J�B.(���s4��NK
`������Oq�j����F��P0�:���)�Rie.|�4H�n���!��37�����|
I�L8��l3�
�����a-�d��8��2=_j����'S�gN�+-�.�� �P����6���?F�j�8L����|�_��"�P��9��8Q����CzSEZ��[ng�[r�C~il�T�����h�� ����������u�[�����%����U�?-��SZ)��J���mkV����JS�I��k�����+�iT��%�h��#N�+a`��Z]���&�C�OD&+��c��W��"�:�OZS 5H d�����kGey.�WQ�'��������u����]�M��b����}��O���L������\S��/3�4�m�F����/l�]�6�m�H�"�)c�������(�����a������/��f�3C&��n�V������#�iS��v��_$�uXUd����5���8�
�`�|.�0}sf.�udH$Re���C� �M�1���������aUXi��8�nGs�jT��fP�&��Tg��EZ��]��YA�z�q��-���`nQ��C����9G|T����y]F�D����.:�z��mH���8�(s������[��y��������Ui
�b�/�����M����f��v�;�����E��o1q_�/�/������zY���O��X2?��U���q��F�H���M{Z9���j3&���^��l���Q�t(�K�_7e\���DO'/�r�����D�V�J�^=�mY������5Etu)R�|�G�S��}2�����,v�����=&%
P�Jo��j���A�7S:U!������o��U*�������~������O�E��y�o"/��ii_�Q��B�U���T.����3������T�Lp��zK��E1�7.��Y��I��f������=���@�\����m����^�E�0a�M�T#��A���,::��f��v���T�6��t��\~��Q��"���e�h��
m�R���6���!��e��Y�Z��'��f�LZ�y�|�=�����kW��b���w�'U$���f37W�#,2��c�+1fe�������
\�����������u����=x�����pe�J������O��T�H���C�����Wse�:n�<����>o\���Mx�}�a����c����B�|S5>����y�����k��1�<�������FK��x�c?wV$08�"��c'7�������,�����M�\q����{����s���>�Gm'�p>��p�mY���/������b�aj�$��c���8;�0u��>V��sr�6�?+���y�����2�g��L�2����j�YH������r�p��?�`��\��:B�}i?w�C��N����<tK��=���Y>{:.���L���]Y������+���M�I�����l9���qoN���>�cO�mg�T�'�0c�J����}�����1.��2e�<�s��\�si�6v���������Y0S�~���|���s�u=��� �N��������
[uR�^�}�l\\�q�<����*�i>?��3���1H���>�<�'-��W�a��DE�5{�il��I<��c�y~qa����u
�����S���s9t�-��~��U�S���s;�i�2�
�k}�L����}����J�.�`F�������|zq�Mn�n�d�7sd5��QVo�����Cyy��RQ^�������W�������������n�:��YF�f���L���9r�Iw�n`�d\&Me�uoEX������R�8�j
�]���H���-��:���26i
�o��O������f�A�U�e������[���=[��<n_����T=v���t�m����d�N���X�m?o�Fx$�s^�����rN'�%���c�Dy����=��B���_Mq���+�������$.%�k��s�Kk�����^57��k�$5%�s�vq�=�%���l���A���I'�2u.���P��u��[�����s�Usg��x�tVn?G��K��?`��m<����z���-�:t��/&��x�Y�����|�I�����������:��.S�r��bze��S��Y��w��k"��f��������
���`�Dg�'Nb������,c�.)�[Vn����(M�d>5�;V�aRz��������vp�Q��f*>����5������5��tP���:l*T���<�lX�QvW�ZAW�R�J����LC���i���(_S����M�b���� �A�i�����P��6�]��IM����}�����|��;k��������XF!������G�����L�4 g�}Wn=��H�Z�0����tn��IS���<!�n�#%����0#���>��gt(?������=���}IM
����x�:^��x�*����e���l^���)����������=>���N�y�df/����;d���"���d��D&��0c��]t%�k �#�7/f�����La��s�%����f�=z��C���!�M���]\�0{�
.=}�.���;�r���1�����]}�w�1��|`���S� [I|�����������9�u1��f~������c�f��7�Y=�)��1�5o������9�\�q�C�$|����x'�s�e��6��s9�@��%+�,hmE�rm�����'��������K�1��-S8��S��:���� ���h�4��Y�l��D�ZGI��_�iO+I�qq0 o�)
�����N ���i:��'%�
��t���x���'5@G��[��}���_@�M������������ .�[xc�5_Ff�h�|�%�@ �W������y�y�1pi�������>���U[�\�'�Q[p�}dU�J�J6�����xgI��ST/�C��x�Kqc`�����@`������I���.���C��������z�g�%Y`7_���Hy�F�)��V<��K �����L���h�VL_����w�r��4�Y������Z3���N�O�d~�7�����g�VNN�JE�_���[o��#,��H�8w�������r�nv�����=1/���&��z�/��\�����X8s&#z6BG7�g����������
}t�#}&pz���zd���k�f��z�~�iu�@ ��yu��'��W�nt����}�<}>Gn�{���H���.��A�.����=�c����}��������=�7t =��A�!�3{�\����g���G���+���g��������_\r���[��<��7��@ ���U�%�@ �K�%�@ ?!��@ ��!�@ �@ � ���@ ��\�@ �@���K �@ ~Bp}iD����������!-���o�������/��o/^|$>Y������i�|�E`H����o"��������{���3�s �A$�m�$�q��%(,V�����������a��2&�����H���N�����8�s�A�����<����G>F��w7�7{)��Fi���I���4��A�
�����w>i���)=����l��y�1R���GI����Z~������A�����}W��%��Ig^�����L��p������Yd�a������S%���EJj�7-�K����]s
�WHN ���������|�OlT2�*q�8k+6dE��G��)����#��F�'���P���2:�����4�d���#IJ��N��@�{��P��I���6��]���:��$)�1��vY��|�6o��D"���n���V"�wRA&�J���x���g�|�)�7�g�_����:������8Vt-�DR�!?V� �������NS������$��{=��,"�q����*:r/,�0��K|OQ�X��s\q��(����>�G�qSx�0���e~��L�Td���:uYX�'Nm}JZj ���P�,��M! �?���#5<�w_�c[Iu��^p�e'�p`Q�V������6�K��G�G�g�a������yXV����q�b�"=m����D6
�����Z���=����x�#-��P��I)�s�U $��{�<��M{x��
�"�9�V��7�7�g�}�i,�v��,�R�}t�Gn)�����1������W(�u0�����k����j�!��4��bc���3/�,�Rxt~Gny���r�}��z�2��c�����ri�.�/����?3��1�z)B��],�5c��������Rg����["��d�
)~�^���z���uG����Y�7������f������?OW�K��u;
c��,���� ��o�?�?-�RS����%9���Fr|<qqIY�D�����~����D���$���17n��]6aR����OR�K���{��EDrf��s�C�y���������6����u���"#�HT�g����{���H^z������/�U����.7�>"�[��(��2��*��~���wy�:X;�Q|��x������E\���r��]^|��<��{����o��:8�`�~��;7��������_ 9�'��q���H��*9�l��I�xDM����K�������)�������'_n�����p���Q��%d'9 ��D�k*��@n_������WW��g��q�,#�J�HHP���0�����'^�4M2-5������!���yO��Z!3I����+\����O����NdL�}r"9�>��y����o��i�$��g�K�g_����O�l�*���@���}�������Db���nvGblL��������i���N�KW�������9*-5������/���[7������������������P��������>As���$��� �n?�}���!�R�Vj�+-9����l�4�c�W+�t��U�}���{����������O�7d����W
��x�����~����G\f�����*��4�i����[\�~���C�Add,)���$O����JR\������x������o#�Of ���n\���g��(�]X8����^:)�z���{���V~�������3��(�������i�o��7n���]�u��~�������������w������S3�xE���EJ�uw|�fzE���[�y�*(�A���T�����[�y�.D��������~LP��M�H����.�{.�0����4��W6(���o���Sn������l�WV�\/���eu88�
Q��OZ<��$��F\������T>���C��� ,L;����'/�^y��+O|�%m����������W>��� �Go��8��Mp����aO>������,�,��-o/?���g|������!��?�n��{���SB�c����q�M��S��w�)� �S�~N=������3c]��D}�>����W���to���������s��t���3�%��F���(���%��Z������ng�>?����,W�|�R��� ��k�������m�������-����s_�h����9��������J2�R��]3 t=�/�k�+�P���Z�D�V�8�.����=�=�^;��^-R��"���P���O<���7�����FE)P�8U�7g��k9fr�A�
=��k�t��T��daJT�B��.���4f���.���[3�
T�hN�&��w�O-T�����]]*�.�a��T�R�f�\����q#���qw?�~w2��=f�K`hh��G�� ���~��q��_�����p1c��u`���|� N�����r��I���+\�����
��X�t��#R�B!$���i��VM����k�{e�}�QbfT��EKP��
s6d��&�Vh���wfjCM�r���Ju�:noT���}��\�U�<=6'�n��U������z�L)�� F�Ui3h�>�}�W�� �vhB5�2�W���k���)<�4�O�����6s��V�5��l���+Z���;�����)\Z;���y�j���/0�wg�z��q���V�|��S�b5:_��F1N����4oP�Ry�gdB��6896�e��t����F��0cp����yE*��Q�^S�����ukQ�L��9��pd��4�N��y)Z�N�Fp�;=W�����p�_�R��R�����p�U�wS?=fH�f�X�Y����';��=J�v��� ���t7�\+O��}�p��#���N]Kc���|�����j�*��)����������Z��eP�9'�TqI�����i\�r%
S�HI��k��UU��: ��<��
jb\� ��aY��9G�3�K�����V+��u���"}.�[{G*��@����1w�f�4��F�L�p~N���-K<%�
#�u�!�Ta���3�OO.�z��Y�R���\��0��+����8C����N
�M+`jfN����{�m�w���+���f��UjU5�bESL-��v���d6,qo����o�~�5�{��Z
�5��i
:�^�K-���V:7i@��E(T��Uk���1-�6���ix�����&:8v�����J�Y4�?��At���Eq|�8�4oH
+3*�V���5�'���������p�k�Q�|+kB�:6895W����Ng��g�n����J��P*�v��UG2��������&Z�s��[j�*)\X=��N���4����Q�|���O�����C�c]�<����R-:�Y���8�����)UM�)���b����uo2��N��D�Z�.Z�B�KS����\"A�T��A�F=��>1K[��
[t��w�����e�s7�W3�h���6��O��88)��Ho&�������gNu-��� ����H��w���#�e���` ��4b���$i����mthhM��)T������ivU
�l���WJ$kL�Y�Q� zp���Gp��5fiG]+c��/��ezM����/�I�N�YV6]E�W��RpY���L��^�F��L�Z�"���z��wF^�3�|�(�tg~�:L�Tf���J�������U�OmaE��Zr�g�����5.S&����J|��)�S��+r��i5fI�07�s�gq��):�����9sXm��)��L�Tc�Yo���C\F���p�X���e O�Nb��9c$59}$(c��:�N�Z��%�W����F�G��6b��!�/�"8�t���z{j!�$&]�6P"�dgB1��(g�%�����2(����y���+����6�q�O���1�����>��w��
O�������<]o��Q1�Z�
�|5hboN��C�y���?&>-�������q��D�beYx�?=���r���I�i6j9\����#������i��T0u`���<�z��+��V� �\�9�:�;�m?���)�d(�����c��E�S�i��5��AR(S��'w�|�����c�x���3��B^ ElG�JM|z���m����u^�~���=41����@|T
���5T���`�z������-b���<UV0!&!�c����{Aw�S���BV-Xy�>�O9�~s�'�dOm�$_9�m>�+_?^?�����������6w�F^�>u����o^z�e�����a�q� I������\�R�X~������uTAN���t���\Ek���
^�z���iZ���dXX�!��b�q�����Y���~~���B�<���I�_��$�DB�574��K}$U~!H������gk
�g��s�{����<2*���!z�\Q�'q*+!�yK�8u����9�m�������x� �m��;��MpYy���ypv�*�BR��������6�:���V�x��Z�%�/kE�~�����koW�L��T"������a�����z����;���`���H$��| �O�^�lH}����3q�!��|���K�mRI��r��W�����Y��c��;����-S)+�P���A���z �
�}�&<}������y��l���xHy��US���gD6��.�H�t�w�5"�~g�G*��T@������]PJa��4����;������Q-�I%��~��N���[(iX{��T�i��U��t�
���#�{��GW��}�p��7>�X9�#��:��z����M����Heyh�c<g�>���VM��m���=�1Ljm�A��,�w���|<���R����h��|�.��#+X��������v.������a�q~���-=��6a�}-��I!��-�P�a#��NI)�l[R�����p��e^*3}��}�l���o���5O/������5�����_\�V����8w����_r|�(rK�4sPe�C����R�hE~�7�Sw����)[�� �TJ��'2�F���46�Q��7n���������W*������~��y�C��Bl��ixK�*%(g�BX�����?�e�n<���+�����TJ�E7HU=���1����}�|����Wf���TZ�����:P�I2��
���P�zW��t����?\:��c�/�of �����o=:0q�A�|^)�����H�����p�����16�*���fE�������\���XyYJ`r;S�����7�����)��C�Ak��n�XE��Y��0,e�����z���m���`A���9:�zz�h9r w�_��z���8a���_W+N�������a�]R�LJ#m�ch��1)���_m��W���x�����K�,�O�6� JZ@���([������.��[9�~���u��/�}����m���d���ot'5�P�V�^y�+���\�u�b��\�Yp%�0��.���'\�&���rLud7�����\y���/�o�L&����9�/-6�#5�,����W_]W$\�rUc���4ek�i�s^��VL�3��P^�'d������h���]fsi�6.�����U/���-������:�����EF��o>�~��&��L����
D��q�4��dI�j��qd��h�����U�&�:n�eeX`9���Oqs�26���DI��tW��8n���T�5��1[V�u6����8�?��V}���e��,�7��gn���M^�{��_�b�|>���eYl����/v+
�����K^�7�1�����Hf6�L���Q��|`hu#*:�|� Od��6H�7�Uk0aM/S$���B�c.��p�P���Z������@b�<<^g��w;�>}W_�:����
�Htw�G�L�����-���G�#��nkF�J��3�F�+F�����)I�Ljl�D�
_h���B~��!^i������e�#e*]Y�]IU.e�U�^��T�<���F�R"����f<���rR��h/���B�3_$5�9��I0�� ��b�]� ���A��3w4G�B}.e3KO���!��c�EM1���E�@���d�����%)��'��{wMot$%��RnxG3�)?�6cQ�0'�{�$�������k��')����_:��h$��,9�J�,�+�#j")T��A�zk%�$tZ�|��#�y���{�5�&�<D%��q{T��\k����~�����7K�F^,���`�Nx+�"�
]��W�^�9A�m*��a��,=�_��q*Hs���/��F����.��
���h]��iK{*+����4�/������g���F��s��W�6B�TmN�Q��X/zV(I��(U�.+/(��E1��l9���������'����i��8�u1EZ���)��� f:R�Zs����B����Z��".��sBjX�}n�tJxw����T�����y>�3����|�9�rwmt�%���<~m� ������.��
J�H��>�a���H�Wf�#e<2PF�#)QOR3���&-��1�
M������6a�����i��=+:V�X�x��k�����H)�0�`�����vFH��W��wo�p��Z������h���mf����� ���+J+O�1�^E�4�AxyII���aR�*NaLv*G����Q��q��%et[������
�J�s7"U��+�T"O�V<�<�U>���,7�V_U �$Nn�L.F����<w��N�����AR�dy'dyL��(4[�V�����B��'^g����9G��2j����J�X��Y);.�K!-����d������D<��e^]��W��a������U�������2�b��x�S�����hXu=X#,i�,�a�N����������1l0�@EX����u��������}��Ii��Z�I^��0����s�/������3�)�gP��m0��|�'�>cG�:L�5������:q�w��@>RU��+�e
����6����.������T�F
Z�S���c��)���"F���+X�c�Tis�\
��G��sl(P�I��\��Iy<���fUo��^)qNp;�J3fV�_Hf���f�n9��]L�B@'p���L�UdZ�\��\�+g�mf�n9&K��,1e����sV��}�r�f)!\l�F1e��noM�/h�_\)��� ]I.zO_�������W��(�d��<����'���x��`���H$��Q�pnyo�����vO�����$�^��T�^��h�a�8;$����=����*��p������iP����+F���#�y�|�����������T�C�Id�^z�r������k[�c �{���'�68c�'e�%�����
3��Fs���,BG���J�|] N.����H���v�Hr�o�&z[��1=IA���>E��=T�+���g���n�~yk��j�"��M�Q��-��/����$gL)�ce?����K�}�R�7O�\�6�B �(��=�:I6���T�On��X-N��
�4k��hU�]�w���p��z������d
.ES�Mo ���f��;~�]�������K}�K�p=�l�(�6���z��L��EpE=��y~ ������G���W@����)��7�I�PD>��i^j
������4B��*����m����s�����|DK����_�1R���=��d������J�2y�|^�����n�hS\�0X���q��[Z�i���B��$w���q�!c�����e���&6z:t_t&G�D�~��_t'K�w�G!�c������x�����.�/d pa)FRF�����;()����7���?����f �$�U?�!-��^h��)�J�����$u+������Q�����ya�[����.��d/����4�J�w� 5��o_)�wo�dz�Yz�������J�����^xxy���E��p/Li�E{������k�jL������H�t�K5����
������D�-��n!����Rp��~��<�z?`�ME�[��kE�`F�3�D��������QJF����b(����
c�`4�_��lW^�b�X[d�*����������:z�\|2Cp����,�
�?k��X��������O4�����"��c��G#>�(�yL{��� ~�k"dyX|;�;�]����3y+���>��+��{*c]n�o���&��'����!��b�}y�W��K16��t�U�1�����S��,"�L���43����Ex��l�_�x�tHd:���H!-�=�u0���8�{�{�RQ=��?/;�\�.����#���J���T�����*ES�����m�k3]�5r�QG9����E��*T������gY]��z�5R�F��rM���?e2�e���5c�.��
��c~�y|�Xw��N�/���Eb%5��+VaB�^x<����5���S��
�s� o.?R�^���:�jL���� y�M��/�q�Y�G�#$� H��p���i��k�vry�J4��ti�������yL��[YnP�Yx��w��/.ynd��a�����2-;�������41�!w�R�YV���333,*�cbT�<�LX�Pi*�]��7�������|+_\
C�\_�,��=�uy��������:E$�*j�U%��������A9GNxi/�T���g�geV��Ohe���Mff�u�~s�����u��V����KCG� ����$����65� �S�z��2s����Q[p�����DJ��3i��C1/,�`+Zt��[�������g$�2���p=���9�K�s4��� ._��)���`�Cu�#pqTz)T�g�|��!�\�13���B�m�,-�hR��y������K��R��.�U�����UA*uX���,l_�,&�VX����S3c��i� eE�)�����DBC����h����x��x���������'YTx"�F�DR�;��b��EpE>�M������m� k�Z5��j����rC����#..���h./����I'�� �'�J��midS�J��oe��D��U�sn�"��rq���'K���s�J (s�������R���J����mn���)E�`�e�R$x�������<<��R�������������4>�sF��"���a O��%����U�w�v�HaiA����8���2��8�}�%���c�'�c�--1#�k�7��Ii5U�4�.h������d � 9����"�B>�����X����k4I��_� �7��R�=�+�����2h��,�MN���L��mZ��vu,--�T�s�\|���_\��n��N�m�D�j���lE�<:�����)����0����C�8*;��&�x�\a�b�G���������k1���v������\�����]:�����XbQ��B2��O.�K�;!�/��c���������FWZ���C�q��DSs������R�]��|�������~1��4e0�)�V��\{��!+�������?��Z��������P��f�V(��A~~��9MR���[���p��/c]�6g��@&+���,y>�g/eur3p�e��?��6�M&V�,$�3�R��+T�c��T�N>*��������F�������+��xD��%�7hWA�s���:�+a�Y�Jinii�Q���)\��������^W'�=Y��zw[��x)�Np�_�Y]f] �u#��-�Q�����Ap�����P]�H��z9�3m2�fX�$H��O<�~��DY=��y�!���p��,)��,�����a��:�%U��i{�;��|�\O��w�d�]~a��*�~�@JJi�j��Q�F�]'�f�����:���e��6�%u�.��LIf���C�xE��A�� ���E����S�.������-��emW"�v�YV��s����n4���k�Um�XQ�mQ�
��KE�'_����c����+H�����S�F��a. ��/�����=���+���<{����|V-�=�\�\�2��Av���C�,|Upe�^Kp�=�O���~����O]���T�Nn��x����G�t�U����#Q1Oie^�i���,�)T����/����7o�pg�Lr�+jMA������:E
���z4�J�>��z��� }W���GvD~z����8X�E_� =�������C�H��2�utio�P��� '3�}�����ze(S0��b�$G��.�R���87�������n�2���g���zA�����.U)X��R ��Z��s�r&}`�V�����w|�t���O��)zU�>�����B9i�q��`��/���f���o�L�]�)`����}$�qHU$��Z����b����!r��K.H�OhA>����0.S�*���@���FJ��-�aX���l���+E^|�� �d�^~:[�@�Bp�z��,����t�\��C����{����-#�]�>����~U�������j�������0T9����"*�.�n���mLQ��<L_S�
���*&���,��d-y�Ep��XJ�U���d ��o�������
�B}��63+�xwaK�����m��Hcr�<�j���c�l����E~wi��^#
o�J��K��Z��?�U��Xk}Rr��\����������=G�r��h����q�������AE������Y����mc)�;�:����'�z��7o�X��6��4�~��\pc���_\r��`�xJ��bP�8�M�)ofE���x�YJ���,�����;~�1U.���D�-�C�<���<����x�������X�?o�
����F_*��q����R��L�x)��E�%�M���a.���y���<{���������)/�[�'o�
��x�_���!������S��K�.�
g #�L(Q���y��h����^^^���69�N���}/I9��V�G_f����K^�J��c��h�l��::f}HI%�����d�1�h�����7GV���>�]�|��������R%����"�b^�\G�Vc�����gO�����=����
1Ii������
��y�wh`n���i]�_��������wd��6�)����^
����qw`���U�'��i�6�ER�������Qx�esu�X���Z���h
�����~J�5�"�)i�~Qp��,YV�_���;����������}B�b�zB��Z�����������i��p-��y�uy-�Vp �~ Y�?�@�?-�|�.�D_��k�����oD�z�x�u&���,`�DR�3��ro�&�D���!��-�+���Ty���B/S_�O�U�B����`_6��+���B��PY�1dq�p��2l~;��{~�|�RYv��|?�3�)&��,�yO�PD"a������W4Wj�}���Pw�N�+�@�'V����`e�ze�S����\��=�W��VSR"a�N��c�&��Y���|f?���
���S^B��)��lR
I��Y:�#��4r���p����5��+��>�l��"z5�GjM����N
dhu �:,���0����y)�d�:h��H�W��K����Q����t2�����&��Y7�-��c����>t��/8�P!_�&��a���Z'�`%����3�r�Cp���TZ�e����po���0������1.��+��q�|�&UK�o�N~oV��Wjx-�F>u��P���SY��b� ���YsE9�/��+��������,�����<�����Hq���oH��Yx�/�}�$�yhu�%���}3
���R�.��p<�"�����h1'sJ�������'Zb"���d��������-�������Og' �)��s~Jp=���y���%(\cZ��nU(`������\q�[1�M{�f�vv�?�m7��u�GQiv���"!��N���)�W�cZ�����l5/jr���X�2u��:�����m�>t:�v�d�������n%��{��6���(QN|�>�!���j����T���k��o\Il�Q
C���C^6��1�R�h�E&�N���L�)�?h �;0���?�&���K(m��%96��Vmx�>
2�s�#�����DI:_\i���PD�z�vg9�A�-u0���x�il �G�,���S
���"�E�&3aa�I�����&���_���{�H�e��k? j��~�bf���^]p�O),����F�;�q��������B!�R�=dWy+&����s�hUF`��.f��K��%.�h�:qj#\��.��p�{��������A�g&����L�������i��@��W���T0��h��c��[k01�P�i$����Db�^r�������S�'g�R�%��n�K��s1G������*Gq����k�a^k_�Fr�me��]��E��F��2���8����N')��Mr!��f�MMO���V^�PJ�cs�)�9�G$*F$�<,������F�D��L"������Z�K�Xx]_K$�m8���"���db��
Y�u]����7�DR����u
�g=���*#Y��:�������K�m��������C�����( �`�?�i��s�:/��ut)!�������~����7��+B�YJ��N��
��Jh1j{���$b�U_:���T�-��DR���5���c�#�c���unF�=J�1��FX�3�((��m�E��1Y�f|�����E �!��d������6�� �b�)���a�f
O�V]��m������J�(�|o�����O�J?�~��V��jg��yo�3����[���R�Zim��9n
��i ��Eg����Nz���1���g!��_\��eP�b���/-��K:Z"-f�%_e�J�|�&�Th=��F�j���s)(��y���=g2P���w�BO��������i�J��aq���tu6��<��9���i�g��������NH�Xq�WmP�&5)�Tb��?9�P)�^��J1����RK�h�T+*E�����o\1�46�O��d�`'5K
������I����=}�L��LJ����+�.
�����:
����U��%��q�jJ!�_��LV��'Tk��N;=�87�52������)�1���>���LV�Y'��K����
�W���%���L^���s�d�:�O\B��R���)rgX{/�yB:�dN��J;�\�u��Gu7�=��/E����+���K��8vBk#��~LC�|����z2�F��p��AZ��{�}Ap�;��
������|����X�>Q��U�����\ttzGtdR:,����U���|��'�0����"+[����'!!��,#��������?Z!:r��XMp�U
�s~g���������|����a����;k
�E:L��f��3�������MKX�S�i�{���H/���[�&�M����"��#���%=c�q\�v_y����<�OO���M� E~�;Wr<~���v� ���K$:�3~G���Xu�%�\8�V�>������sw������D�=���+��f��@����\������^Q�����Kw�����t!*��Qz�K
d����h�����|�\F��RiCjt_L���N�f��)��&��7��K�1o���nA��� W�;>W.0�q)T[p}�9��6 �U}��Hjq)0�i
��X���<��0�y��s���uA*[�UER�=�[���8��%���)@���S�B�.aA���X�l3]���ys~��#c�"I�m�G���Q���#'�t�BF�����:c�����*�#��LY��E����Mcl�)SX��sJ�ug�l5n����X�b9����e���6��K�!r���0�Of�����hln�a��<���g2�Sk~�����D6�nB��}p�������[,���v�y|���2��`�KJ(_�'�N_��y����:��R���X#�����������)����qy����4t<��/b���8���j}�w^���$)�
��H�S�U_&�]��C��?���(jm�}qQg�������?���;�[����2~��-�����qj�+�=U_:��v�%T�5��IJ�KF56C���~sa��E���-e
H��}>��l��C�S���Z6��>����2iT*�R�z �3:��:��"�f������z�n����+�[�>w�C�1���n~*W�I�*U�Z�6���)��g�*�>>����Mj1n��.����
�i��j��tY�Z���w�1����Y/�������~��e�c�1�#��Fc�����e3�-������xJ�e�Cq��sp��a���?F�"^"��i��?D>����fU��g�����x�d����DR����f<3�c�b���-Yl��p����|�&���Pq���U��c��4\�?�9�2R*����f2{�hZ�j��}�Q��6wB*�>?�O)������������,^��1�t��Y-�
�F����"�����!-T�^#'�t���D=�:X���x���n��m�����������{�1��bR�S.a�lg:6t�i3[
�*�P�dD�#k���n^�}�cK+�����b�DNMk�p���w��`��~85j�cc
Uo��kQ���/���Y�����l��B���g���H�:��T�U�R�j58�d����f�E����2���Q������ ���/P�M&���G�~�R�B�����q������\���=y�����NU�!�]���kR�r���C�V]Xt�n����p/7��~!����%��3m4�jI�Q�x�Ey+I������0���i����K#e�,,�����K���L�.Y)�l��^a�����9�X<w
�;��I����W��J���O�S������8��fH�6t1o���slf�����Nq��3����Y3�H�.�����.�%y�����"�#s��'���cgE��d�t��H��8�J5m6��&Xv��� ��M����/Q���F�`�2�OA�V��5{��4�|u����3���q�Y�d6���@��U)\� ������
�B���.���p8�+�~GG����Z��d��������������\=&I�p��`�i'VUj�<=��T
�v��"��.oa�N ��������Xnvo�(Y%Nl{��R~�����,����C9�v+��f�� ��*�����)x�)�u,YP�5r����[�;0SZg�5�^������_1EV�������������ge�
:��UE,p�TbY��m��l{1G�"~;�i��f��)3e��{���_&�[}�����yFmY[��L[0UZ���:�y�H�^�����X�b���������>U��I�u�����;���KQ��3D{��4��Qc�vd�����KU'ry�������F��`oG�) ���>5�=[�
���-�
�do��m3f�������c���f<��,���$0�L�qvk���y{�1]���u��ik6�P���-�i� �mf2����v`����SB<Y=�
llqj�G{[�9u`���MP�!9�M�~e�uo�.���SC5rR���9;�x�TZJs;[�)�
�����/X8�?;*�����ia���
5����.#9����XA��}�i?���5G[b|���s�m��hO}kk~�H�Z����8�����!��g� �
~-��f�2����Z'G8ve�YM��r��O����y��d�F��tTgl����!N?��������B��GU�������)4S����=6�l�e�.
7�r"_^���-���6sCo
Rxph5?�6�����N����G��kx�����������rMcTM�_�z�~�o�� �
�x����c`}�k�����ooO��
�k`C�a�p�p���%������^�Yq%��C�������*Gm��9�x�*��}�v����6����]KT7R��6}��Y���0�Z�a��D���i3`"96{?��I�K������f)����M�a\{�9b���!��n����"��i���8��j�����6��p���;���G���
�Gm"<�o���F:�v�=����'G{��e��'�3>�*?�����>Y�%�O���!�
e��a{�������q?��nN
h`g���-�
Z�����y>�:��6��x'�������,�MU6�����re�L&L���in��&�mE};5jL��zq���vL���G3F��jx�6���>�wM���%���������1`�v���0��1y��&9�m�m�y���Q�l��z,��M�'}C��l�6 {;y�����Z����ne���x�DT|�5���"��O��� �����
����[@�5h��=�;��~��4����TB��{3��{����m`��SZ�a���\^3������%�:agk�S�&4j���w�y}fc�-#H.�#L�A�����^Y�:��m����X���.��b��;���O6���k���y#�wu>���V�j�s:�����G ����e��AV����p���9'E�mS��A�w�A{����<X<�;�����u�t�Z���{����Gy~v��^��w������;G�6?)�q��u��.������6t���n����vD�+�����+��8"����ec{`��N
�`��zN�Xy����E����n�4���Q�F��5��o_*�����q�Q�t���>�=�������tj���Z�+��G0h�r��a�A�[on8�fO��l���-�}���W�����i���W9�v0�%$}�k��W.`{��y$��A�T����@��l���
�{sb�E��?ro�dNL;���-c
Wy��]����9�����b[��\�p;�����/�:��}�X����%0"�kh�����3�-�{��F6�����3yv?=n�x�Z��6��}���������W9�{�����No����������i(i��3t��������������4����W_����S�%��O#��n�%�q9������s`]�X5������w~%�:�;��>o�^�),�b�UY�g��QN��2`��l����@B��
����@6R,��!O��<������t�����b��l��KT��h8qo����B�����H����i���M�?����
������i�D ����Z���U��f��l�������0a��7�"\k��O
��?\��L��<���3�Fq���8e�����)��Iks7A{�+��n�� ��w������@��ZCl6������WBTQ�k}��[{W#w9;���x�/���KJ)c��?������x>���E�p�RC�������J���T0����,���AJ�~�S�"��3s�1��^���)G�,��m��1��������7P�P����y�������U��N]�"������Y]��� ���Y:E�g�L.��4�S�K �'srz/��S������+[��hC}[�
G;;h��$��e�y��N��:9Ug� �g=����W����z�mppp���G����wTn��<>���v6�o`KC��8��+�Fu�m!�������>�����-���>�rr�)� �@�!>:���H�[[~D~
"�?������V�Q�%'�9��'�>"?)�~��{"��;�X���xv`��o��?���x�?���g�@�?�\�@ �@���K �@ ~Bp �@ �B.�@ �@ �A�%�@ ?!��@ ��!�@ �@ � ���@ ��\�@ �@���K �@ ~Bp �@ �B.�@ �@ �AH�@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ �@ ��@ ��������p�@ �@ �7���~(��@ �3������p�@ �@ �7���~(�WG;�@ �@ ���t�����+�@ �D�6���`m��
�@ �?��M��?X���@ �@�O�o�9��F;�@ �@ ���t�����+�@ �D�6���`m��
�@ �?��M��?X���@ �@�O�o�9��F;�@ �@ ���t�����+�@ �D�6���`m��
�@ �?��M��?X�� +�@ �F�u�w�}3u�'�@ �@ ���E���������@ �@�oD[}�7S�{�
�@ ��m]�]h�L�� +�@ �F�u�w�}3u�'�@ �@ ���E���������@ �@�oD[}�7S�{�
�@ ��m]�]h�L�� +�@ �F�u�w�}3u�'�@ �@ ���E���������@ �@�oD[}�7S�{�
�@ ��m]�]h�L�� �gI
�f��=��Ei��K���6���?!U��w����{���p���[/�+w�_%5��Ck�r���S?���/8�m
�%h�R����������������{9z�[+T�|k������Gy���?ArL(/_�#�GT���>����3�O*/nb���$�i��O����8p�����A}�z� �}`0�?8#F�=c���x�&+����D~��M@��������~�
��A�x�}���*��Q!��D�W��J��{"�����.�.�o�����&9�
���i��1M�4�q��4k��&�����QS�o{L���JJ1��k�[���&����q������T�l�������|����p�D������h�o%)�V���rG��#��L
%�?�}�������_:X����A��N�JS����9����}]'$%�q�/4w���xN��U�=����R�����V�Py��|m�g�&>?�$��BRm(*{��xkSL���}J��#sh��1�7�I��4i��f=�q��'�����D����_���������
6689:���E��S���]sh���}��o���#m������s�a=���q�����������a�{����]�Y�R��������hw/�q�yD+�y4s[�&O�y����$91����
eF��Tk��g���=>�~�@�4nD�&Mh��)M6��������#���'���_�-����o�d|5��_'��>~n�DC{;l������c�\}�Q�����j����-6�6888���/�r�*�q������j���.�.�o�����&5�V,d���,\�����������,^4��sp��b^��t^K��}�}�?���G������Ki�
���|#��SM*��0��)a�/)��]�O�0"�����i��O)��y��LZ�W�f��[�����������C�HR���;�-}1����_h�\O1�e^��d��L�CF���u���l����w�d�N
���Gj;�����Lk\�Z���}J��iNH
����,Y��I���Zy�
�b��`���K�0~�5��?����Q&Onl��c���\<������������P����\%i�w$[�����l��;
kS��%�d�`��-���0��_k5}�,�R��l�T
��-_o.,�� ��4�s"��;�2e�y��Y����/C���J"{�3��s�c)\�����O��'��[z�)M�r-��d1��b���X�2�|����Q���'�a$1d���H��`F���Z��*���!��i����ugV�9��'X3c8?������%���1�R�q7o=��+W��a=��a��2KO���i�;m�Ih;�X����h���B�f�|O����w y+9pUK�F�o��a%���IQ���������sJJl(���x��e(=).��8e������@B���P2������a�X�c�����'8T��������aZl�AA|�������?_?���������w��"4<����� � !Y3]�q� I���QD�(� 1�3���4H�����(U/S"�� �J������ ��O�����H�4b�"2���S�a�'����H/z�W�q�� ��r~�[)�.G$J��7I'���P���Y��z����k3����|M%��������}0��F�'�#"I�:�Ix�2m���*���LP`��j��Nj"������
xO�����c�T��TE���V��R�3H�!��?���1��D�8}=��q7i�f��%���|�����r�5A����������] �#4{����+����i�>X+��H����<<}�����y@Xl2�&N\�f���.Q�����U���l�I$��%����&$�3�~|���z!$( ?_�s����:3$�x�Jdt�2%�>���J��xE��+�S�'-1�FZZ�Zr\���_�w���>%Hu*�"�$��t�R� P����vZA��+!� y�z���,������y9B�W�">(��kS�R�:<��E�����M
����0����xD�.�q��CXNFP�����W#.'�O���Hx����6>j��<���������P��OK�'"Be�&F�N�O���aNXRt�2����x�'4@�-���_R��
����!���`b3��IY_������5�,�.NoD�:��P/���hoV��s��K�C��������#T��<�>������^1��(�����} �A!d��O%��<�=x������9R^B����|���6�#���u|Ty8��M+cl=���/�O#�D�/��k��7zV��d����S��UR�V�I~�<���*�-�6OU��U�$�����"�~ VeX$���axJ6u��� �#7
R��T-#I�!88���a�q&�,�Z�2}�)�~~//K���T��������1A��lR���' @a�(���S6�l|�E-�7UUH&)IDF��I��N��g�r��{� T�i6��O�J8��_�����(�K���>���g����m�p�=T5*��;��������9PY.���tRcCy�����K?~&�s����O������s�����y$���)���.fH����{�����ndH�%����E[}�7S�{�~���h�m���������1)Q�r��r�q�FX�+iU�$���T4.J��C��&����n0MY������3D*3d��K�sia>�������4�h�*L�q=�L�N/������2��X����hU��~���<=8�&?M���C��V�L�V�+pJ(�f��dQ,*[P�����$�K�4 9�d8���bT����0n:�F����RuZp�Ms����c�ph��w��W���9���
�rHr��C��K����x�����H(f�W��|.l�i�R�Y`jT�*?
����y�,��}�o`��~T����� �y��?��������M������9�u*c�u>I�qp<����IN���>�5���V;���B�+����f�����9�����y��z�t������9�h8�e�`ji�q���n?��3���X���-�����}��c�a,��,���s�pe�x������4�nfm��?]��]6<�s�z�3��I��Xw�����V�]�i��n��C��Hts�j�e%���x��s=L����)\
��������j��7���H?���H�|���l�e��L\3�\��[9�q}���W�W�R��J9�Z���|2��O��\)�ZT��BI
�o��3/2���3�V���k�&Z�����%%
P��eNu t=I_��X�mD�&
(["?%��P�iG<�$���Z��!�EU�i�Kr$�����V��hT�r�]��"$����L��@yKk��l��I1JS��.���Wv|����nt7*�2��J*�.DQ��8������x��sds����Vc�r�xL��s�}"�A��i]�ReL�R��b�
�b�r3��w���@�q�AV��}�NV�0�@�*��W�.�v��r�e����f2�g=*�+���CoN?�,7���]������,�(W����8��@�#3�c���J�����4l>�c{����"�����:����Pz{uM�
�Ira^�&�k�c�:��}���y2�����KS#�����?�jL{�
x���m(\�+KJT�g�I�l
9��_��S�J��J+L����<
K!��v�j�g�������������M�\��B���m�^�U�<��!�5n��c{���+U��d>��t��3�66
�s�hT�%�imnI�a�<���N2W���/��4_��i���W8��/E%Rr��!y�I���^���v��|uz�X�����m9=g�5�1�j6��������X�oT���2�o#�W�������������s}s�*Z`U��By��b�^b���b� L*R������&�6�5���|��l���JQ�Ti*U�a��+���
����
�����
8�L�#����y�8���8��^�2�iL�&�R9�n^�������K��)"+���VM�z��D��eT��*l���9���g��q�,c�6e%�]�>��N�&�021���%%�R��r�b9�|%
$H
��F���vl��R_��q�~��v�I*#��P����`�Hk��m@���Y�����F�@^�*V�����%�2u���-�g����/� ��;WCW"���%�����g!�D��w+Zt_Nf+��M��k\K+LJ��ao�z'��*��5b��c�����VT4.D>�����Y���8�\��L;�>��&Y�S���]���+�~��:=��k%P�=��J����}6vUL�"_�bt�������6��2��}sZ8��x�B�4��N�A� ��������1�_�Izqr#�����0����{ SI~���4�+�� �5�kH�D{��,�!yK�d��<y���[��^� %�W�Y�d%��}�&�?}����kQ������ g��FfX�z�����0����+ ������+u���{x�?�����-������������n8�=����=d�����[�S����vO��N!,�91a�^�?��yNK����-^�E��������Wc]X�������paa������0w�r��)�^y��e??I�*����$yn��nykN�Z��s�S�P>,���`�A��=���hR��`_���Y�y�9�����V?�O�"y�:u;��>�����t2���`|�Es��F_�����p��Ez�����������������E�7d=nn��y�QT��w�S�p����W;1�`�a��I��iM�*]���K�#�y��*T�n�i�>{��� RH�������g��s�>w���so\��u~���2��Oq�He�i�R�{���u��1�Y�m(��$�����N_��D�.���+���K������(�����e~kb��Y�W6B��R�x>�j���;9|��^��s
~=�q~g�WR�Z�'r��\����S�x/o�%%qh�#�|�Xz�
n�����~M�`�S����(B�������� y\Rq���(���5�Y�����6��y�n�<r�Y]��3k��`��y���\:��d���<�|��S��QP��v(������%����'"C�9>�=���,:���q���Ba�
,>�n�) �J���0NoY��S�q�����z[��D�9D)U4[�TFb��SO}�������)_X�nK.%/�_�n�y��'%�*���=�=�p�{�]{N���0�R�����s���5c��� �������
#��#�X���������{fP&_.��{�
��������V!��"������'xz>������e� e��z�F��aX�*���(7#��A������F����;�}��4�����p{t�����\[����l��}E%����8�q�Pb��CW6����+�O�������ve�+���g�����o>���o�#!%�)M��+w���������.�F5Ab`�.WU'M�?��`�lgn?���#vM�A�"���8;�9���[�c��#�������8��~1)D�b�v|����v��k�s��+���8�z���|Ri|F=�K�������9��{���)��$o��� ��!jJ��u)��i��6����D>C
6��!�"^}-��2�Y%�5���#�y��.��s�XB�\�t������yv�*��w��~�u^HN�"���t���jtX���my�NQ�E�d�C1
T���k�p�����S��f�);�^3�r ���CW7<��q��^�^~F\L$/���qa�����n�p�x�|���I��/`��>DDF�umu�h���O�I���cA
�.�S���=r�����1�_]�i�\8_�L�G7����<�;�PU�y�K�\�s��oh�TH�r�}m���>�A����)+�����G���WH�et���6���kwqw���hl^�|����T�����"��LoY���������u�8���#.1����E�����g<{�AH�z���x1��Wg���:r������Y��E:-VM!�a��f��O����|� nO��sFO����[���/���GA�g\�����(}�����S�}���0��*U&e���%�^F.:����<�s�I=����WUF��9�����X=�����;��/1��)����\�0�~r�����^�\%���~�n��)/�P���6�+���JxC_��tY�h�svY$������^��(�v�������U�I�|L�"���1��0������f���f��w����0��Th���7���Hu���P +� dvCj���aU$��Uy}�\|O��������c����8�~�0t�����gIduwk���W�z����UCf]Q�W�E"���3����pk#�y��N}�.��C Jw]Bl��vV���P^���
��������4��~�E�J�����kK:���+/�y`J�#�������3^��iHJ�b�CM�8=]������6Ht
�vTs�yR�u�$����C���A�m1C�(owR��K.�{@�����2���1�M����s\�7��f��h6W9���}����
:�EKS����9�����<?mf���.�Df���i�]GRC�������)�F�
r3x�rq��zF��l��m_�9%�m���S��/�� 5)�v2 5��J�^���$/c�)����C�H�A�I@�W�}W���hG
�o���m�"5�B�z-/2����K���
5���a ���^�q��U�d�e��UPi���
�6����(��r�/Hd��sB�B98����:�:
�<vcUB���j
]�UjI��vHi��xl�T6kHs*o�<�9�"%:�-7X��]^B�i��X0}���~X�/�����ip�����
y�-��r@���;uI��WC�LS�Q��>F������f=�I*.�k`�c������������N�O(�����NGB��[5B���L'c�+���|���1�0��� ��B�a]6?o��T's���$x���<=&���v=�����`��'m��`$���z�nR(�:��������8d�ep�w��sV3���.K��;T�S�Id�����9$Gc%��dK0]������v��E^ �'i�9��&SJj�� y:��o�=������gF�1@���k����?CmKcP�w4��0�MeJ�������G43��e�yj#�\���V6���D��+�\<������e����|�ud%uJ��C3uoJ!��� J�w�����9��b)~�6�K�U��2�vj�[�v�w,���u����0&6�CR�5����hI��52�\�N������������0����S�<��s�~f]�r�z�b���l������t����
.��+0����K�9�����I���G)����yPZ0�+K�9L�\g���^F�^������ry}�A��#Jk�V+{#)�O��9�F�)�y�B$xo�r=�n ���VR�������5���6���5JR��V���&
�h� �����~I U{l�zs-y���aznN%1>1��v9��lgI��K��[���>���)b������7����Q�LM�xev��[���(�5+�}��HKtV����"�7c��L�#��Aj�e���^���iT�]Ya�����s���7��gN�.�sv������)�m������+�� �5r\��(����g5{&"/�BR�&;�����YS��%S'Od��q������6��I��I9ZrfIrn�����
#( )E�qpv�� pqG3�\Hj#$�.N9)1���Y�E��
x{���q��lE�����n�%DQA������B�����f�������;�����^���k������<�~O����a<c(U����$���)'4a�|V"�o�<iTT@w�"��Xb�CCFu�� 4�������y'�����S� g� �:�����G��\VLI=F[�f�����eN��m�c`b�R�%�d� ��2�[4)Xwi�V'c���7Ll���c����+tiV�.V��+"���]V�/������BL)���U�����i��tN=�����+����U�
��]����)��\�XviB��P.����R��tI�@�Wf5�C�����6�'_�V�W�O��n���2#3O�-z�P��e��N�@�����_����WI��i!�K[����+�~%#S9�
gP�=��Gp�������]�W�
��K���8���f�e�;��+��v�j,��?J��y�2�YE�ZGIqW��Oe�sp��}���m��1�����}�S��8��v,�+�Z���X��g~�5�����
����J!��q���@��-o��;9��8���H����j�����N��x�~�S�4����}�`nj���B�W�B�ib_Q
�T?�$���
�y9clj���B���8���d"7����4$�y�+�w��O?0���2uYl.��%����E�����w�U����|����<&{�e������C����7�h>�_y�7�)c*d�
�q8`���e�3a���Kd6��l.M
�F���j�����B�:eh�L�y�<��,�j�GF��� x�+f&FX�L�z���[~Bv4�Z M+�I I��a7)��#�cDa�9/�'z�8�I��o�a�����+�k���(���D��W�
��������;7�i�f�^1�B����]�w��~�2��������][�����>�x{�w�iV^`�>Q�&q�}2����e����{�P���jS������*m�I��")���,Z�|��J��E������0�
(I���Yjb����`�he���BD�^�b��to\����0�����%�<A[�(S�+oH������/FW���6�:�6���uF������u
T���r�uL�iF
7���S�*�u�`��_���M/���~T�W��
(HGT.�s�!+��E�H��cy��O7�H����'=��wM��e��WXDc��
tI~�����-�(�T*�7�hYI��`��[�
����H��t���v�M�X������t�x��yIfW�#����1����wI��C���t����T�[�����l3~-�Q����/wYS>�x�RQ�a/9���I����P ��t�����aB��4�:��J#Y�-@��.R�&�J'7e�#��Ktx������hk���N����j^����1v�hF�N��� 3�|Ur^��U��h����:�j���@�1
���q���j�������h@K�����)�6gK�
�v��(\��qB%���Aj�Z�����'^���L���'Q'c��7F�����EU*�2��G����c� ������w�����ME�n��| �c��F�.�Qh�m�M����b�q,�]�����J�����m�%7�?n2�AY���}\9�*�9f.�j��L�7'H�������T�"3|���D�����O�D���]�3MiI%!��B%�3Di$Eb�A��\?�G�q,\OO�8���uW�N6�<N�z�Re��_/!��B���P�O�a'�*�\��~����6���*��%�t�I���0y*�g�e��^����n�>����$M�Z�u�r�a2�Ug��nn��[�Vcmy)��M{
��EE��<j%�y��;��N
*��o,��Lg������
���H^��#���P�s,qsscJ�&To6�s��H'���$U����v�;��X�2�0 ��<=E�,�Kn��o��lILO����9ZEig�]rS�9h?��5�6v
S��`���k��GN��/l0@���;q"�gNg���-_P!����(XUn"0h�,7��K�
���jS��.����h�����a����.q
��0�PBf/*�Jk'U2�-y���8P90Is���
����ej2h���3�������P��.��\L��C�1�Wg����@G��|�oA?��n����L�1�%��S��I�4����1e�Mu�6=�g~k�vK�U6�H$h��,��6���q���I�&B/��I9�.;��=�tkI�,�c6�e3\�o����g�����E�H�w^+�%����g{���}����;�=z -����V?|���(u|����5��y�V���h�6%��`�]����_�-���~ �1h�euP��2�:~~'���$������R �;1�������j��N���4+'0-P��N����a(*�F5���aW}��K�~�s������F�j�p�{O> �>�J�������*�]�a�C.�)\vO����/k=���K�����4)/`)��(�5R��m&Jk�_�G�^a&�)�����l��]=������<����aR�����D�v)&����z�H�1<Ui��G�iT�4����'���=(]�5K�W��l�N�Rt��'�{u$rs�9%�_��Ql�{6���t�lE�2��@'� ��hR
��M���2��jd�f��w��Ui?3D��*���fQ��*�F���E�����\�a�r���
a*O)T�xD�_�@�2p�� #n�����XuT��A��#b{�$H�EV���`���Ns<3[\�^���9����tL�)���L��Uq�~\�S��t�U6��)��F���a2O�_�C�ri)^��pE�����Up>���|`f�q���)�.�o���������l3^!�RwI=��P���*�'<cd��`+mo��'����u�_,S\��������M]r���ozP�@m��T�i"��eY �p������$w)����5a���D�?������Tm�&y�Nf�D�:���}��;Cc+<���I���|�C����W~v/A(�E�-Q��aL��T�c��K��m*� ��E?`r��0����p�
���t+����Db(�6/��o�1��T����9����,�X�q������%��uYr#o{S���Q��,�>mh?&�5[��� ��G�%�>��������(����}!&���'�`T�|��Q������C}�
pT�M6��2����E*��R^��d����-���K�u;l�����m��k"���u!%a�i6�����p�����c���2_��������f:R8�'��@,�����5*W2�s�Go�L���������kQ�v��S�%~`��Z],3���us�5\����n�KB6a���KhP�lO�f���W���K�2��(� �������2{���AMi�s��������
��Y�H�d��RT��T�6g|<�N
��>b/Ja��:��5����e����.���U�����lJ����������T�W?��3�b������,R�mOEG>�ae�4�M)`����pE�jd
t�hCu����F �WVz\� $���P� E%�n��s$��K����A���?X�����J��J
���(����e$u
��\(�p=T/�6��|���X����sN����j@�_��_�����5����Q����t9����i��J,��
��'���r�������F����V;���jg���Q��r�je���lvd� e&xi�5���^�����9�&�>��ff@#���YI���#k����&T�����c*%������[����x��f%�6�^�Q��hr��T�K��njqG?�L�<�1��8������qX�9����J�I����P�='e��*�7��D��F��G�rtX�,<�k��)��f�6l��q}��3�+Y��g�Rb_1�Q��]��^_��SZ(��|����)�)���'�
%�<�+�����]
��_FB���w�������������
���G�����[��9���Z��R�����$G=dX�_i�@Y�?��� ��(HZ;���WY��dp�3@i�qQppT�"�]J$���;B�F�g�2�'�����~'Z�6�0:�J��s���<��V�X<�5D(P�`q ��uJ��Ba�a�7���B�:��r�w�{.����:�����S�E��i9W��X��KY_����5�j:��;���O����6F(���{�nv��]�/W��R�_9O�,
j\�8�Bc�(��oW�QK������t�+P���l��T�����P�UG$IL�����+�G�[�j����b)�� ��
�nPNh�~E?=3�Z�q�����e��m�R�����x��Veho&�T����^�U�9� �����r��������.�����a��pVQ�E<`pu��:�d(�����_RI�w|�����6O|}�f%~�^_�L�pe��t���2?D9�;h�.���v���J�
o��+���dH~����U���5�T�R�/���)\���o��'@1�7�������
E���b�b����������@�m^���v�U���1m�4U�.?�Y��2a7��WX`�&E[���<m�[T�p��S�������l -���U)�{�Rz|D&~���k����k�S�����G�!��d��Df��oJ-��S\�]���TT��'{��b���*t��{A�.V�q�2�2gWB�;.����ckF2�ed�Z�"[���H������v���x�.��(>��t�@a]C�������,m���!9�����(�� ���e�*�n��.��b^�1��J\���>S[��X��<Iu�"2�B!��Q���'��
���M����vB�F�TI����A>�,�w+��w B�x_�:m��LjW��5�3������X����E����m�M��}��������J+K��X���U�������`�����s�-A[1�?�a�ZQ�jyL�I����
8�Q��<�F����e8����Z���]g����������K���$\��p�������_����nU)T�.�<��������iX�r���R�$_��\P�m��������8��~��������Y.l ��b�0:�Y�u���p���A��KT�<cP�r4�^�9� ��^��+���u�l��~���Sk���WA����l^"����
h1p����O���\y���eC����Q�RIt����\�'}8C���(S������1�go�.H���������2"�R��tE�UkH���q�
��b��F���|��7��.���N ���U)W� ��V�����������.�:��%�����(X�4�&�����t�mM�w����K����WY������X�_}T�v����O��D���m��� _�g��K�����>��'�Y��^�E� ~��N;������C���^�o�����M��Gy�[��5p����e����wM�Q8�jM��u1Z��ffL�^�FT�?��X ��'������\zz�h���������+s��[p�v]L��cX�!���M�N�F���q9$�r(��#��R=�F������k�������s�BT���M[�X��A���Fe�LI]�*�����o��y��{����b5��];��fI�I�f$}9H�"��V� }FN���Z�Y�.S��SW�����d�����R�)K���n�Dz��q�.����e���LOgn/$b�A��@���X���3������P��4oe�:�}
���)�"��%�(V�
��,a�_�����O?���2J���c�>�����/����7�
�+����4S�z=��=���+D������
W���������\����%���l�2� �Y/�j���jX��u;a��������Z��P��<�LB����BI'��Vt*�R�A8y��a C���V��4�i���U�k��Dh��?��d��[6��dt'*�����;�"I�7�����:�
?�etm\�:��x#���x�l*�2s�&�{�l��Dq���@�:-h'���m�X�qPZ���u�B��W��mD��
������8.��^�Y�z� �1��������ukV1kt�T)G�I�I_z�i���/�
Z�b��^��b2{,-���a��<H5 2�u�
�Q��{v�[�nt���v���������p���@����h�L�&OMM���(V��w$:U���@�G�F�a�,s�7o%�sC�kR��n�JQ�E�Y��kQF�����kR�{������e�����r��V����G�j��2��z93�E%�����Wr��N��F�I���_��������SD�Q�ZJ����@�U���p�����Z��L��Fi�b�l'��
�P��I�wRm��O��]��j#�,�E�W��d��*����<�w�����y�Q�dU\Nd��:�6��%���y'f� ������?oM\����]f]���e��lK�A�8�P4$ ��J����������1�=�Vu+R]o&wB�u��3��X��t;��5^^���c�:o�����<��J�^A\���G����;�^Y�W�7��
���M���x��Y���Q����p�E�L9��-'��n&/���K������5�����9j#�c��?_�
��aOf-��S&# ���e�����9��c�r@�0�Dq����C�3J��;r��[�opb�M���������x�:� ���^������9��#G�~��� /����4l�t}��3m�?��������6B���q+��������a�{�Yd���F%���,�����TG��D�`��$�)�����1wE�<�*����X;�V�)�����>��JIo�l�>���`���<����C�����9J�q3�!�4���j���Y�|�����G�?j#G�d������0s�P��%[����"�Ob��#m����2"�������\=Z���0����
?���������w#y9���f�G��f��������C������F����ml9��h�?�*k9����W��^<��������xb([�2l����0���'^������R_��}S��U,|zx�q���w�&L� �?q<][��x��+��g�,���a�=z,3��s��M-�9�R:_��{������#3f��y��
kV����%~����~t�=����sM�<��=�P���8H]T��V�v�zq��)���5}�������}���fu]���*�3��0��������^����C1r4cFOg��W�;������YU9W��y�?t(#G�f��E���+;����M�����qZ��kO��o7}��L���GU�sM�B���!�����m����jH���}f����"7����k��1���J!����m��<������<"9�I� \.���F�b����e����� �[{]5T�m��G3j�4��W^��x=��RZ���^�6��#G3z��������{Kv<�|��v�f�s�CzD������1Rv
+�����m��oIK/�}Q�����/�c��cYw�.7�x��fG���*d�T����-�����$6�J��JI������F�t���(&.t�N�����;,���QL���g�^��`�]1~�$&��=i<���Q����g<��j��_�����se:v����1� ���^�����4�!C�1b��
���~�3~o�g�xQF������@�y~�����OF�0�
��aCeC�Lb�E��Sr�B v\ ��������7Xco�q�WA���AJ{]�0t�x_b{�F����Ol������3qG_$���,V����xd�"{���Esh�r��������r1r��r��J��@����8����2`��&����.����3M����y�Y����#����`:���>d����U|xh-���������
d-/��xx
�I5B�ya�Xc�\l0t\�+5��~�Q��5�S�w�d��G�d���l8�nW^��gD�����e���S�r�h>����y|d-���0d�P�.���-=I�y��x�E�:b4����� P��<^��F�}f��,���d�b:�e~'�P��r�je����
�e�B]��\��~�$Rjf9�I����T"�X��CVe�x{��e�*����8l���zp/Cj�&V�����5J4h�����\�h�������X���Tvc�;�|�����������i� O�.TQ��l���W�kW��t�MnDn��[��x]���sNr8���Q�T-��?P=�_�j\�+T+S$7e5h�
����U��7�t����������CI��[~*��V��?��+�P�D]B�k�v,lG��9������#5-����g�4h���������[3��V�
}s��e�3r��y$��}��,�P^�m����j��F
�2_�J�4.MC�5�>�� ����kt������"����JXn���u7�-��E�B�2ErSV���p���n��4�Y���m��~�, ��X(�l�,^@��?�^��@�F5���B�^=���'}�w�^�F,�p1�Z��1��2�M5��@�^�����z��E��6���?/���A�����yv���m�K������{��M��t�d�������O���+�+�U����=��!��L�i"�-hX�m;v�{������]�S���;ne��>��|���]���O��7�qQ�P�L�����!'<<����c���&b�U��I�]b�������>=&p����g����������(������5,�9�I�fc����'�[�i������0.�����i��6s�����:c��
�a<9���] ���V
{}�
�&L�<���LX���T�1�!c\�+T+S$7e5h��A�
4h�����j\�+T+S$7e5h��A�
4h�����j\�+T+S$7e5h��A�
4h�����j\�+T+S$7e5h��A�
4h�����j\�+T+S$7e5h��A�
4h�����j\�+T+S$7e5h��A�
4h�����j\�+T+S$7es�?h��^��JN�������i��%��|���������w�������<�����#��������f�T��rJ2�/����[���^���E������ )*��w������k%�����!6��=���NR�"y~���U!��^����{O����������j\�+T+S$7e����C8�����������8e��)������%�]<��M���+�9n���;�J��%�#�<���Ir�����[���kC�+�xsc�EB#����7����Csm e���\�;����D�$ �������O��\��>7Vy���cm9j�������S.��&7�7r`�5A���^��kAW�PyUC���vY��M����mE���GON�H}���W������$%���b�k.��V=���y�&����o��L_(��� �������l�o�����Y�����|���!8�-���sk����v�0U��>~k9�2}8�����u_���XXZag��������{^�d3��� g��c�#J��z��
/.l=�5� NY�����9l�����=9e������:�,����'Vl���f|������I������Z�)+/���r�������������9MD��m"��N���n\<�A�������t�����O�xsqu�.���q����&oc6[\��9���|�Gp�fX72�m��Q���9���������&)�1^k��*R�P������vX[Ybnn��rV����GE���@o6���]fDs|�;.�����o���`an���-�N+ 9qW�G�2 ����[���WU)qcO �[���"�9�[rc�������<�&�}�o���8m��)KO�9p3�*���j��}������-��M����s�v�����-�s����O�%�����P��r�je���l�D<`L��t�H�J;�r�R(����B�,���VeGp��sy�X���|��O|W�@
,�`(4������
�t�:�0��X�=+��b!T���<�}K��I<�p��\3���8�����r�K������a�W���
�������}����`0k+��Lh��x�E�b*����2>��
)����eU�F�MY!�/�:K�Fl��O����@l����E&vO������x�<mp,���P�%B5-����7��WH F@�FXU0�m�����#��X*4�`���r�81�/�m���z����;hS�f��P=�%��[!����������&���`3�;�����,(�t������������=����V�.�^� ����g���a���,��}������U���o��&�����Y�#�h����B
L�:����C�VX�o���w���1��q��61�\���'�{�:s
��V���P
K�5��,c�zgx�@�sv4j�Q��������<� {�2&B��a�k�^4)����w�� �_#���` ����������3;p��fp �c����"�{}���&%��=�Qs�-�����a�O�N������S�`��j�����R���<���W�uF��S�@I�v��0�UY�|��5�?��t�I��*^�����.4TOB�Z �Y�Y�P?����lq��U�K9�[rc�9��;�P�>���wUn�R�.v�up(�s�
K-6N ����������X����z����!�s�}Y"T��wm�`%�`�P�N�x�:�����W� ��(W�V�Hn�f������Kto"7N�Ph���g������}N����P��}�����l���2�x�uW��}�|u�����&�����X��o�Z�%��q��3I� �����8�H� �y�b��P��
�q��#b�r �|9�M��`(4f���4����h\k�5a'������������~�-� �$F��8x/�����U,7
`.T�I���g^/��� ���B{N��H
OVa$h��3�O���m� �"#�}�; �Q|�|��=Y*�'��|��-))�5�|��LV��t���>����j��J�����Brr��g�Fl����_Fq��z%����5�`Vm��`S�L���D��
rCv�K$��S����H
W��\Xp� z�����/R�y|����~���I�WWh^1G~(�T
��mJ��+���ktmV���'������W�q>�T�������&� : b�$*<�o��P
�[Z��c,�?���N����'�:b)4b��m�#����#24����8��fBO���Dlx$�������J�����_�U���Y�x`��!.��I ��3�����P�6V|��P��BR�K��n��]9�{Q%�x�Wv6l�e�<��]����&ME}�)<w3�Hh�����������4�9�7����t���s\WN����XO����+]
�#����P1�������C�q��3�^!J���s�1|�8���N�U��Z����r�a<�9p���K;���a�1���6�S����G���8���!9q���A��&������b��������{�4 o?.B-������hb���$`#kK�cI����S��l��"���1�2�_�p�|���
R"���rS�K������FE���Aj�`(h�����Od��O�$���S'�?�N��E�B�2ErSV-�O���go�� �?��Yk,�M�����.o�A���!���(��EG�:.#6�Uk'��p�������/��|�z9�}�yz�
��MeM���������U0Nq��qt�\<�����h6�M#��d����h�����V���9���D��]����u#C^�p�<w1�J(���!i��e0��w�3����-1��mE�S�_�m�A��CG��6�e8s�>f���8����b,������L�>>�W����Y�BW���5�B=��/���� 6w_���<pw��Yo6�����AS�v�$��L��^<
%p�O�+_CJ|�|��o3�5u��x�F���|;9�;7����x0k��S{&���)�5'�|�yc364�����n���.6,�����L��k��2�m�����"��8���}N�~��]p��3>_>���Y�b�n�CR,�7��_{$kfm���t7����i����
������s�#�?/��%OUV���d�1�����k�T�7����l;�����ZgJ,7L���p��fG������xv�����@%~{��yxi����h��Nas��x��.�+�}y���� ��G��5��v��.�8�|)m4*��m�NY����X[o�Z�!d�V�)�lV���xJ^W��n#��(�6����1�!�; /���bf�\e�����KF�����l %�Z�������\��*if����<��+������n{:�kK�.8�" >�:��7�����~����P��G��d��?��~�XW k��{���K<'�������7�D���xclkZ�Y��F��g�[l�w���3�����|F���`.�c�\�e$��=�a�k�\K��c��e��e�oe��H~w�=��pv��.`K�!�m:����4����8���FYSo ^�ra�c��������T'V����*����z��j(�uz���2�>���
q�����*�K�������_�e6��C���H���*��a����G�z���Sf��q_�zJ3��/d���97�O�v'��,����T$��s�.4f������f# ��������Al�b������`
����(��;��iT��M����Z|[��AgZ�'��t��������(�[����O(��7�7
��k�,�)q?����V���7Xf�|�����n��|�x'�R�z� !��J���p�g��I��8������oy��"�����+�V�����[�O�t�&gW�3F�T����^�.�����E��s�?hoq,���Ow����v�����.S����0�y=���;���K����e+L���w��B�L���hT�F[${�H�~�����l��D��{����Q�����z��B
WHuI�s�sw ��yI��"����&CY[ �ZO���e�S�Uf�3��~�G���:M1���7Y��?�� uuV��WZqk�,L-�����f���x�fK���|����������m��d�������j\�+T+S$7e�~�����8��%_�`�/up���l�V�1��C���p7�J��V�+�)�w�XM��+_����]M��Fj]�'<���C�� Tg�/=9w���X�����h�m��q�����ka,��?��'O��j��BV����+5sg)�2��B�nWv�R�����BEV� �:XJ8Gzt�T��'�������h�������/j,P�G��vd��=�|Z���7c��x/=,)�w�)��e�L������~�z���,Rt,�8=�?�B�_�y
�f��X��W�q8���[��lwg��y����� �Zc�9���z�0�����/�5v ��r�� L������1f��c������ ����S,ta�������xc����E����?a�^WY���������p,�
����~A2U�0J���������i�Y$4����o���F����VU������0���}�������������1k��[��^n���`�P�
���W��u��
��$�TF��8g)kt��k�{�/��p}����K'��J��?fS�F���{}6��������,:qb�4������t��0����sp���FBS�F9q��7���r�n��Q�g+��P������>��W��j4!�f��d�Wem�����.��cV�[�����Gs������o�r6������`�k�A���|�*%]�b�U_o<�I����[��}d�*�9�����T��<T=��+tiV�.V��E*�_�1�I)�5��"{V-3`�S.�M��G����z9�$nL�@h������bx��;�6���u������]�����t��������w����3?�'K�[3y[�����P�%���ccc����{���T��n���Ph�����C����W���� ����X5����L����f�P�V3X[��M������@��3��i�Y��et&�yja�� .�K����}��v���x^�gb�e�+�*v�'�g�)���cE�N�M �?++�����������B~b6Bi�&l��c�c�J5���864���Z�Y�����>��.g�I�,�������o��L��~?��&��2��=���m�#�*~���������1��Pw8z�{� �*��P(���{�~���3���7i
g� �����2�5�����-������L�����Y%��A��r���<~MF�;��=����a0fB%�{�GZ��������y�H��zG��&������� i?S�^���s�m(���q*��Gi�
eA��r0k�����x��������-Y�M�R#%y�5I%��v���-Bb>]cl�r4�����jV���j1tg�&T.G�{S�f]:��E��c7k���u:�����X��������5[���^eoE�6s4��������;��#Fb��;W����'����Ru�nd&�Q�96d(����7��}�lX_�%��v���B�D������F�����R�5C6e�������K�.�=o���=�u1,0���De�=���]��a^|�-b_�?���q��[�~JP�?�N��E�B�2ErSVWS���������� [�
�o������z�}��,kn��o�������
��r&C�K�oo��D�:�#Ln_��#_C,
�� )��22fBM�W��V���@���s�����X���+��}z��
[�D��]��������t�����+c]����a�Xc.K�^zPJU�~�
E���-���9h�"a���]�1K�8���!��TXX���\~�����i�K�������e��������rC�-I�5�����=���x����/��h>BE�����N'|dg=�-�
]����ei<�9����S��8ws��8,+��=:b�v��,����\0C�[lO�m��G�l�(���<o?._N�{��s����S�I\�2N6�bw&�!}��G�46���V�%qi�8��N�9�`��������������o��9-�k����'�����:��Ot�b0���*�0�9�Wr����Y� �9�-um�*���#���K���H������2���>iqy��`������(.�Mw����c,�����L���i��".z��4�?&� R�\xb�#���S�P%���n������������l��P� G���pwQ����]����@����^`u��8t['��}~'j��U/:�����WJ2a�>p�k�f�6)� �IJa���.IG���G��R���3E*�pF����b_���S/����=��b��>�� Q��G7���
��y�.�K�������g������I��o����^����S^�>cK�����o��1Q����������*:��,
�z4�B5��^���_ {��g�7�^�.�g���T�C�����Y\;����xi�1�)������`��I_+�`��B�K�?�X���aK��u������^����+��]�W)�n��FS������~��^����J����\�����h��`V�R�<]����>E*e��D?��������������t qQD)Dc���X.�g���R����Xc���N����]kX&T`��`�uF�g�+�v�����o�=������s�����Z��}�g>�l\����m�z�hw�M���_�`��I6�}>(�����)o���T8_�S�6u�3�#���`���\�~���p5#��t�������2��b��r���&0�5�;Z����7^���X�}x����W����u
�,�SHk4�1b��e*Z�+�~:�4H��l��A�R� ��,R
����M]��d����[$W*.G�7������oq6���?%�a+�KO���/�����K�i�I���)�^2S�G������
��69*�%s�z��S���2���5Drj�0��������w_{t����b"f<,�6���-k=$�Iys�u�`"�a��n>� #&^L��gw�%vB5.���)����8�<���y�a�)�K��c%T��Wm�
��Lh,Au�5��}i6A�}��&�5����1��/������gl��lXp@����Ke�u�Q��gkM-L�,���B&��W����^A�����:G���N�)�rl��G�������l��k��LF��0~4F���*�-�� 3Dsve)UG���<=v��'��������Mh�z$z�O�9Y�B]\:Y������:��� ����b�r�G�
=�xB�nX/�9$;7�,g6%�+��:b.4���v���F�/[4�9�����3'<>��/��ol�GE�I �X�.���]��O���! -9s!����Y��&����2��V
������>��nW��������m�;b��em�*���#m����a��Tc�� I��^���&e�+��G'Y_�:+�� 3I�9��;��{p������ny����V.�-��p#�z{J)����`XX�'O�G�b�t`�&�d��&��[m��������=f������/�r�kd�����!#0��/�.�����0(>�W��@�k�j4���d����]1�s�i��%���o�F,�k�7������suM�W���w��qd�g���(�/�;kc"ta��.nn���u;�l���P����]sH����0j�<�EJT���D���A���-U�)+����� �
������wEM������jZ�6�7(�����p�;�r*��N����8�]E��zJ
�X�� ��rW��
�]�2_������7yr�JF}�����<����b$�����1�m7�f*/W[��oV��tD��*�����.`)<]i��P�
�b���3A�ys�yN@�k6;u�X�����N��5���*�Fy��O�=���;�)Ds"���~�����!����]0������?��m;�� ��I7y�`�BK+��~�P���y����
T������D?���ebwD;�W���������������\���[0��L�Zh���R�S�Q���Q{����u�����=#���q6f��2^n.7X���iV���r���z+F������0:r����|
_o\����\q��ECS���9��������q��Dr�{�=�b�M����z�e
nB-������?��~��X�P#[j=aO�"���6��c���yM��)��`cn|N�}9��n��Jif�(>o���.%*�b��q���JE�T��8���Y�g���� #��<��#�8|��w�PA(�|_IN�v������%�f��+�N�i��2C�eN��������n��|TH$
�r �"�0���`���K�fEz����,�Hz~��y�bUr"g<p�S�[vrV6�Y����}=w�D�R��0n FB7�����I����<��>�����xq���ts�~lm�����e��aW@�.&�6�s�H~w�v6�B�K���BV�L����A*� dc'���E�B�2ErSV�V��Pe}��S��vgL�v�g�[���g����7��`�~^���lr_�Nm�^��&����<m<�B{�*m�����c1:s����|���������y�g;��;`^x0���[8���s' ����P�
��i�'�sY"4a���)�����T��eg�B>�{�l.fb��vKJ ����Xl�m�v,���M�V,�6�G���b�px/�
ud�=����pu�p��9�E��w1��Q�
�
M%�V\��]\�0 �9� o�����e�4��`}k����'(�~����&�*M�������C[7��R����k�����x
o���LM��R�XS��dVB=Kt��T�����q*��c��|#�Yj�r)�-��A�e�~���,��cm�j����O�kz��]�o69+Sbj���X������{���S�U�{��bo\k��PK����(�3����\�s}{�km���pa����fe�>�V�K��X������&{��7 �_rWa���� �����3{�? �_[��xO�e{�~�����`��O ����
�kb���.}.P6��v�ni$;%�.��h����YUu �5{���j�y.����|R
[�eqf�!�
w`e�n��=�N8���S���� �y0��uu�/ezfK��������M�n���{�x_y����gt�F��L�Hdp�^��VY:��_��]������| q�V��F#�T��g'$y�Q��TR�9��Z����li��Bm3������*���n(,3�@��kl�P+1EE�K����=X��%�PD�_�\��@)���3A��l�7a��Fn���w��CI�5���k���[H��H�v���H��x��Tr<|^���k�h���Y�����D�����q�Y!� ����D=�:�H�H�7���Q��<|�p��W�.�M-�(��"9�_\���W�]��������vf��uqh��Z�$^�y��Q?I�T��:�Y.������������k����]bzF�A������j����{��sn�B����
S��������A ������eK�fX�Z�k�n���`��PVV�����q�3�_�0�8$�����o�l��W��(����XYV������^.m��y�vBy�e�k�"��l��dU�Y�cKP ��;8r��|f+���'��)U�=���k�t�G-�I�m���M���{�{�[:G<bB���T�&M���D�&M���O���X�_
��Yu�b�n\W����~b��-�d�r��dgE^8�b&���Ne��j��B=\Z�b��1[�:q��(o��r=w3���h_������%����$.���r23��xA`E-l*�^�;|>^��ZG�
�������bY�
������v�:_-���a�c�'�r�}?�/�L�y�N��
��pe����S������T��\�Z�"�)��C+�)Zv��AE���`]����]�| @-/<���Flw�d�*�
!����i�'�%F�o���=�E'��yz�O�~����1�27md��������(����������qm�"�v��)|���e����T Zl�V'�bp5cq����4����C�{`P`8���eT%1����pi�.���������u5h���:K�b�@�K��|al�-�������1��;=���!��
���F|P3X��o;�X&Te��!���D&H���������#�a�,KYQ�Jq���}���c���/�����3j���n}1�e�N}$.2���?�
'&<��H��x�O����IY��J2W&�X���[�h��M�X
���pMI\�0�����y���Z���)�v�l�q�������x�e�d�7��|J%��v��+�L�+]�mk� Z�(���������{���~��[�.���=��ow�\�1V�
�����8���b�����Y��[�q*���#X�;����s�Dz�v�{�:^��S�n��"���O�z����P���x�&R�e��3�/Z'q�P����������x�I�"b����0b�"��E��M���PZ+�3\�����d����dp�]��V �+9o
dp���w�Jt\�&
Q$�������H�������;�u��]kY&Tb�")�Z����:f|Q�c�#?r7`/�7���3���e�]�?�<�l�oG�A����Ei��O��� �Z��d��RI�._�Z=�5H"?2Y��� ����)g�[�4���k���oCy�"yf��/�e-/�o>����-�)�����������EY��W�X����e�}����!>�����-E�R������O�����2;��LJ�R��A���8�����$'���#�r#�������R�.SPj2�����ZVT��V�����kN������Ui�mEC�)�a��`������e����"��`Qn�O�")A��'����Ha�0����-��*x��EDX,���s��){����������5� �YzY�as�����@�7��]��Q�&4�����%cu��~j���J��b|�<t5�Fll���DGEKBb"��-��Zu�|�.\Q����H����YgST�:g~Kv�W\�r�����6Ju�&������v�<��� �scGc"t���'�DGI~�(���-����l��N� ��nV
�q�E����77��Jn���n.m���+����~�k�2Kvz(A���w�i��Q�)<{������T��\�Z�"�)����R)�6�T�
���R� �Sj�D,�F��9���K�^l��?������z����%E�?�W����~�"�������l�>+3��g��QN�m+/���B����H��$��{bzbr\(����Ph�1YZ���-�m�������F��#x��;�2V�Y>���
��jc��� bh�~_I��8���#��g����w�+����MQ����b�l���������"~r��+1g}�R��}=$sH���)N������I���)����!��:9��k����t^}V���N7l���
�OSX�q�9�����V2��AQ�4�^$%.��(���`��,�W��J����pvt?)w:$=/!��vV��m
3��R�y`4�%B3����+�v( ���.:���e/-fa ���.���7.X����Si�E];��
�)����~��������!���+~f�������G�k-%��c�s�����-G�K���������h�X-�05f����w���v;6����|�.� Q�����[�@�tz� �������]q�������<�x��-���t���
��F��|OW.����EGT�$������nO�6#x"�P�|���O��S@��n��
-���R��5< 1�R����z�r2��bE���n<��o�f
��K/���=��aXt��(��O�+d��:�O���&�+F�V���B�tt�|Rxl�D�~s��r�&���o�����C5I��^����N��D�����NQ
�T��t&��5��k6�~���`C,��.�$Rx��J�F�s���Kp�����H��&�
k�:#7���'��`o�����'$���Q1x��[?��5 ������~�F$��q�E�������OG�3��ov���gS���,�s�R���7��6���
�>��3�S��2����ji�1�#'������g/��������|7�.�m���%G��P����Zr���/�L���������p-P�V�|��~��|���K,*�zT`�A����o~�w��rM����������d����m����Y����3����x'�+�Lq����5�x<'�#o��������'hSGw��I��l�/)?9����F����L�~Ip�fX��K�h/���B���fe}��'��~��\>�2K�^���=��-_�&�M=Y�!�����`]�j8wv��L����qQ�P�L���UG�5_��w�Rtb��2m8���=��A�����5�T�e� c���4���aK��v�w��:Om�L��A���Q���o���h�y{_��&��r���'�%N�[Upj>��)���1c�LG.]�9��G�q�M����8b����� j�W�K�����7�#��=����P|�]�i�7�������e8�B5V������a���7�\��m�a�3'x�1A#�f��o�pv����;&�b� +��yq�t%��:�vv�b%�����3l,��6�Z����7gm���?fB-\���!- J���"��8����1���4b ����4�m��������F�8�5H"W��"T����#M����[��� �����7A�`"4'��x��y�l��P��#�o����� �m��R���I ����T�-����/���0�������Up�9���>�3�gc�� �Y=~�|�(�{��Y*�����)��R+<��QN=���%~go�� #2�)x�n��8��t)�]8o�������/�,~�J���T��.�}M�:Z��������?o�f}�r��A��\�����S������Rb���B=vm�_�H�����,G�oJ}��l�o��Me�(Oc��6����!�W�^�k[m��|8k���F=d����� [>����&mX$�2��K��8<a!�%[c,�q�����|����PmL�n�X��E{_.,[��aF�?%
��Gf��O�A.�g���0��`���ZE��[R��HC�L�Uh7��5�Y-�sa��/���~xM��tU;�(��%������a�#|��N�"��u�5�.����s�n���xw���~a���t��^N%���-������r�q����.�B6Mt���{'.`���C��e�1���K�{Z�2��S���"�UH#���]�}�1�����Z�7���w[�mW��$R�c4S6��}��gws�>"��L���8q�OM�:�����������e�9�����4[�p�"8?O��������J������b[��8��e��<�*���G��,���pov�r���@�,�/.��
���E%��2���\?��>��7�l���B��.e�3�\L��!�SB9�E\��������rG��R^�t�{�WE;T�.
;��
+0j`.mE�K��n�q�����f�DK������V����`��#�
ue�l]����������c$���)iT���i���Rwk.9o���#�t�m��=y�drp>E;�y�����'d�R��Hw�/9�X=]N�u(V}[��y1
�(*���1�
����gK�b�v5�6����zp5�\V���M���dU}2��#[T��~&kU�|����%������'����cN���am O�9��L�(^_�K*�E ��T(�<_��b��G�{-]��Vp�s��dn����<O}Va-�J�=u�t����Q|�i�
�������;�"V�Gs�Z�[��;�y�#��K���!3���X�>,zr]����
D��[�%d��M$K�}Z�[�}�0�`�1M[�X����qQ�P�L���UK�cF�*�������o�?���y�5��3��|��eu�^�������XU�����x�
��l>O����$q{�$L��X�����Y��%v��83_~J�������I8���[��R����������W��gS�^�,��m�/��UZ�9��z��?�D>����XU�#�y�`*��H��N���)�Y��b�
\jt��JO\d�%���PF�K�3�����x �����\\Wv_�uqo��{fp����e����L���e1��'�<��8�����SXU�'����I�k�S�E<���D;q�-Z���,�v��Z�;�\od,��'w���'��`WP�U
gs.�����D}�������e�
����3RG�cp����z����@�K�d��si��J�������\�-v���������_k(6�v��K�m{�J������)7�c[�Alw�{r�]��`� /�T�&��vu���������2��=���C��%������_?��.����k�T������:Ir\4��p���Cam������e.,��������x����S�I�~����#���Mo�u�d�#J��J�n���;�����Mf�
:�.9-�����hV�m�}�V�l��������8f�������g
��u��h[J�c��~n�Y�G��<gd���|�>��'?��8��>�n���n|�+��'�h^�7�m���<�D��K��F���!K��m��3Lr�dH��+[�2e�P�liJ�-I������D�Cg\)����fL���q�^����c^toT��-t���9�t&�^<����n�Y�2���E/���Pk�u&������D^z��Aw����@+VT������.M��c��<������%9�1��z���*���)��Ev��sI]Y�+����2���^�,���Ru~�TkM�����$�e<���� ��rx�D�Khc��
��b���J�'��M��^^H����5�+u��Pk�jN�l�UN�����ikX���rn�\\*���`++����Y����Gww�f)�\_ ����|�</�����L~��hgB�z�R�7ne���S��xOw5L����x�����m�+����;������L��j�V�Rx��<Xf����x.R����>�q���j�q)%?W�f UX=I���(n���V�#��Z���@��9��%KY���������n����������k���8��C��'G��Yg ���`�_�G�.�<���?���sM����f�_�[�b�_�7�Y��g]���?���PM�#6�R���,M�R%�9�����:�!��%��3l���1E>\��p���i�M��hV�2��,��\��s�v�1���T$��9����n�������i����ol�S�%3�+�������M�u��)o$GL�_]��=�e�3�$E�`��:��-�:�y�A�{��2�����6��lx�Y����h?��ub���Y�Y�!��X2�Lq�1��gT�t�B;��
���M�����O��9�En�SRHNH$EM'S")���$���������x��������MZbYt:�e�!����D���q����+ZX��U)�:E��0V�v�R����Bbd��z��X���^���D�^?d��8c��m��7XI��K����T�'"�s|D���b#c3U�)$�%���ej�3y�������,�Lg��$Y�#%9Y���!�SR�3����s���Q�/RI��&*4L�?(�M�X��(��U�L�x<2.M�����'��r)����>R���O?O�~�������H|D8Q?#E����������7�����VtF��W�������R{���3w)k��5����.�����������N�B��(#Iao��.7�3���D�� Vq�i������:��')���C�������"�m�}R�ub�ML !!�/���D���O����H�O��C�$���G��Jt\�}����
��zYI�e�v) qR��!9��x���LC��gN2���D��TJW�^���,+Gl���K�<��"!����}�B^RI��$J����eX��H����������W�_����2=(k���V�WI1�2}����b���c���O���!6�;s��. I����!��N���8���h�GF*O=M�QE�R$�+[K,�N��?)����h��k%d�/��U��������z��W�[uFW�Qf'b��.IA&��`Bb ����K�3;��F��>���~�+�]y�]��Rd������k\=*v0LKk������MIN"1&^��H$'I�TNI����Y\��$�Y�����c������~���Y���4�SE����N��E�B�2ErS6Sb�1^��n�dw�?����d�\���)��G�|1j��]y�5��56�l���|T�=�GpJ�H����o����w��%�B1��2�+���\p4�c7����i��%r*1��[�=�g���� �_���x��{!�-Y��A���p<f�a������1��zY��<a���e=c�r���k� A�#!O�<���O;_R�;L�������Gol���G����01���]��}�g�����:d) ��IDAT�(W�V�Hn�f��;{q���M�_/��}�a.T���\�����@������Pv�_�)�5�3�����f �n���1�wwg�[��^S���������ua�l;��z��������dm�:��������`��%���9����iu;C�����{r|3+=w)��H!)��2<�5�^���O�Gv����.�~���\�������������L�M�_�����t�U�����R�fY�J��rs�'���3}
���T��\�Z�"�)��A
�����5�k2_�Mr,�Nf���������LY�����TM��AC6$���9M[�G�������7������4����|4h��=1��q�q����Ry^]�pp�^�O������>�
����E�B�2ErS�?1�97)�b�j.�k��!K�ny����A�
��?����>�
����E�B�2ErSV�
4h��A�
����E�B�2ErSV�
4h��A�
����E�B�2ErSV�
4h��A�
����E�B�2ErSV�
4h��A�
����E�B�2ErSV�
4h��A�
����E�B�2ErSV�
4h��A�
����E�B�2ErS������t������[Q'��)//>!:B�*�\��>�����o��[T����z�>>�����j���L2a�����S����71�+wo\�]�?O�.r�G��x���/��NI�'6>�>�Gb���b�xx�:/����g����7x���{�gJb�/����H�C)������������yR���K�J���[�z�9/�����;<x�M���Q��2���!7�>$����/G5.���)������#o��rt�*�,v���7��� ��D����a)�#��B.:��@�v�����$��N4e�>=���*�m��a��H�~���-�nd�"�����5��j&�6>��k�alh����Y��KK[��z�T��I_Vx��>>����qXLh
$�����)K��x�"�������������+FP��HE����}��jv��!����~������+�����Z.�����������q�e�m��=&{�~�$�M���~$����'GM�e:��WN�xsm�M����!�S��` ���h��)����@�f�2~>����E�~+��bnj�����,8�4���[iV^����|4��l�����u��3���Oax������T-�@���L����G���^�G�NA�n�7�����:7)Gg���G�2B��F(�"�+��$BY�V@{�? ��4��I����'��z#Y�(�����������d�N=t���P"��?M�"�|��3e�t�JV
�?��(W�V�Hn�fG�����WC�1+�w���fB%����A��8�?�D����@h���~�����Y�{�:��I���9�B1�-�� �I��{�e[L������)���M���������
Vo���#6�Mk��p�2�[�#m���A+�Wo��l�d,�C�S���LQG����z�9j��P�xJVn�����?���>��x���w�V�@�������0�����b4�����Y$T��WV���C�f���1�kg?�~������0�� 4;���~}X$����x�v�
�j�D��}�����VBM�&xO�Dh��T�/�b����W'��T������~>�O�
e�����!�|�{�9C�2`�PF�V�_~-O��C:l���'��O�n�Y9����������q�u�����Sc��U��*��q��m��BP�������d�� ����}��)��l�u�NM���o�ZeX�Y��DB(����\���������y��"qV���sp�i[���� �������7�����3�(���N�i���B�uu�ZVo�d �/@5.���)�������'vBU<�o#2:���P�x��V�E����z�NL�'!!��jBbR��L)I$d����Hb���HL�;]�_�^�9��g��[�u���D��3L�'&���w��e3kA3�F"��S�a,��������$�]������Y��������rt��d�zR��B�Fa&���T��I� �
��ld:�!#+B������2���K=�.IJ��U�7���HQ���h�Q���e��@�������{���L�*F�V�y���4�9c;�g��]���;��p�����9��$}>�v�b���.�&�F�0Z����L�#�����R� �ph��q�"�-[k����t�����??�g���
�������V��u�<��Lrl�NeK�,��w�r`�7�����Q<���m4�����a<~$][rRIY�II���:����C(T��3����%m����$��+4���S9�l����0�uu��g�2rk�8v���/��W�0�|��W�m�5+Og�c�G�2B��-�gq@&jB(�u�.�K����oX81����7��Q�
#W�*��S������@��y�8�����1�Q
fm����Q���k����9��2Q,�[������P��r�je���l��p�d6fB3I���7�h��?���C)n���$Nn{�����o�����qW�y��3��^�;�*ugm��������xt!�F�V�.U��ZkWNI#�b��*���p���Z�<{3_"��������^oVU����&������5����������������t��z��#�4-��o��C|G���sNO��k��YG<c���1���z�Z�'��
f�t?>�H��$n-����������l��Ry�Z�C���k��������p���n����5���S� �������d)nU��V�/��
�u�sz���UNx5���#��;�6��j4�
=V�1����z4g��H�_TW-e���JNVN�+����M�t��w.���D�����jO<��q���f�xM����d2���@J�O���m+t���U�F�y�)6��h�-����g������t��mE���Yu��R�L���&��hi�DOO���q���|��d�(�\+(~�fB)�J#��sp]rB�����Sz�����9���SmG�z� ����I���]�8��p���E���[0�B��L������Q�Kw����9|l+3�w���V���"J������ =��ZG�6��2x�+�r����g�������a�����Yc�O����x����j�ku����^+\K��y�^0�[�7�"������}����m��sh��[��\��|ml/�����q��.~swr��������(��H~m��n�lY��)6y�q����9x_�G��q�Q\
8��#XY�+��a���|�T����p`Az�p���UU{�3�����w��{�0���Wx���=XY�;k�L���U��K�x�&J�8 ��I.�&���b��h�[W�
��s�.�����7��;}S��|}�%#:���m[6e��7��<�H6Y�t�w�7��iM�6l��e�l���l���FO�5:�fq��j��H2�O0���t����9:�fr�qz�=����������z��S��6{�:2���V�_� :z�4m���!��t`�>�`��!�l��vm�j�������zq��C�����m:b�v7�'uD��8�WA&s�g�U�
qw�=�*$�2������F�Y��QX:}(nG��_DR�}�i���z:4i���g�U�+WC�1�n/�dj���7l��U��?��-f�M+m�������[o���\)p������\�5���:�����4<Lw#�`�bn|��&����S��W��f�]����mh-�Z���g��KbC��������nM���Y�u.�p��S$��{���������3�m;��]�nV��8�8{L6_W����0i�8������������O��a:R����0a�A�?�9�~��\�='�}
g.���;8/�&��'�����G��)oK:��@��}��������O}�A�;L���p����t�ES�r�u�W�o�c������E�m+�u��+
�S�Q�����x������}�nt��S�#ik__`X������E3�7V\�xqn3#:���^;t�����@6���(#���'��L���}&9�:^z� �� �A����������==�[h�g�=/�R�F,��3�q��2\�?_��p:�[�NO����`��(���%��k�~��z�Y.7��������6��%�~
m��FO�5��p����,��\gu�h��Tm����:3d���G8��5Zua���L(�M[a�� Q
f7��sVN�M�V����ic��#N�7 �1N��J�oN�^]0��{��}�?��(W�V�Hn�fI�t��a��<~��u������*+{���9}���2���Nfu������(o��C��cxUi�y��l�d�� �q�W�_zs��y�Q��3�F��]����i���3X����oD�-��X
���g)[G��]_L�z���+�h�-���P�M�ph�=���q,�k�A+���1ER��e]}�����ep��C� I������(>O�~8���.8{Pj��>�x��������O�v �����Ta�gv4n�e����E�=�G��8uX�w�E�u����<���s���G�"+��!�>Z��
v�������3�h�
�<��7H������4����;��e�B
V�6�b�
����}Y t��ia�y����bXf:/�B���(�HJv��&S<_����8j����U�4��B5[8��U�X�o����^�F�����j�XX8������[\���^y����*P�R�zLc��z�}���_�pc6]�*)�l������0g���Yn0�vM��[Y]��W>q*��k��CJ_���J5��!��R���w���M��R�L�Z����q������:q��S&W���!J��a7�P��2�f�FCj����$;�|�>pF6�sb�$�)�V����������
�}j}o���V�|��_��9[��i*w]���D���B��T���iMY���
c�J���`K����~b��1���(�����.�<��l������X�Ysp%��^;,�/��� eW�Z�h�I�_{���P�%g�tf#�B V
T0�q\3��B3�o<�����m�U�n�2e�K�g�93d,�7gE���
���,;6�i�R���!U}���o��,5��3���?�<5��5�GO�h0��E6�k�e��l8�m��84q1+���(O7NS�g�fY�����v���@�B1�Z,� *~s+zeJ�l��Y�x��������Rk�J��z)��E�6(I��Sq�����-�k���|����>�T����=�3q�l��/���x��X?Y���;`���������u�pT<����2m�B�}�]�D?������#����G��U�k����S����#R������/U��6����h4�2E+b��<���K�L�8��za:^�_
����'�@�H�����[���q���w�*f�N�2���,���'F:���k�B><��1-�S��6+6���!�[�c��ZT���RM�I
��$����`g8�z%�0��H�.�p�+���c�U�������tG����O�����1�K���X{Y��A��K&t�E���?~v���pb�^]
T�������ye�����kO���g��y,8.����VQ���t������]iE����~.�SM���2E��Kj1�d^�k1\��}� HN�'<
1�|�t�`��_ n������h��u<)]�e�0:(�9���S%O1��������+P��=��k��/X�� �}��Y?�d9�_��{N�W�iY�*4�e�le9�$��.y���oU��r�o\a��d��h:���O@�5t�C�D1�Cl�=4W��p���I�g���� �����F����Y��k��Q�Pi���]�F��tJ�&�r��4x���:�,K�)�x����l5��d��4��p'�����4���Y�����YLy�,����T^���6��S�k�6?��]J
����A�w6Ma���;�t1�E�_h1K>�O$��Rl��|
W��+��q�L����;�|p�����Ja�;��_3�gC��Q��#����G&7���Q�FW����&C�����3;R�f;�V���g
3�5�H�>�z�q~-��sv��Ke�(�����i#�{��|�3NC(�G�ia��U2}f;��/�,�t=��0��M����� _���Gq�����O���I���9�M�����H�_�j\�+T+S$7e�"��e|K����<����'�y�o>U[`�{.�����\L��84\��s���M����C�4l�i�������9�`*��o������N���^n�S������[�X ZlqT�_��{�8tY+s���Z�r�"nC��=U.~�#�vs��9DR\?���k��CiN��]3q&�%�����g'�������v��|����P)�.P�����P�@G)�K~~�<�q��A>c����]��h|Fm:�D"q��F�<~����J��%���C�F���W5'�zZ�D����P�uSv�]��������N�2��.��6���b7`
���U�Tc�`���L�Kw�l#'��{z���q�����;G���T�]q��Nj�V;yJ]v����]�z��v?d��Y=�*B��Q\�w�>e~c��43���
�f����e�M��#��G��L6��\#V��}��
�������A�Z�9�N2,Gsp}��K�rpQ����f��~�DD�G���U�_�/=�3.�(^�7w�~���9(���V=E��E��.�^�C���XR�I"�^�(7|���'���]���A��$��G���3�C��1O�PUh=�K)���v�Ui��Wjz|�e�6�@�
_&��x:Bsv�\!��;�?z��EX �X��[���������J�&^����p�U��u��������o�x�A
Zc �p��80����[cVh,�H=:��-*5���b����5;�ZaTa&��|�(N'����J|�nbm���66@f+c^��I+����������X�Y?~���)o��_�!K�t����Y��+L1g��P�')�X�$_�Y|�j�&�\7��_@t���t��
�)��
�e��)��t�p�I���T.��p�:l�����b`c�<�d�i:���)Q�:o(*�hX�.����%���[^�M���'���E�c�<�� �J��Jyf:x�Z��Y������Y�+��>E��N�H�Q���-�����s���
R����������]���pO�H���Q�+������!h��xO�k��n2������=,��|XI�*���w)�
[��&Y����,�-�r�m���m���R'�*�};E����a��;�o�8�@����U�������U;[(���{�*U�.e���\C�_�a�O]�~R����j��cr�rT�j#w�%�r�T��+��>�]S3� 6����/R�R�l��b�`�5�W�%��}����y3�z��&x+������8)�����g�
^����Y���#=��?/��Y���Xf����A�B�p>$�g�,��E�n
��m�R���I���q�4��1�1d� �����8x���RBm�d���#dz�1�w�!�9��������6�}�~�Bt����;��K�
#x"��� +��+���X�v���8_�����)K�j]��'}=�n��tZ*�����(9����V�Jx�U�u�^� ��v��=�/�'T�x�48���~yJa�G1�9�ui��"M/e��\//�����2�ra��K1���j\�+T+S$7e����M8�RK�)����Fh��P�����%��P�k�I��\TI�z�j��P�-��S�w{b-��w�qR��X�N�����UEJ�B���D��v� .����@��X�'� � )���1(0�[�
�{�i����^|����30Zsx���]�Wv��a�Q<| ���+���nZ���v: �y�u/��7q�n#;z������= 9��d�����y��O����1
�?�:���x>�=��U��[���9�������$(_o��Plk��I! ��&�j��'��>v����������$������S����8�g�kG)�V����(|�_��c���w��h���k2#�.��r�-X�\����O������s�����_��L]Z������]�����]�1�oA�vKd����a��
�e��]r�zmH����A�Z�
���!d|����W3��z��:�(�P���F��]+J���?������v�u�|�|V���'�)T�(-;�g��hkU��<E�8��{r'?��8�]�Y�������*MOCI!gf�;��@���Vr.���T��B��z��h e0�vO���<�/F���2c�d~�����O'�e�&u����N�"��S�M"M����
����
�BL�Z8�2���MG��A����E�0�q�tzD$\�uZb.4�&o[l���R�!l 69�6�����!;�J��i�Z��ZlZtBT�x��F-1.?�J>^4����H����
�q�3B�5���>&C�����+��D�uK�p�25����b�~��_�:X5X��N��X0B|fVr��xM�T�>\ W����y�~5 �r��(��7GV��PY|�����m�P��Bv��������k';M(+f��-�������m����Q����������s;�w�`�~�U+C]���C�?�s��Av��A��d
Wl�����oy�i�C��D�����e�d���=;��c;;���eJ������"��(�\;��];��K�*�w���M�l��uQi�`�Nm�:[���Kd����n3���W�c�3A�z�*k���[����3)���T��^@�j��J�8�"���P��%]�C�AJ4.�e������N��U�m-�D"���+���E���*�A<��SWw�t���Q�9[� ��n�U����*�J8f��������@��C�uGU�?e�?m}F���4���q>*�}�.��A �ZK�KN��Kd�������,���pe������x�|6V�$����5\��
Rn������mk����4x��J���o\;}H���|��\�!��i����M���.���Su��L�&9�v�b�[���{wIr�k7���
���n")��3�Qij����>�,9&�! �!���h��r��t���%�������N���];X>�e���P�H9�d$���E��a��M���K���Wfr���A-��#�����xT����(P�5��������;��{#�J
vP��,����](V�=TV,�OjO]��(�!���������A�nY�E��-
L�r��$�qQ�P�L�����d�,�Th�G7cvN�e�Ro����W�$���Y�{=�[9�d��8�Ea ��*�,�a(h���
)��.�����#h��q����t��JV���J��B\j���D>;�G��8����B //�]��]��mt��rP�F����I��H|w�2uX���O�KM��dq3�v�9�8�')�����V�;�j���p�5��2�:V5��B6k����c1:q����S�������,8��_��1���v65��S�~���G}�~o�����[����� ��d�����y����������B�q�`��g91}6�5�o���Y�����Z�� �-���=�xK�\9����'������m��M�*}YU���\����jw��J���3�j������yw?����C�t���^}���I9��j��*Z��*�vS
*��� �����e�u�.��
B�Y��z���E�g������k��\���B�l���V�1�����6�V�s���g�����G*�����o�������CT*V��'�H*C(�4����kr�oQ��n�t�z�Ruv���
Ao�T����4�M��L]�������������$��d&&Bc�v\��i��k������S�L�A���� AU����UZ���pm���E���[����s���ko�[���x��S�����Y@U��
x������J7����V��N��Q�����E���_���s8����}���������]3��1��lB���9�BC.����!���
�gR6�h��Ka�cv�3Ew�,�9�/������)��@����n�-���l(���zs�f���g�P�
�����QA������i\b��I�lL=���I���x��,��@���ff���`jf���!�k�����'b��d���4���8��`q�-�155���3sc���C��: �Y2�)���8:8����.����b�M���w���-�������O�������)>���z�n���j�x��xbgbK#{�h��)5
���b)������M������6�7)�>���MZ����k�����mE�r�y��x����a�I:��w
����n����oi���3v�N�l�D��eh9[>Z��~I�]m����z��__;t,;�R(cnJr6���S����L=�*5���hMM��2��6��n����C�+���~$��v�n��rN�u\L�'i\�/D�pJ�uu�(���r2D��#G�$9�J�%]=�v�[�����(��k��1�J�*3t�?.\`��.�*U��G�k��
�^��n�9��������������#M�[Q0_]���}�qT*[�!�[�x�<>3�R�xu���?��Z��T����OM��R��#GI���s��zUj�0�kA�F�3�7���y����2����K;�S�aX�`h���km��c#pi��z�5(����fp=
����W��;��u����A��~"������"���o��~{S.�����e�=B�2�����RS����l�6��>I+��mg��+��p�����������������L������K��_q�cb�V�z�NcI�_*6�MT����u�ME�2��;�w4I��>+<�v��w9�R�����G���\���*[��':6�����"���%6Jr�>�^��:��Rr�>�X�q���R*b���+V�9�s����>�/��To� �f��e��5�K���b���CVL��]��J>���^�cU��x�/��0�w~��Y,�6X�V�c��aUq�T���kI�>����p��!y&���L�9�Cal!�;G���=��KNv��l����ZmXa����&s��J������m���M��PA3}���bzL�81�:���L=WF��ys�eB-�X/�gh1�D�EC\L1���B���P)����7�%�)�����4�[���O���a���!���+���J�u}~S��v��R���P�P}� ����
�u�bZ\j2
��E���P����NB�6e�������C(]���oB�9R�r�SR�W�rT�J3II�vT�>��������J���j �D.l_��-f��P�p�����S�\o�b�[�Nk���i�.����H ���L���5`=3�g�T�5)�f�E�}�Dr�M+&���������E'5E�#v�6a|���R�O ��Q�fC�SW�F�Y��������e�@y���-|�TcJ��R���kl(U�yv��W�6�����)Q�)7�W�5r��gq�����
�I{H$�xqWF�?�gH@$�c�
eMZ!���s�LI�0�%9����3b��p ��:JT���������@M��X_�"V��DbB���������������s�K�x�����(�<@t�;="���� k=��,N�i��]m�i�v����-��=����\g���X.��7�6�j�i�R�ob��^��zs
�
�������%^|g^���.
&���dp%��/Qy�8���D�z�,�/y�^E�����BN���
F0�����<d��3��5z�Q���zC��3��?&�r1Rq��H�5�
��\�|1*'��^�� /��)�&y�"\��Yq<yc-���QV.����2l������$A���Vu)Y��V��k���;���*n�oX���S�&�2 �j������������:s�'Z�U5!�������[\�#�'S��P��9�[��[��:�r���;��V�����[���[�-��K6x�E�X���Wd����H6��LoR�j�|��q�Z������_qo���~{�>���w\�AE��<� �5@�� K�u�z>�%�W0��p��������50k�L%%5�E���i5Pf���<��1��\�{".}M�su�"��o��E�'�������K��Q/������M|���K����r��|��!��������FT��,�z1E�R6-��o�.��L�Y����ss���g����������@m<���A�������*�n��X��6/��,l�Ni�����2�}�p�BY�9���! �[����S���&/�����F6Ku��d����<�<���O�x��n����q�,9�]R���g���|���Y918`i����y�<B���}/�f�$)}P:���|i�Pj>��a�P�gdA��&b��� ��G�G2Q����)N?�]��<U�m1���6����+��G�R�$��]ifN�f��?��
^u����O~�M����*�x��A�FQ�a\�O�<�z������Q�>�l�k&���8K�L�6�O*NndHDr[����J�����v��w<{��U�D��>�V�KE��U�f7Fi�+��+�`]�G���Y O�L��4W�B5�"1O�|
WF#7����~��p��aJ�FS��/��E��7�2�N7��4���H1�K��CX���&�>�A�%�c�'�����J�B|����$c�pC�����V�e�1�?�\I�S�W>7������OIZ"���Z�����(Or�Ug4T�R~^��k�wd�`���
�G�vZ2N�O����1��p�{�����7cl�?�����z�|���!;n����wW������G�W�&���l�e:#������%�|�����B$���.�������#u ��� wr�����w�JM�Z�H�UJ}��'B�:l���L+�J�C��yq�[�@:\\;-�%��q���������!�2�#�<�dM1�&(�u�Gz���E_����kC��tEi("y
�4S���t���}�rj���c��S���%�����h�`��u��rQ��z{��p�!w�3���fU�B���@Q���b_� �����LY��"���j^�:+���y���p�4��h�$�%Y"_'�LL��q�&uK`��������T)"�h�Y����0���>��������lB%����
������e5�z��}���q�%����+��b���i(���7��U?�zz�o�l�[?���2@0�T�k�����"y&���s�1vd�B�1�_7uz.U;@�{��S���������F���y��6b��1�,c������������L��Y7��l�;���p��|lB#(&E��A������-n�e(V�5O���4�Q�!�eu����Y�,J �X|5��@\�q,-FmS^��~��]�����l��-�v����G��,`3j��n�Oi_.m�s�VP�������J����{���,�/��Q���o���x�\%*���r�N�U�o1�����/S��,l��/����G�Y^@w��umgrz�v����li���G'XY�����]�� �85v�������>���y������}�pj�"�5�����d��z.���;�/�b|v\�������gV��L�q[�P^���xq�I*���z�n#+F
l���3�+ �8�����II
�<?�(�v�(��~o|[����p66�O������?�,��s�s
'�Lg�^<����+��E�3ky��f8���?�]�T��{��.��5�p�a������f�[�f��M�z*=sB�[v�0a����&S95~1��b�� �}v���;�� ;�����c��� ��,u�(k������v�8�<���/�+����������L� ��P&����m����p�� �zv�F�Rh����<��#�-h��z��60�Qz����-���k�����klY����B^�Ts��}@���N{1����r*M����5{&3g�d��)x������T,���
���8��P�/�15�����(^����q��B/�|Fw�����M���}�TV���$[�?x�\1lh�`<8y
���i��W���p��C���I�5)���+�������*27@���P�76���������*�q�/M�����l�d�x����C��|>b�j���������U���O���I�������L�:�wi4k219`���PO��<}����8�U��5X������,��q�n��BS�+.� ~��J��Pi ��v����xe����]9<a'�Ld~��L,������A��pu�*�0���Y��#��!T`u_�
�����=���E?���zU��:�����vO����i��6�J��]�$���X���Q��l8��{�9���ykx,{�i�=kw)�[���x6����=�7�����\=��3�������X��;#�2f���<yx�]k'���
�{]j���!T0f_�����U}(��,]�-������q���f�l�q5#����2��h=����r.���-�)],?��#����C���W$6�=8|�.w/0wh*�(_��<(��R�P_�Vu'g��xl
��������� &�)����Q��%�~�x��>�����s����}3���b���)��0m<|��� ���2��E
���t���T���[5�E�|�h�g
��r�| ���� {�I:$-9w�,_��&�����\ �I_W}J�6��W����`�Si��6d�����}��W�sH��HW>e�E"�fv$O�����������^-Mr�����}�?0��*�k��s@��u�O��B�����d�.mL���*#������#��Q�$
�K����������W�����"�i�g$�&Mb�������� ���q&O�xl:����9���6����4�xbqw��5��s�����7����+X����P(��&t�k���&M����^�?��a���t���8���nq��U|���k���ps?S�����[<}����6��S��kS}S0�zCF�:�!w����M���T�
Z���{�6n�c����/M�Z����d�C�%���E�MLY��;Nn��|� W�3�gJ-�s��T�7�q���[�7.�����LhgC�
���3U��x��?j��j}��������|bs�O'��[�>j�[����m?N\���;Oev���
�kZsIedu*���pE>��Q1�%\�����w1�[J�,��y�%�1�E)
�i���7�w��c��4~�qQ�P��"Y)�O��fi���9��2%��{�5em��j�5�����=���=���1�R;�{�d��y���M�-XP�/�z,�u���$W"�/�{�b��%��U�>�J����j���/��E�X����%����`.���Y�.l��#�[# �A\=��5\�_�tzq��*W�G���jy�w��OeA�N\��:����kY�������.���KO�`�r�z�Bf�9_N�'Nu���-YY�K+4bi��,���J/�nb1�����=���*��M=7��H ��qz�4�t>�u��g�9���D������9{���q�K*5dy�,��Xv��E�qg���K��IL���
�����e��W������V[��u��G>�����K\|����|���������W�>^%�Xd>�[I[��1�aHU�ARZH���W����4vbJ����41����3.�6t���Sk�9x�d���G��������k]��H����7��]#+���o��G���e��Oc�����u2g�&i�3-n���P�&�*WJ�W�by��g��L�:����������������MG*�`PD����A�D^���N
�m�i5h:�`�u��X8���r�0�3����B�q?`.F��st����#��*�8E����Es|�+��g���Vu�@YK��N2��X4��u;pAu=�����;+�����oI�z�����~~�����J�+I��k���U�����R��R&UY�q[*G<��U�8�cAY{fkY��[�p��a#Yh0���s�^��+Z�S�o"�v���)���c^ GV9O������1��}��o�����_����n3����L���E�<ZL��69 ���e���[��N��kw����s�g�E�>���-,��"E���?LO���5����s��w�����p��iG�>��8B��{�lIU=#drfLU6)�x�H���oo���
�.�8������o ��J��r���u���X�����I�W�����������P���R�d�����?::�887������:gc�����Y=�2p�:��:�lgI�qk��b,�y"M�������L��HmCs�Z���'����-��WA����3��u�pqq��Nmzx��S�C\g7���CE�I�d�����5���v�
����f�f\��F��M��J����!���bB��\p�1�F]W��N��NK�$��g1N&u�st����#9���9Q�0�gj�1���C���SH�N_>e�:���K�u�����efo������,�{^�����z&���8P��0v�����-��D����8�w����L�QB�%:�u�;@u�"9
�K��"2l����7����]'p�;�z���WS�����P��,?&S��O��R�j�&8��`���u��2n@<wIebC�������.���7��������
g�Cl8����D�*:�t��W�Z�:T)S�|�k2�X����Fh1.u�bf����=uu����G�|����^uLmi����i������oe2�7$��7��jY�{I9�=��^�[�`d������������7��2��N�;$��;�k�`�S�z�
p���}M {��3j��&���:�;�7�d�����9�hkF
#W6^H����Mb�+�o�NM�;�`geL��
���V�x}f9��kbQ�����l�k�pl���*�����h�m��%Fqj�x��a������V�������/y�o�����&64i>���j��oC5.��S$+e�jC����D���O &2��h��B$&2���h���Pbl�l
PFH�����C\,QQi��eH&+N|��(�b�(���S����p��q���gJ�uw?^B������T��������?q?Y{DEl�r�D���l �n��D>��y��L;��H��xB���3T�4X����������Y#Q�����[~�k�dNr��
�1��(�%�����
Mw�S�H�y�f�f��M5HL�so���c��.Xq����z)���L�;Q���3&����U�#��G$�O �H�!�����`�"":�u�I���gR��C�=(X}��)�����?CH������?�P�:U!sz$���?����T�
�gp8�����0~|�5�r�!�N����Wt���^���_1a����'����d������"2���H>c#��o�����2jc�dV���_k'x�,����sC���`�q6�mP�g��|�����VL�/~�F���4`���d��4�t3��q��*O$<8������/28�o?~�9M�����w��eQ��g�T�B*����~�#�q|��X~&�/!K�E���wB"���8��$,"�O� �G5.��S$+e5������e�2��;��9��Wn�d�`���/�����%Fc^73*5K�&�oN��]�Q�����?N<�z�R���OBW�'����r�l��$U�����H"���vr��VcF�)|����O$�U(���G��4h���n6���H��Z�+g�����5WT����u��4��?S�<3�nO�|.�Q�W?���S
���Ek���qQ�P��"Y)��_L��5m��P��c9<b��&�J�>S�7����)��~���C��a�J.�I���jGX_�g�tF�iN���
L+������Y������$�����B��5c�P���8{,�T���_��2��T�h������+a�Qu�B�a��cS�fM{0q�4f����q�aU������J]������C8U*�Q�^L�:���3q�;�-+S���f�{��!5�qQ�P��"Y)���M����\�_��,�����&rb�a>����_Y����e������Y���Jm���O�|�`���w��o���������A���4�w��K'�Q��u�Li���}����T�_���������!�&�4h��E������i�k��EYB�b�d��
4h��A�
4�Q�������JY
4h��A�
4h�7�e ��)���4h��A�
4h��oD5.��S$+e5h��A�
4h�����j\�%T/�HV�j��A�
4h��A����(K�^L�����A�
4h��A��#�qQ�P��"Y)�A�
4h��A�
�FT��,�z1E�R����H�#~��$"?=���[������p��En�R=�eb�^q��5>���J&2,����sq��}�k�_�����$���
N�|N��#N��)FT�t��� n�������C���
#����&��y�OO�%��\^cz������5���
/N^���_���q��~���+""T��������E������}���z-d��;��-���&����[$$>�3��^������G���aV����M��NLd8q��S����p"�c6���B5.��S$+e�gIg�P;l�� ��t��k;���9^�����]��M:�z$��@(Q�����d�?���i=V�x�z�7��]]��y������3��|8�d�<�o��$b�����9��o�~��D�b��������gh�d���T����b�V��i�[�5���'�S�[3Fp��������9��P�y���g�_�n���~�|O�]�X^m�����x�"Z�`$�j�f��;���>O�P_>+�@��36����s�O�?�����/��[K��c�/qx�S�Crby����!3�3���sx�|�-�G�j��@\���2d�����G��z� {�����x����r�����?g/�-q��aOndq�31�-��5)V��>n}�<h!~���?��]�����������������]
��������rl^oJ���Ew7�w���[�h[�Y{���������w��H_�3��������(K�^L����W����S8�$T�H
�Q�OiOs��D����4x��+�jX�J�����U��89P�H� :: ��!���w��7Gi��5/�U=�5b?�h�>T��`&9b�0��eG�=��;��j$?e>eL�/�������#�j��y��M� ���w\�1�������Z�O��0=W�A�o�_n0�Cc��}�����/�����p����������t�v�\��E�����7i�������1J������<�x�Z�`�[;3L�������&�x��x;m �.�o����y�(������Bfsf�vC�ue~Yk�8O�C��/m��������!�#$~���c�w�����2���[�c��,(������*Te����V+��)��1�!�����M����o�z���������^��J�&L�p;�o[f0^(���g������m_wu��,�����d+T��g�KHLc��j.m��<�KJ{{��6}���7��_ ��zJ��a����Pe����"�n�R�(#w'�)�������S����9���`������{@�N����:�B?N5.��S$+e3&����*1���s�{f���k�+�d�kVb��_$&&�t_���3���~��w�@M���\gQwq1.�����Edd\�)myjB9#6�peDbu�J��=�V1c��
u���&����2W��_j��L���L�7M���z��9�G[!���g�!]%�wH������[�k.��5k��P�q������gZ\[�=�N<K���d�=3[.->�/gv.c��c�`�~�7�E�HL�'*"*C#�CTdL��#��M����X�#��$mb"���u�����������K���t���@��<��<fWS�����T�,�\���+��I1��1���QQ���a����5/!���Tca���>/����x������'�KL�u�yH���#��UV�a���i�� �ED��%�OTh��4���X�3j��(�\����2��Ug�����9us/���,h���HH�����)_�QB3��S��DD��H���"N����OTxd����(�1���>��d�������Q����(��H���}}f���8qw�wg&�i��{�������P�'��n;f��t���(n��yy���,�uE��_��NF�[b0SV���=��'�����S$�s�l�L�Z,=)��g�ne��U����� ����Wz���������E3��#G��8i��"b�TL�<���'�i?Nm�������EYB�b�d�lZD~��G�F�10�����,��{�hy�?�G�����5�G5�L���v��{y�=;��&�z��SG��Q����Y�@(�'g��c\�������T�e������8�{{�r��������t�0v�� ����Cu�d�FM;l�<c��z�����4�i[&�f��qNo����)���T��a���(gGs��r�����1��W���,�,�>=dW����M�h�g��%�����|L�K,�����nM��,0vj���u�X��u��W7wzcg\SS��X2i�%"3>�#+�;SC�.��&4��A�����b�f�����t���d8#���w���x����bjf��^
l��s���u#?���o�9��gf���%�������9�e��Y4���N]�v�Qn��_����n����c���/S93J�sp�XLt�chlL���t��/����n3�ocj�cf\����r�]�����������{*���T�e�����D}����v��bj��s�I<��Z� zH�&f��bjf�(�u,fO^�1�3\����o���)F�����S��5s>#6���������uM�w��� oD�~c�#�o�������N��U��&$<`�}�>�];.(�\��h�[clb��^u����o)������yo�TK�%O�X��cm��+� ���5f�a���� ,���.f����5c����)�mW�z�����'����ssSt���6c7!I
'�Dp�e#<����s����|���(P����v�����y���e��3��KMq���d��<~��9���dQ ��t`��Xn_��rA�1xx���;�]����Yj;�kg>$�m���������en�������+������r�R;�/���YW��en�Fl������2)[���+��e�4g�D)����,����Y���>��c4j�"���|�F^��rn�JQDrb����R�r��5mY�r�U�������3.�N���t�������wc_�fi6�9,U;3��2�����n��'�b�;u��Zsb�-�m����Lt�����emY���$?���S�r��wi�J9��v4w��x�_w���'7n~���\�j[��L
�>o_�J���
�����.Q������IY����K�<XZ� ��x�vb��n^H
<���
���q�Q5is/{0E�����3�!spaT����-*c�7���+|����+s�[s��$�qA��4���e��W����`���+��+X���c�R�}�~����Q,*�(���U�sp������rs�lVVv����e�Y�| ^���Xw2�S��W1G��6����o��x`+>FM��e���8���$����@�7���c��j��v�`&�Xd�^|���^�-�76��D�ZV-�|NY�l�3�:u1��@�V5����^�u���;�'r������Vp���'��j�0{'!�F�������j��`qL�����`��S��^^d\[;tE�a��Yc7�>H�qA��i���b��T.[��Cx�vN��d�XOK;3L��R�� >�����MF�q����Ui7~-�:TZ���m�?�zlK���������ZO�i|��Q�A�� �����n��~���GS��T��U
��X�����pU(i����L��#���Y�����ZQ��R��c:�K�����p?e�"��Qz����k�����mtj��c� ���L���n`xS
��A%#[,�3��3����=�zUR�Y��>^�Ng�:�56����m�u���5)����!�4�������x^\����ppm���%&��s��m��<�P��������q��Y&wq��L�W��'(�';�����c}����f3�j\�%T/�HV����k�2������os��#O5V��������l����[������v�iY�����^�mG�f��=�[2�Z���aJ�J��D0S��R�`)\��b��-����{[r�����)����Qh�+B���{7�����z
'�9~������)�����'�<Us�P��(B�?����X���J����0������p�l���&�.|M>���p�r��I������3u�AYP�lSw����������@���&T4nOR�x�7�y
�|�[w�e����h�O���h3�t�y7}�PY�,�'/f������j��0���T 1�e]��Y�� K6�g�vO��~)r���������{k(��"s���a�7Q�pQ�V5c��9l���M�fcQ./5���U�hh��;��m�P�2Cfob��m��!^/�y�m(��(V���0�}m���"�n$�o(�c��U���K��g�6�hH�"u���`��b��z�*�� ��l�����Yu��l�"��-Z�kQ��5�7ne��
xtkH��z,9�42����z��aD�F�9~�l�Yp" ?o���2�
���w;|W������JU��xw�&��S��+�s��er�F�/S��.�)s2"��O�����q�)�s�)l���];61c�h6��GD��lK�(M��b����=.
NmF��0�oH�!���5�Cw�zC�C6^�=S��S8.A�����1�M�w��j
u�P�a(/�b���V2���Dxq� ���SV��v���~��w�0����k��
e�H��e�������e3G`P�
'HvBywD(T
�zM��d-{��`��.h y�������{u��������"9��9���������s�ue��������84~ '��3O���b��}WZ�z�0K�VdJA'�9�����>��BE�T����D�����L,���Vqv�B�V4eb����!�3�<:�"A��Z�����#�=�e^�j�l����������4�a�P������E�Z�af.=<���Ey�������o�YV��_�����F\�,��C{1V���������W]3���������D%�������N-���}����P��U��F5M31���vqa�1���AW�ra�v^=Q�/[��!Te��Q"�d32���DE���91&�cN9�]����N�S����[���'�fMea��L.����rd�4���'+�y�Z���r$�'�������0��tDy4e�)���1_�%kb��s$��n�qt�S�5[�������80F����[��b�\���;/���*�t��dA���K�M�8������]����-�r4����6�� V��L��A�E���1�z'Wn����u]��`�}��F�����-�pz�|�������%����\�6�l�pT���m����������9;e���.4��EI�?<f��#�C�4��� K��z �'���Gn���BM�����X/�������fv�:,k�����8=n[�{�m�^�D�1��}������;1���*3��m]�����������@�<�q�������Q��SVm`��}lZ>��SqK~\U�8�E��K{�/\+�S�����>+o����������
��a�'y�H����T��n����[��vV(m��G� @��#X����N�z1a�K��f�z�$v��Y����60�Q]�W����3��g�e�.V��C�y��u!�=���V]� �9�c.�sa�m�w�d������xm�
���;&�?3c?_���*��*��K��lg��
�m`D�"|�nhE"���� {���KP��)�<��e��/��e�����.��D�c�J0h�S���W3��-�+X�����~]��n1����^�C��E��$��w�2�?�x�]�GR�|~ZMX����\{����#������Z��(����~�<X4������qz4�TA-���A��/io\ ��k�O�Q�KC'��bQB����<���m4�\�������T��� ?.��T/����0c�v�`�{{�j����>���e��N�n\�����<����U&Q�������J�����:h;7@�+��?U�Ti5��
���VE����G���
��s��O�Pf7���e��E!��p�-���|����hV� &���qg#U��a�6I���YN����O7�(����R���
gI���m9�[A�cZ��E�����O�P>�oP(��CyJaR�8���FN(��26����M7dc9q��bR�j��)�.~=��R9��='�!����h8��B)8��H>��������d�"����S�?Xk�����q$�l�Z,��N�?��� `;l�R��k����)^�kG�97���*�����7G)3�(�%���|�>��V�f� �gL�����W�u���������/5'�7#�)��hP�����N��h��P������Z�����5�@���=�~�|���2I$ppV3���9��O���c�l�rp�o��,�2��1!GEV_M#�����P����7�8��A�N������BYFm�F����R/�@�v�J2~k)%��x������kWI^�m�������<�� lk��i
��[[�]0n��k��n�V�j�?�<����!��uF1'�9-JS���T!=^�w�����L����ELj��;e�B��k�V�cL�f\>�r��s=�(Te}���`=�v +���TW�=H�5q
R_� �l�uS$<��8��#�SRK���mj�|�>��^��@������m�~7���1�?���X"
���0���6�:����A������1Vh�p= d����n���3��N�sT���w�6�@��w���J�P�<f��=���W���Zx�������3;��s�'�p%�D���><����M��s��S��L�m�w '����d��s��:�����Y�h 7�.g�X����H�x�
%t�m9W�U�D����(Z����(�'��Ch���bK�s�����+Z/������2}�.#k��������N����)Tayk_�#,��Rg�]V��a��y�A��m���#w�����?�_�� %�q��>�~������a��l�9�_�//�Mg�P�U�q��["��C��s�qc�N���"y`���mx �x��G�?e��)���V�����h�� ��sOam�'���t��X�1�\����bJ��[J��I;�~��OA��suo8GEYu����k'�e"�6�Pf7��^�%h?5
����{��y
��h9,�EZ����s�"Z�SrLb�������d9{���*�����1��:�����X��_h��j�����s��(h��I�#�"�Y����i?:��Q���E���������2r�m����6�[��t[zJ�����Y��fY�Up[1���*����,l���~%�M�C* v#}��}��N��Y~^t�������qOi��n&e0h9O��E\���v6<�)���G�P96<�4��3+2�?�My����v&�w�~=�E1}�����JfX���"������� ,Je�V��r���n6����(/�Q�Kv�����f�����%�]��>��o��D��z.����v�2!��-E�2v\U��x�}<��s0)�����EYB�b�d�l�Dq��!6o�e��r����y�8���}��U�=��}���Xd+B�A3���_6o���Q
���Am3�Y�z�e)K)��g��Xu]/�t~�%�2���.K��lU��R����:�����Q
���"Mf*�&�0�V�|���g��e�Q�������5\�
�D��d'��9��Ir��q����p�*X���C_K���ul��__���1�O}r &����+����%�*k2��P� ��B��+��&����Lq�\���S����Eg�����}���m7Z6���[z��WR ��
GK����~�m��g�/[����~ �!�P��]_��U�P��i��q�������L���Hz�=,�b�j��:�_Lt��b�����__|6���z2J��f�Q��2��l��2�*6��a`]���Np��`�sF��A���������!��q
VJ ���i��a���(�Z>>�VBQ��W�H�D��xH������5)�J���T��A)��(����nh����j���#XU�N�u�Ag��m�-%�#�mc��F�F�3E�G���1�h<�&>6��w7X_�6��g�C����kc�L��B#��:����x�/��pD�;���x;.U����6�fMV��'�X�:�2Q���a�8���S�k89��9B��Hu���,�V���+���O��d��"i7�+��3A0�����D.���x�M3�\��=���tA����0�B_�?R�|����� �\���E�/����a�:�
5m�������D�;�Y82�Pv�[D��y2���^�����I�96�3[&&,o�� ����o
��l��_��3��BMV6�����8%���������|x)^#�&k��1��h��L��^?��<����P>-�a��zl�v%�c�ys�g�����2{f����1G���/�Y�W��� NC~]8�����$0E0c�`�D�:S��qr�}���9�� ����8�<S�#p+s��,��EI�E<<����[o�Ln�ofI��,n�^f��O��%Tdf�������D�]�n����9|�' �O�H����r���*1\s� {�3t}������*��������]}RE:dd/�)�5&���f��/����\��,�����fR�hA���.�F*;����>1��������6���5�:'g��_��J������oq�+`����BG�� {�6<�"��BAz�:�Z����_�wF|�)l����"�h���K�yd��������}P���EV}A����-j`�v��@L�
\L���`����/\���8���g�5(B�U� ���+c7�_�pl�#%j��f,���K7���P�_N����(���T��S�C��T�2���K|N}m,{H>f
A��_��H]H5�z�~�{���<���YpZ��_�jJ�j��L�J.�w�q��y�C����}@qs�0���`����s�]L��eX/��,�qQ�P��"Y)���H���y+�4r�A�4k�
��y�����H��
�-������ �7S�@��6���+k+���Z�a����O��� ���S��*�=I�����s�Q���U�����;L� ��?p���w^��6"#6�Q�V#6�~rG�6f�M�f(���^����&��-��F�L;�b�B��bR�)R�y}t1:���cj��uJ�ZZ�c�4�G pr����w�U$��4m��\��Bz,Vi_�1������F���F��-�N�<%1�����
+kkl���07�i�jB��P�r�N�Tk�����6��G�D��({N��2��=�m/U��7G
�����T��g�����w?5�j1?j&Po�V�Y�8���%���TW�����g������S�<-F.�]�d�T�$D��6qI����������o��\0>�q�L�H��tW��f%��?���uF�.��Wp0,���3����;P�b�)w<6����WF��$|i/K�U�C0`N1g�t���������8I����W�PZ��63���X��?��\��g�%9����4{%�4�(7xA�w1_�ui��`��[��)�-YX�9K�6gq�f,�������4p�L���H��mSJO����tA���%Y:��=�b`��9��nx.\��<k��2VL���|�T��p�0�� �������5�*�f�"��de�J���V1���q�}g&
e�"�J�G ������G�� o�Q���y��D�UJ;Tn��Z����_VO��k�%Tf���N���s�������s,�t�]���9�>���z���de������|Fx� �)9��W3K���q�i�?}�b�l�R�������u�&?>�t��_Oe�N+?��J#�q���1�1G�K�9I|�'�����d�~�Az��R��� ����J+�Wk!��f,���U��y�^-��P��T�����7���0��P^)F�b�}zJ`����W�1BU��q���,�pe`/�gb�w��nM]Kg�6��qC�hcG�|uY�`��_=@�����������O@$�j����u����R\��hU:oJ������9'6s�),m�l�\9����;��2Iz����)Uy�t��E���a�%�s/�`?���[����8��)�M�#�e�~�.�e�a���j�3�T�K�'!�1�
��<]9�G����������6�z}d!z����+#?�N<�����N��g���i.f�8%��R
����{��s�7)�~�1���9�)_��%���������@���j�����8'�)q���qQ�P��"Y)��O�VQ#wz,=�0�H����'uPY�%s��\.����V�2L����RE'V����
t��f�y�Q�7t���I�5�_oy�[P�T��"�.EX�J�~u>����*9Y�������8���[R���4��x��s1|�J��5�
J'\_�,�f�x_M�#���7���}��_�Di��kj#����U�S:2Q�mQ�P����_��bI+�NW4#�����#�u0j2[e�x��y+��_�z�TY_j]�?�3��.q��A~j�Y�rN<[F��p���1�����G�.�d���+s�c�(ZU!���8�U��S��e�}��NN\&�������kR����-��=��H
�6�g�V��xn;����o�bU5�H���;P�|G+w�,\ �?��B�����1d35����M���8��, Ig���`J��|P�g���,�^��N�d
?�n �r�an�9Rj��oG|�%TeU�=D�<rt��+�\�l����8���d��������4�%\��u��8�e��}�S�W{�O ��\!\�����lYX����p���]
e(�R�2�qz������~�R&:l+������q��a��j
��fI�:����o�����?�F��S,j1�f�l����8Y;���h�ZEB�.��`N�N���1\��w�[gWS�?1�;�1Ek(o"���4�WcZ��<��$�:6��@'?�Z������D�4g�����T ���;e��Kz�V��%���5��#�#�\��^���S'�������MQ�F����r�~�l�N���b�������9����g;�V�s��,j�������y��e�P�E��Tf��#{!w�.��K��,9�<%���X]�������1�c������J�+U}��;���w��#`7~��YG����d+��Bp�H�\*zQU�'!=Ow�&\�/���#�!����l3��g���5��n����t�O���H�!�����O��_��@Qz��"����QE��mU.#��������f4�����v6��T6n��Q5w96�������p��G����g43����]Je�~0Q����3�.��r����U})Y�*�Zw�[��L_����F��?N}�����>���vZ�1�]:�] ��r�y��CJZ����<�t�R?��V9���T��&�tb9By�8������m�4����t
i�������z�%K �I�B9�W�=M!):i[x���+YpB1�J|J���(k�����yD���LZ)z}= 4�-��J�q��:0�M��"��,$���9�<W|l�B��i�������d-�*%g�}��E����mi}$45���Q({Q�e�c������(X��sJ��b���l���j�V����'5$oYN���*��I.��#���|��INr���8��sw]w�h����-���R(���������fq
�]v�Z�*����k�J2y�T�2#����T������5\��~���n�����,C6�h���?�dD�c�.����������O�R��"}x�R _o��tu<+��(�_o�[��r4����7J���0&��j�O��%q
��B��P�7.%]4�K��2F���%R���s c�Zl���Iv��H"�����.������q
Wg��5\_n���9c�����z����B�u���{�YS�SkOH��VY�>1:�������{��=]��=��+��H\B1q�D���%�t�$&5��8��3,�Y����.�a�����������FYc_�`�P�i�GHm�L��B�k���b�+���O�� 1�
�UM�Zb$oCR���9�"�:�[l�mO��C����)��o�,�;ge�Z���X(��$!~���SK���10O���S������T2 aoR���5G��Ew���z�.C�1��������1Wk�y��w���L�l�'�����6���<e?��OB�$k�q�L�
���)m�##&�� emvx��r�v8��2�������L��J�;0�\9*��HZpB�^97-g�S= CU���N"��K�_CL����WJ#o?j]���K�l���P"����^OBz��%�6d���3D���z��7>S
�����O!���h��5P��(��~l2��Te��������5��X)���@���i:K�+_��rzlP�F�� NB%���3�?�����x�8�4��QO�]�EQ��C���l4+�5\�����{�
������������������\ �?y��{���j\�%T/�HV�����U����F�Vp������_+��(�2�u5�������������P� .]�����^8��Yc��p��F��gU��V��;��V���4s%rs�hJ(E��+8}������I��
��\6�^����~��8w�[�����-�m^��-�����J�g�?d �?`���H������]���r��e���d��m�H�'k�#h�O^-1OwS�P��
e��k\:����Z��'�{'�����|����sg�]c��%tjjL�\h:=Ea]]3
�<�h:t&��_����,�:�
'%�+�+�+QT����v������vI��l���a
������`�o���qpB��l��b���~8�E���u�����zO:��:3����#�]\�a�Vp��-����QC��@}��������`����8�
�W�d����6O�I[������o�in^8��A
(T�:��$���s���*jQ��)�7�������Y����\��>1%��L���e��K\������.���������'����Q�2|�86�;���w8�k
�M+��y��iD�GFZ��i�����+�e��`M!+.�8��?SW(��
�f���*P��Z:��0���qb�J�-N��y-w��3)����%g��_���g���[�=�qy����v)a�W
�2d���\�y�m+�cZ!?���%��}3��Z"�LJN,�E0$��I�dq�Z����G*���|�2O����P3�y�.m�9�� ���\����L�]�;�fq�� f�,��{O������X�U�)������}f��ew��k�tF�R��F��������]0f]�)8�#=Yo�����L���x��n��p}���D�"~^R;%�|�]K��pW7������������g��w�K��fi����Y^�
�������{�!�fyW?~)|{%����W�ed�n<K5���v
)�s���|?��9B~������7� o�^��qB��e��k��f�m?��$!>�g&1E�����=�O��91\���_r�b�������u���Q~������?�`�P���#�m0�-���s�I�s�D\�T��F���E^��l�^�}���WK�/��o�X�'�����d(G�-�p�����H���a����'���[�)���������`��;3Bh�-���E;�f�\� ������gs��f��c��X������?��;_6����|�4������,�u��Ny�]���W�f�����
��1�#�'��rWNIC,���S(��J�80p
�6�#��%6[����LG/&p���X1�r�=Vow���?�AZ�}nE_��������~����������*�}H�;�\6�qS�s��M�\=�����T�:���x��[)�S��I�noDy��$Y��+Z�U�>�
e��:�k��6�����v� ������~7�~���Q�U�z����
��J�o$�3��6������y���)�p��e��/������)��xy���N�����6�]� ��->c%g.����l*�����Mp��C��V����q�2�N�eB�z,g���������F:�h���G�u�,�f���B!�*����3�?��`/VUs2Za�"�k urVc�~�3���H���B*���uWO�������%s����T��j=����Z��_��
Z�M:tC�f��LX��������q��
T���������� f��.�\��2�u�� �HT��,�z1E�RV-��Y>}S�4���%+v�g��1x�H�-��hb�������K�����0����3.�N���M�i[���d�X3���Q9���}��w�b�q�w����G��8X��d�l��)��X�n����!�N
6�_�}#����&��;S�o���������#)uB$��xbV�{Gg��L��9[�����������jI���������+
��{�7N���|H�"�9�p�u�qtm@�z�Y����}��r�����i]������>FY}:����y���04��kg\�� ��zu�!�/���2�=�������ry
M�qD�;V �+�cn`���3}���������f�� ��������6����T��>�������=C��\�6�K������/���� K;G8;`l����G��<��_n2�����pqm@=#�����4�����Ck=���qu������:�����G%����q/�����z�4l��z������������
453����}�F3ooJ���Pm������h��#R������bW� &�t�������#���7��L�k���5������^��7qkg�� �������7KSk4p�����sv��]/�M���$Y����Y�����2��^�T����������Na�Ew.K�'���-l�h��W��x�r���7�������+������
������,Wu�7]����YQ�������4�W������}���j�seayWV�M��#�\���l�h����J��@?6Xt�����
a�/��E�Trf~�f��u�g�7��j8w�Hil����X�����Xn����g��l��,���k��2��p�cV4���T�c���:�}�uK2l!�N���=�:,�kZ��i��{�{���kk�fU�V����%�8��-��.�o��u���CAI����u���15P�����p��J��,����&�c}�=~����VTo��r
XX������wK2�A�c���/��~p���rl�=���x�O��
����,E�Q����aw�Uo���-�����g�����JL�>I|���upt�]�I"a�9���Z/���Y���H�����:MXX���U��c�N��L�����2U��e������=Z��uu��P.��jt���k)����X�����]XX��u]��U>�����dy�������7{��}NmdeUj������q����9i�9 >��F����
6��Eov�������|N�c�]0�:&8:7���3�&�L�|�hU"���AJ�T�w���������=i�k8T���4��k\�0q����)y�zZuz1��I�#����og��������ci�D�V�y���P�_���}���M�V9
>���O����{�9p�O�`xk;�]bgn�K�i��� {v��Mm��w���s�������"��I�72�����
\p�:����2�wG�%/"���(.];��N��L�~��_�����-�
���J��(����`V�z�
p�o������`,����������o9*����/�3D��#S#�L�1��A�"�q�C������qQj��������wh��7�P�����Z� �;j�b:��EYB�b�d�l�$���Q��NhX:���D��B�JsxP$�������jU"�B����
"�C�� N�8�B���T :<��p��," 1������I�#,<By��,�HDX(�Qi�,jH�'<4��%��� �+�-�1Yx���P"��x 5$DGBz�N���X�a�G�s�L�k|t$�>����uI|Ta�i�{f�s�
%k3���������m$\K�UfY��A�Db3�q�q�=��!��BY�7<�H\dL�kv��Y�h���(u�I$�+�������{��5D��W�<�����q�+W��~8MB����'*�f�XB�u�c����~� 2##*,��������D�� =�;���NLFB�;�gd����
�����',"};AXDF������������t�e��"n.��������t7��O�qMhXT�M�j\�%T/�HV�j��A���]
K�f^=/��P(#��Wfis�4�����������~��� V��������>\�
�b"_��-��c��z�0��2���`���� �)T��,�z1E�RV�
���}����0�d����U�)��V�.��������W1�t}f���G�F���2���4h������)�c�����?��������)k���*�~��e ��)���4h���D����4��cv�HE�������?M��E���|�����=��%��~N���A���!�r�=Z�`fi�C�x.��������w�e ��)���4h��A�
4h��oD5.��S$+e5h��A�
4h�����j\�%T/�HV�j��A�
4h��A����(K�^L�����A�
4h��A��#�qQ�P��"Y)�A�
4h��A�
�FT��,�z1E�RV�
4h��A�
����EYB�b�d��+����C��IS���HBB����������_B<��b�k���������G"1�a�E��o��~x��KWy�%L���OF���q
J$��LT������0BB�������%��[�]�����2���#v�D"����U=�AC�I��!,8���te��dt\��?T��,�z1E�R6-������w�T=���-+�2c�m�CJ<�>]���z'�~th%�<�2\��q�l�������S=�_F������?����q�e���G4��������e���Tj5�����HvL�@����;9���7��2a�<�d�B���;����������6X��_�����6����>������������T�����NGq��j��G�������v���$Fs|�x�-=B��P�����Skq�3g�������dt\��?T��,�z1E�R6-�t2��I^�����q#�C7]V=�����^���=1�9%�6��7y��/�����
C1��g��e�e����?��K�<�Di� �����
�r?f�s�a�C�#�K�l�}��i���P��0jv}5Zy��o� �B~���gN,�O�������g$��&��U���D���~]�Dm-������{8�aK1][.����Le7�D<�������|����� �d���� ^���
������$����*�-���e�W���\��,�����hGF�%�����e ��)���i���
5���J��?E� ,����|U��O7t�@M&?h<Q��)A��M\8�%��4vL��&_���v��)���:����#-�b[� �6<V=������@,�2����z�o�o��lF�3����)���-G2!.���,\����0�5�-�I�������y.���m�)(j�_W}1������
�=Nq���7�v_L�q*=�w���
j���?Q����?�+���b�c����Bb|<�1��^������,���{'O�����KF�5��C5.��S$+e�bC[j�tK��������?c�����������~�r�2�1�����!������>}G��B�a�O7���[v��S�r��!�sUd�R���-^���7�~x����&7���&w�W��X�q+?�!��e<����6-��a���l|$�������pm�|�1���F�>Xu����p��6�$��;6�#{�>��Xy�V��:������n��0�k������=��T�o����q���� �|S
�q���7�/� ���@�����q_��h}�����K�(�]g�W���'�?�e����5�cw��� ��>?��{n��������9�k�x-�5�������������Pr�D���eX��ps�m�0�='0b�x|�?&.�g.��s�����g��^���J��7�Y1c4}��������y�\+O71�_?����AC�0icF������
}y��#D�r��� }�K�nf��~����_������g?�z����7�{��_�>�t���C��3� �Z�����������������RxwU���*{E&l=����O�����=E��B9�nj�,��x�(�"�D}b��;}���6`$;��f��=9lG+\��n3������o�Gyqi7C��p��t<�����88����Y�|_��yv~��^#��3Vz�uM�!��L�k��_
o0j��[F�\���p�/�n�UO�(�|ory�"�yb]���\�7v�`��]�P95��fM�����S2/.�3s�v�*�N���c��#D& dbW���c������7QL�|}n#�Jzp���<��r,��M�/����x��Y@��=4o�����SG��K��~�'q������c`� 5^Fb�m�A����d�����>�+b����i���<�V��%������������w�����=���K1��h��3�p�`���<�S*}4!�3�7y1�M����=��#�>+�Q�����2��a�;B�/��"�7b�^�fq����0�����\������FP��3[�&�Y��9�$)O2�w�N2����������������R�2��2��QX�x6��Pxz|#��������/�W�v��a�o<AD�k��)�%F���b
o,��.g��+���h���f����xv��#������=9�LYH���e���
���G���s�=���J]�k"�o��rj�-5c/� |�b��l�^���W
'r���N^�kY�yw�)s�q�mj��\}�zu+k�����l�6�={��h���|* �1+&�K�'��o�4.�K�0��%�Dn�`@o�����q`)����Pz���L�b��g2j�����xw�03��r'�co�o8�b��i���|��I��+,�������;G����I�"1�Gg�3ax�/�����G��HN����[�����$wFyL�������������t�U���)<��{���GOF������#^�c�H��5x"'������(K�^L���M������T�\��h�����qY���w�{��S}����������an41�L��f�^I1���/�Nq-t�\q<����a����y�3~[��}4[�4�h�2���3�t�����kR�� G_K������5�CE���N��V���
f����<,� }���6V'?�����V)A#Wz
H�f��T��<�&����iZ���i}�Z��m� ��W�ByK1a�������W�oV�R���k?�uo�a�r�8�iH,�z����(�=�l3`�@F���]"��:�R�a`��fM��6������`���K�I���1�JU}:��O�.T,_�.3��P��*�N�tu�C�H����������1X[���g���^��Tm0���R���;e�V��A;�4�F|����_�Q���3���GQ^���Ob��e�jXA��Y�������(,h3�����qpB!�_N2�Q��sS:�
��Gk*�(�A/~�)��~�(�U��n�l\�����b�����]z-k���[p�Q�6
�7����jS���.JN��+���\��2��m\��n��[�������U���*a��5��5���+>g%G%����a��ceK}��������R�DJY���7�#��?N�P�u
Lql���}���3e��u�:�����,��B�*5�C���-�R�,���S2�$F���E����E7�zu�Uc[L�j��<>9�0��IZT��Q}z
H�F��.�����cN��yt��B��i�{ }'��Ih"w|�U�)w�yjs����)�����Uv����r�dY`�����f�N������U�Jb��}����`A��q�_���(��R�� �z���6�.��S�dQ� ��m���[�;����-��a������g4C(��J��u�S���p6�iL�*uh��������F���4�pk�Xt��`�����vE*Zv��g��^��e�����m]}���������k^�J��t�?��}:aij��e�d����)�V�P".����1(U���M�3b }�M���x����|6jY�R��5=����*��Fw���HB�k&�0D��m{���]C*�.E�Y{�\+|bvK*U*��Ss�h����p��M��bM�
��[���
�ug��^8�.I�*�y"Uv����4�sD�5,SR#�1�E]����S�N�j���6m xI���t��Fug�J��m16�f�����L4��(]B�&�8���:��`���_e����U�hhN�\�h���G�s���Z��L��<"�;Ls���� >*F��dS���S�����:�����q(�����KcZ����~44�I����q ��a�jV���g��W���F�J����o�{0��F��f3�=�G' ?X����������U�<0-�A�J��+x�U16��O����5��
���T.��N��������K�f;k;�S��=/�*'��ls#9�y:���]���M8�>���������ZQ�V#�wq���Fv��sK&S��!��?&�/�1����C�Nt���&�~*�iFzI����{�UX�Fm8�/-[�������������I�> O���sB���:�R&���/,����cC�
L���(����G��L��t�s%/"�yt.������l�/oH!A�#A�����t����%��
�CS3
(��u��gJ�`��f��������[2��5�"�(H�^\y!
e�n�I���j#��J�V��G�����[�����!�N��-��hS���~���A��,YwA���qQ�P��"Y)����y-�<�]r&�P�k��-�~��i���B�C����pp�����2,@���H�J����Bn&��
�o��t���[��F%�%��J�q��������1t���b/|{Q@������u-���
E�;�����>((���FQ�@i�\�.vs�xr
<(��
ef���s�$$���H�v"{��lW�2��x���q��G
��^��|�,>�x2O�
$���������jT�JR�tn^'�U������~�)VD�}�����U�"^}!�QeuWdH��LI��%h�����R�>�6 A�F���6" ���Ul�"��LxK���j:;�]����B!�.��*��z�������0��$��Fl�����!�^�P������]�������H��T��(�y�o���,���e(�#�]�R��\��8�ZW�D�����?����-QRHHc��G[�?_��R����L|������ ��0��]MYA����M!6�,�y������Oq��?��Wb���oL����0�����B�@ ]V7�W7"�P���Szh��cX��4�_���bI��T�������9����H��3��T�j�������S�\;�����2����K)�?��0:����0���
)��MJQ�i�L��/��i�S��@��#�2��~-��<U�D���p
�,��������h���q�eY�v���8%0�=�;�X���<��z$�����g�K����K&QR.�_��P��)����4�Y��{e?�oo�(�@�:�9�:�I��YB�9Y�"BI�����}��R�����\M1u����5��?u� Tp��;Cp`ZSrt�j�t�SK���������J�������^-���_� 1�oQ�J��$��q���+>T�m����m�I��=�M���Iv��\���nK�"��|;���J :�TS|J���
���[�0�w���no��*�/�P���i�|�u�I;��=8� ~w�@1]��J�1!����U�1�D��~��=�k��+�v����
����mS��Uz�Rvn����l�����n������2X���0Fy��k�i���G>��2�?%�}{���E����Z-#"$Xi�����������y�{��v::�����H�j|16��fe=Z�,�o�������s��>_�
�1�^u���
���|�u�������.�wUfez�|:zi��n#_���������N�����d��g��2�����H����=ST*�:Gh�r���L���x-�������1O��O��_��V���R,�nIY���?��IH��|���T�t����L�g������~����j������2�'���DF�`�c��(b��
6��oLp�F��B�kG3�y-�;��KZ7�
��EYB�b�d�lZ�\'�����)�R<dl�nG-�n$
��E|D�_����{�q)��0���o��P��{�(��}��*B ��]��>1��|5l�����9M�]����SP�9%�����CJ�<2~��:er1��������$���~����P�-��G��.�@�
�
���c�����Ud��z5z�V���A� �)�y���������rb�����3t���O~����'���[^�z���oxyz-u�d��Vqv%�E����t��U���+����x��9���E�`m�J�pO��,������e�m\tKc?��B�F
X��$��he�Rpy"�3V��}y��/��s.�����q$��sE�������b�]~�{[0��A��7y��/_���������B=����=��(P��^���:�M�������_=���L��1�F�R���;hF?�C��t��Xw)���*[~:-9�r� �����L��jlH
�~�y�^��W�yk7���4CA�&����e(�4Ue,��]����)P��C��t�����^�����[n���P��oI��u��d�(��\�Ae����!�N��k�y%<�m��lGg�~��A�#?j����������:e��������y}���i2��������@{iP������6�!�u����
��f�8�����;�v$FX�����6�+��Q��[O^O�>�����+c����y�Zl�������
�P��������C��@���3xq����z^��N���'b��<��1v�Tr�B��Q����m�M�]�n�r��_"����������%���+^�\K��7��r$�c�)�&���>��d�~��S�
�����y��
��
�~�4[��t��8�n�/����fU0i�@m�����1/���|?#��H�W'
�h�}����VR=_.�]���a/��[r�G�Y�$��0];(�>�k���a��T,D��)��3�P�Zg��qI��t�����������W������r�`�CQ2����,�:�\:�#��;J�Ha�����������#���&YCJD������������>J�����)o�O���
2������.g�m����e�2�������1l2�m�}�e���b5�^���-�%_H�k����^��\��9���2�O�k��`��f�f�U���<���^��X��}�QB�������� ������2��I����3��SnxRT*�}<���^���v��F9�n��3#�%�q�������l��G�P�5mW7��\6���+��p��y��/Y������ j��{[�-#0�����B_ga%Yz�n���]'=���o�|����,������c6���[��z��=��4"OUs�ft���j\�%T/�HV���j�%�r&.\Wb��S,�5�������OZ6����)6���^4N����G'"�2�W��%�6B9Fm�R
�w���UGT7j~�����l8$P��K}�I
�$����y�(�&���"?�`���L��������f��e�v��#�;�G�T{@����4_9���q%��q^</6)�Rv�e��[��*KS�O�;rU<7�&-�J��x����V�Z���M�j��+P�!;��kA��hwZ��z�TW"7�,�G�N�������z���+O���Tg�����`� 'JWse����������W�����@}����d��+������Ck���abc������������y�
�j5b����{��0��E�1)@r��_F��(]�zzR������vq
w�\�����8�"h�0�M��M3����k`�i���d��I3\��lFoU����|~:x�I��\���qON����zf����e�KM�(�^]=INt���S�|�������"�?f!`1�W�
qlm#3�2�}��Z��R�B5Y������f��(c�vy�u�p]Q�B��K4��*tAy��X�FZ�F83s?q��_�Q��k�.���#��R;� C��B����f�
�lu��,�o��]�*�� i<{���������d�r$��R�|$��
��nN���0sn��E{�i4pf^s���K��u���%��Z�)����-cnn��|6��H=k���>�51�@�
8����]W��LMpr��8�|M���������*���x�Mo��,]�Z�kSKW�Q���U�|9J3i�M�s�86� mSW�IEEBONG(c��+�=�����n]i�b���)V����+7=���n?N��d^��������m�B"O�����J��I��lLC��e�Ps���2 �����zNzo�t��CR�u�{��C�fd�X*�N��`��d��Or�H�����7t�V�F�$��t[��k�R��g�h=N�*wq�������bH#�W)W�, ���X9�&��l��r���� �w�T�4f]���s0��������5Zq-��Tc8�q:]:����%�����W![9+�o��S��vyz�����e�q������@�t��
!��F��Y��������W��K�����:!�H���|��G�_��L.��a��4�R�a2}q��
�K����:>������Q�R���L
�d����I�=%E��/L!������A�V-��0����z�h����L�-Q���e(������Z[pI�C��d� :�l���1f��)]�:��@)�%���S�u�_����O��t%_�z<��!�vk0�y:��ar?n�1����
��C�*:��� ��zT-S���
Q)�[Q�������J��Pp)2i�S$��e:�hQ�a0������g�|������!�:=������<�|+�.�R�����V�S�'�S��u:WW5K9��x|!:E
��������zz5�/�����z!'�9��
4��_�gV��P^i�G>��Ie#U���� D���a,�����G<|�P���)/_�!(\������i��I&y�6)zt�����h3��;����s^�����>��/��y�d���G7�bhU7�a�f4��g�����<B���T!]U�yR�e�fy�m��
�a��=���g/^r��R��h�>)�9�!��P���6�������$��-B�`a<���QR�=|����y��Q
i��??ry�J�VB�����&'����e-,;�R;2�n��<�%\b�P���Gj�$b��c)�d�������b��zcw�d`����=y�DAN=����|Im�����z�1*��l-@Y �j�sh3|�+���'�y�����l���?��pf�~q�!p�E�^�mC���n��Z�,@�u*��'>��Uu,{'�V1���������
�l�z�D������E)�S�G?�{)�f����=�M�D�r�1�41��4�1�u,�v�IJ�=|(���_�dm"@���<���@\(�o�b\g;J/I�i��R&)���:�Rs�$����p��k�8�X���
�%�����R�L��'J8������d�6b������ra�N����<���{�����rI�����*���P�����������q�C��������:��el}�����%�`'�������\��AQ-����H�������}-����(\�6[�H�ls��Kj������Q1�*#�r��rm_���t��A}�%�VV����3���;um]h��1��:��FZ�C��iZEK1x�.�����K��F������p�>��t���(��
�I�"�eA(c�J�m�a��L�:}��P�p�W��NK�uR���W3��������t���?����g6JW/������)T�
�T���#�+�pe�'���LF�)i���/���RfT8k�:Q��!w]���g<��K��\�c��V�~�H>_xQ�`y|�"99b�U6�'�����W�:h�h����<~������7� }�� 1�C�x��:��IZ�����ug�[j}��)0)�Z�:p~z:�
�`��KJ>��g/x����o��P�������J��P
�R9�i�S����T�S_���6�����2������2�Wy�3��J��"��"\�Vu$WS������9���e�)���v&O�z�PY���
��fs�j�������U�G3oiW�k&�J���mY
�LTY���������!9/Q�i[&���P*��bH~O���LmT�jv��q�B�,u$\�$��a�1������x%�Vg���3p}85G��]~��_�G������P��*����
B�Zl�!*�&X�R�a�R���\��-�&������5m��+/��#u*b����U�E��i-vWG�s`1l����X�t6�d�6�������n�k�l� ���3Y
��$ga��d�������1r��h�2$��PYZH
1�l�E6��RzY����A�i��/��pe�~1�0������SC���z!�^��X���0��c�������|N:�J�����(o���~^�V1c���2���}(�������1�p)Jv������8�r9K��=�]�E���X's���V ��@'��rL�v=!1��4?������������_R����������,EMWc�����Eu��@�Cz�R��=�b�����U�����,�7U�v
)�X��4E}����5�l3RE��fMW*�vU��n���h�Z�V�]�v��d�Jl)9�� ��dde�Ta��2�� ;=�F0��R�~(_�#E���2�_������7������ig�k���>�iD�WQ��TR
3�$��b���8t����_���������[-T�k�r�6`���vC���e1uo
v5t0��}�g��i�^}7F4������w?�s=��<&��@�^�X>w��<D3�e
�z�]���������T�Y��O����u�f�����:��}�� E�{q���Z�)�-ZJEZ
w ��V�$$qB��}����d�I�����[��s������w���g�������Nf��3�;�����Ti�:O�liS�8]�g�ru� �����+s��u��������;��["?�2f g�� w��Xk���4U
2�D���G�����;������<p�!<"������Q��S.��J���i�� v�s��Ie�%���W�����m��zdZ�|}~gJ5��6Ev����I�|
c�[O��3���h�\t��������Q���SW�bb���a�W�4�f�>�
�=o��H.:��
G�`���yr}�+�B���������<y����S""���Q�����&�G���iG��"�f���#,&� w{��kG�2]������VZr� ���r(���&�.���no�R�|�[w��hb�|1�?��
c|��v��~k�����q
� :,B3��~�(�Vo�E�N���k������������OLl4�O0�l��fw�Y=����y��z�65�1r��Bz��7J�.\|�Cl|,n�����!������ Y��k?u����D�W������s�6�n���������R�sc\���=�^��k���2����1���/)l�� ������ �c�p|x�qm����kpDp�>eB��M0;}�;w�i��q���m�'�$W���]��'8��� ^<0��gRT)��Zan������qq���>c���Y�b�l�l�\��{� �#�yf�g�(�l���|H�R8��B��.;����7�1)��������*��-�K��=k�6!w�>��������F�\��b��7>D������7n��:���kk(���2�!QDyr}���R(�e6!����
C���KY�ILdv��bn�8�����4]��[,l�M�B�!�����>�90�J������;�SU ��%_��\x�Jtl�v���%G>~>�q�h��t����j����G�����;P���X��_����6M�Q��F�#���j~����Sa��U|�b�r��������Gc�
9��;o���/�� D��pn�8�(��[��
)>��P�"�Fr�����"=��m��������hTFa�5�
��/'�����7���xB��Y9��;���#�����F,��U�����ZS����t
"2��$����H\/��f�����X�����|_r{�@�c��px��[V�h��fvg�z��f��������0���I�B��������"J+E0������^�eJo
���w��]
��=���o-�x=u=3�"��2a��������c��c�|��+�p�$!.� ��L�T��M3�&@-%�9���J�9<���^�<:�����?bk���7�VR�p��#���������q��g;��b)�T2�����7���/�2�?��>91��9sQ����y�A\l$.6��ZF����ic�R�W�W������ej��eL5*����w�s��7�c~�e��������(FC�r
���g����7�h6]
��w����r�q�|���e�_�i���?�O��y���<+�es����L�����^>_�[L�y���.>�D������A �'���.��2�n��2���?q�a�[���FQ�V������:��^�uyx���>����J]~I})Ly���JS��)o���
���-�)[���C7j6��~��� �/���t�����
8��i�q���h]:�t�J���W�.�������������4,���]~!�����P�n���������q��wif!�����Q���^��T���l�����#��5c�����D��;XX���{���0.�K7��������;S����H����Tj��v��2��g��}(T�,�z�K�����������i�����c�:�+gD�>}i��)?�[��F��u�Q������M�BTo��~=;���W�X�3��~Ej m���xo�
nF�25���3�X�6��K:�u
R���l�<���*��O�7�B��8a�������T���[���#)VuT���Y"�.�y�4���>]ZR�LM�n��� @C���e�,����1`��u��H�z��Z�R�N�����|Z�+D����������Z�1��<��e��JT�����:�/������p��|��"��5�o���j���;��3�tM�����{?u
_�ZL�9��7/�>�K��y��(T�8kO���rc��|F�����K����jc��������,=���Q��I�Y�a-C�vg�3mb�N-�z��|�7y�i}��nW�z�����n#1�l�2��E���CO�~���E��c�)���+��x�R�����}{Q�|q�1�)0�.P�����BZ�+H��m���e
�b�E�x�Pv��|����fv��3�\��R�Q��� g��w��M{0{�b�7�c�>tlT����e���h��[�^�(�k7�W��4�S���{pKj1}�p.�������czthJ�a?c2}���"m���`�/��J?�a����������i������=�Q�]����A�*#����9�92�=y:��}@z��������0�g��4j������k+~������^fh�f��v}[6�c�~thT������:s0b�f���z,��T�A����
��szuhF��?1���|�t��{���)S�}��g�f�*[�������x��-�[�*����{�F|^��i����-��a���P��q���O����?�T��z�9b�� ����(�T�X��Y��;E�Z�5e�[��\��%���f�������A��H��$���R�W����s�wU-F�Ncy�����KF�c�,�3��-��������ex���*�����#_����;���Z1q�:����h��Y����y��t=��|�tj+B������)�*����pm�Q�@A�����~}i]�U�~�%�w��~}�����\������Z_���%��Wo���i��\G���!��w�^��nVS�<�wy���(u�`�w�_� n�����G�~����K��M���;�J����d^��>i�J�_�\Y�������#)���{�G�I�����y>������(_���mN���%�4(E���4���m{�t�ft���GY�q:��~��������_��3_yvZ��;.�� ����\7�xe��:���]W�>�|������S�X^j5�D�N�)]�&[u�������a}��uJ��Qk������0�d6_�j������{��A��+�����3���*m��|z}j9
J���u��hO�A1[7��=G��f���7����)9��g"���F��h�Es�7�2��~�K�.\��V���)T,\�f{��s:��K'������(N/��9>�<���'��������KW4>������`��~*�����T���`����W���z��k�}^����&r�p�q�_b�1}e��D�����l����?�"
��,w�XYX����6�M'082cAB(/l����3gm &������/b=x��
Kk[<���R��'Fw]�r?�qx�+����Oj�~>�e��H�-o��XY����W���H+>:/w?�R2��b#��
"1�&=��o������#�����y8`ce��3W�����������5���I���������������F�^xFd�2�AR,~>�M9���'6XX�����:�G�.�������WS�rc6�x������x{{���8�������Y���<x��K+[��iC��Qz?8>�������g����b@dB
�S�vS�.?��[���n���.N������q�uu���%�V�wv'B�CR�#�t����w-����-z��l��{�y��Ad|jYz���B��;~����*�@/�����J���_[
�
|�CkK�>�#(��� a��~�Kl����m��TA�<�����3��WFU>�!�����c�{�������������x�d(��Q�x{��?Y�O*�C�p�����JO#!���������B�.�A��\�cH�Kwl�y��9^������(�#S���rv��=Kll_�����*"�}�j���]�=x�[�,�5%G���9�X=x��{������;aioR�Q%��Vs^�����������A"����dS��@Y�
�����X��$D}2$�d�^Rl>^D\��<yak��F=}��_��u8]Lh !��''���c,��y�&skErN��`ii��W��2��i�R{�y���4���g���G8�z�>H) x����J�����l���,����>������[���&�<��5��d�}��T���E�����uK�Z��WA��}T=�u����M���K�YZ���#iEQ��~e�9u�����<�6��;����^�k�7�^^Xm��h]�>��w������5�lp��K�����3��h}��N����zvMwO?�n:�����6������z�S>S�����+,�`���i�N���R*�����
�������_�};����Y������_����z;���k�'�h�l$�~/�:��[��X>C�\xbc���c<�@��/1z7� w;l�,���9���~�$���UC���[n�t����������T���ew�nXp����>�J����'��Y2�o�yhm�)G��������0.�K7����+�?#�S[�4��y�S���-A�e�����?�1e����K��W��1rCv3� �W�3�Eq�z S �������M�u\��Y��$uz�[�t#��E?�C�t6�8Z-�� �J7�H���?!-?����,��!Lk��`�v6p}I/R�D�Yd���Se�%���W�������y��[�W���m����������%�v�����9�h��3~�~�����;�\9w�_���D��\w��I����1��]a�����T�/��WR������G�B�
�FI�9�
�'����Q���L;6�����w17����+hY��F.���>D�������{���S���y=�[�!�������1��������$U����CZ�?!�q�_b�1}e]!�9QX_���)S�(E�~A����e�*,3����&�{GV2�g+��)B�Re���3?�\��cVC���p�V��d�����+��g?�]���S�iX�/�W�2]r�;L�c��-Q��Uj���Hl>����<�����O���G�g�7'���{��/Y�2*�������Cp�~F�<���/1���������h�|<���%L�N��&)� uZ^>�if���.16/o��-�,16� ��L���N���xzz��������"?����,��1��xy�����n�73�������+�
!�B!���0.�hB!�B�O�a\��&,�B!��:����1LX!�B!>u�q�Gc��B!�B|�����0a!�B!����E�a���T�D�i���JH$9����N�OD�a����*���"�#I���9!"�p�0�����?.9&�p�`bc��@��� "28�Z!���0.�h����O��2q�M�%ZI�^�s����x�`��/�������IQ�������D&d�$G9>���Kx8Ge���P�sl����K,3n��*�W�����h?2\��A�����<?z���.���^�i���M%2���}���u�n�~L����7���~��[�/�P���|�*��9��o����?��_����L9����yq�1�~, �N��%%���q��/A��0+�����!o�B!22��>����E��u�\Yq�p�V�/��*�j������sp��"l�~9C �v+K����1�P��Z����a����/�p9��������.-�
��[k�����/����I�q88���3�{���do��Vjb�4d�Rc��
����{�~����3L����v���G�|��+���b�)�16'X��f��]$H����l�T)��Ifz ns�5JVu�H�?���h����I�_q
���NK�1C�������!�������0��i��+W��k..���-F���u,Q��g���
�*���m�`�Tgi�I8��W���na�R��S�d���K������}�weu�-�U2������iy��JU��l���� ����i���0.�.�����gSF1Si�������N+59���l=��������&���l�R���#s��\?�b���;�0G�������>���Y�Tc�P�!U�zwc�2�'o�{�o!�������1L�CE��f���9�a�a��C��}REru� #F�d�����j^��8�n�l[��oN�����%T�9��:s&c��Q�~������
�g��F��%���f�~�5�'m�3N�B��Lb��Q�1���-2)A/����o9z4c]��S��^4��+%�K;f���Sm�T���Vr���6����Q�9��,����[��W����U����-�����<}��(%p�Cg��~��7q�����UX�zCl�=w&���3y�0�=���)76Z�BE��G�3�eJmV|1�C&s~�q"����
����g�^�t������cv�=���!S8��WN�Z��K.����y����ql�o�;��_��1�����Vzk�R���?��x�I�5�#�`{���}���3_���{^��1�-g�5aF��8�I�6?[�8I�=s����p��/���/3���lW��D�_8�k2��������mo�� �����O���K��e#_=��O�9�kG�����;�cA�q
V��d\�n����pqK��*!��3ra�)Bu�Q�Gwr��*�1����c�si��&xJ
r������+Gz���!3������!�)�����\���NF�����}x|/�p�Vr.�������=�#�������{���������r\�p���c�'qd�T�N������B��{\3���r3���[���fqj�2���s���Lxr�S�[�8l���q��t���J���y.����>�9�w2g~���]������R���]�T1�<Y�FS.���S?m��]�v�����3�
�����%`3�+f)]����KJ�W�qq������>S8��&��"���������?oG�����v:�����Q�yt����q8/�n����9�{277[��{%K�Z_�P���g�.T��
���'�H����0�#}'qx�T�,�BX�r.�wpu�iB�y�~=G�����^Z�B�O�a\��&�!����y�"�j�%c&Ma���|5i^�Zi��G4�d��|3~
�O�����S�^n�GC�'?4+M��K�P��zI_����pu}1�f����e���m�F�oJ��M�t�G���y��W�.�N�G��������7����D90�o#j�m�Sf����Q�$����l[��fMK�F�>L�c6?�M�.=�[� ��]���t����H���{���Lk]��M[����L���)�hZ�E�����'���4������M}�x8�WLr��Q[!���%JU����Y7��E���f�����{��TV����W2qV1U��~�iT��|�"V����
���`{��8<�8��x��h�(F\>��I'��%������_���v����]��T���D|���0�?�V�)K�|��S�q��(L���U��{��3��Ab$w���Z_���X����EJ%L����{6���F�~��3�����x�-�����R�����]�2?^�M�� ���� k��`_�,�Y�Y�;s��SZ0��:���an�Vln2��M��d?���`�������Y^y�;OdW���V�rh�����cs���Q����w�����U��`}�����h&ys�b�PF���^YOr��Z�4[�#Z�AU�5a^�1�5���;��|?.�}��|��^���=��r�;�����5���/u�b�������>Y�o�_q�J}L�O�#��e�nV����F#���vU��l��=�nn����t�\��{�6��V��P� 3�
l}4�����1+����'rn�:�u��R���sh��bb��S�V����P&���U���o$N��������X__�_{�ug�R��m���c���v��!��%��}�i����8�m��@���������?`��%;UcE��d
S�9Z�1KL�=B&����X���5��}���N/�*eY��r�u�L��e�(�X\i �~��6��Y�+&Ji�V�W��$���C�a�b�������V�����X�� � ��uk��*l�~!�|����Y��,��
����*��4��|s�1J��\�N�/5�}����X;�T���/�5�%�B�e}4� �W�[~lW�
�f`�`xrh:�sTc�#�M_#�����3�M�i�X��o���J����T�[��N�����_����� V�O�N��S�a������g�zq�M�'����P�z�Et.gfS�pMN����fA��m5���vG��SQ�p��{��������F)��o����9���R�9�_�;���K;I�����S����7.�&1W����jNW;wdN����D���O��J,(��K�o��6��pm-�����(��r�I�Y���Z�0-�+�*1�sM�h[^�����:ZV�'���*��n���y� l��@R ��cN�����*�!/�W�6+;�#�����D��g�@�v��+]�~�u�`��S�7���o�&�O������,�-���i����>������ �V�pb�M"u����&�*�Y�m3�6�� {��h��b������� �
."�\eS����Bhj���yk��ha*u���C�1��(�����z�g���g�WXj��x�
Ju�
�K�^��;��EJu���|N����BM��4e���<� 48�D]�7��������{�bL�
Xj��������j������m(��i�����A�4-�YI�� �Q�+d�6�����+��#q���YJ]��� �F���*�
�;m����g�k������k�Np�����4����1����Vi�z�rQO��)O����6��*1� g��S�8P������>�.���������y�2=���,�6Y�r�����J5���S9�kGzN�H��������
;@��� ���KoQMz��
��[���"6�]KX�Tdq���x�;��8a���s
��S��J���_1Vj��i�t��7{��L)�B�i����:����5��l/����m"$��>gO��,�?Ks]Mv�bo���V�������z���=B!�'�0.�h~�����[Z������f�7(���I���(���=x"�i_� ���-Mb����2O3�(��(U�~��;���h�k���9�����|V�7�1�k���=���P�?��I�~&8�:j�k����-������ �-�L�� �w#m�2_^F�������W[�6��������q|L�3��(�}�D��1\{M�����
�X�w�&���Md���'ncq��J5���U.��y��f���<�FS����3�}��+mm,�����?�qIz{�M9k���v]w�dl'c�������s%�q�nsL�L�-R�o�^���o�������Jlvm'��%'D�c��k�8����F-XXr
o��Y ���sU�4g�U��/�d�R�9�u�������$e�QO�a����l��:Z�5WYVvX�������i18�^�:�A$�_�+�-8gv�'���������e��i��a�4�(u8��i�o?�8c�#�����^���P���UVz������h��/�����K���,S��~��l�!��xs��+������l��S�����/U��g^z��7f0V�sv�A92�������\��a�zV������h�a��
0-3W��,q�N�Z����'5�%�S�����u'm���X�Ta������zp ���0��;�ov���yY��J����.W�q<��M�����.M��`�}z�f����sp�jl�7����|����\���9Jol^d�R�z���<�>f�F���pv4������b8�7�Di� ������q�.W�q����E����FM����Q#1VZs��{���8��5s�M�=T�(X�E
��������r���J}����C��S����Gxq�m<,���-oOcg #��X���|~�&��8`[Z�n!��Se}4� ����U�,P�=vYTD���R�������8�_N��*q�U�hu�D#�v���]#��v����^me*��r>����UkQ�������n]��+J�F����|���NA�0�}+�1Z�$_����}�N����^��EK3��/*����S�����41N����@)��K������r`x�[}Q����]�b��7��`���j���k�b����wn������q���b<9^�1�E'��>D#�����aISS�t
�^��P���56*����X���%w����x��,,��z��u�L
�
�� pR|l�]� K*��s+g��_�@����{�f7{bB �-cG�A�,���z��`K�+��8�PzK@*����D1bm�Q��0��}���� �������#�%�1Si������T��N�*G�W��\l��y����~��N��;7�4gs�h��<mt�Z�0o}����ye����Ud�.��!��{`\bo<��N�j�������������`\f�>�_f;U=)Cn�����x�<���#Y[�+��vcu��,T������c���S~`�z��s��������>�V�c�8��e���#&��VoV����=Y��g�����c�b���R���_�e�W�d�R�?wj�������+����\OfG�f,�3G/mau���yJ=Ne|���f��DYip��������XQ�+K�fY���(�8�Z�B��,���4}���3�7s�,���e�t����,����F��u � 1��m�`�{/t��%`1�[f)=ypG����m��O�i�uy�N�(�����`�4������q�t���0 �>�����9oU����y���W�?u8:�:���{z�f��+�i>'yi����'0I�p���e�2?GM^�Z�s�`a�������9����Js���>^V!��T�E�a���y}u�g��,�P'�2�sn���'S����|*(u9���ys=U�V��������r�[[����<�k���S������o�������P���n�4�w{2&������v�n<����������?��)��9L��5X~�`v�XG��}�,��\��FkE�3��;��|��eJ���bo���}{$m����,������V��A���l��+�.ik���x�0������n[��9��=�o�?qB
��SZ�K��+�W��~����Lk�I��%a3v&�[����lm5���`�,�A@�MR��4`��c�{���,Rjstm�@0�*
��=4-}���$�'�dX�}W~�Dsgpw�st�����U=��L�)WN�A�C��2by���g�qe���i����9�h�J��+��:����~}g�J,k� }�uq���F���^�b���z-1Qw�����c�6����[�]���������1�������Y��
ga�����0"��dG��h��@�o����. 3�����
Y\n&>Y��L�}�Q������#�D����n���{0/�h�d�x:&J#.���v��`�g�xj��Gp�_?L��c]�alm=������UwlT����9�bm��N���
�XXb
�a��{r�}7f����M��y��1���X]���/��H'�m���Sx��� '7�q
pp#���`��,[�=�����,o����8Y� s+M�=D�����v]���#6[����0�4�YJ{n����F�^ac�������e�c���1��=�|~:i4(��u%�$(����X}.�h���:P����k~C��}��������@��T�st'����puT����1c��'�B|J����0��Iz{�f�s0p���"ME������>w����m�Us��5�8{F����%�Y�mk����VYN
��]������0o� ��fY�Tn3M36'+)��\:7��t��@�\9��j���������Y���kv����<�kep1[��\_��a}1 ��;jZ���d��p\:�Y�q'<��v�L������~#F�;���cv�p��So�T���
��M���t���z'Tx���Y�A�:�o7���B+��sTci�5�3�%�q�Wf�����=)!/�[�>���dbe��\����9�a� �E6��M���"#c��).����fY]SMk@*UR)*�;��EJY��x6}���+l�Y�e-��k�x9:��G����[�+s��+��v��'[H �b�pf)
8n�@�^�&���������&q����������_���������l��G����J56�?�E`��u�<L�J^�8�������X-7���&K#���?������&)��9T��F��� �q���
����5�<R|������Q����^���f��
�}{H��A��X��a���i�$x>�@�����������%?fw.#�������w<c�/�k��LS�������U1��G�=:��V��5NH���x>f�F,,6 ��>��^�i�;�J�kg����l��� 4 �������������o��Xm��w�EO{h��c��M���<����g2�s�dOkM ���&�2���#!��_�0.�h~�hvM�D��
�p�
��P��r��}� ��<�K����[y�Hx�7w�P%O^~��q���ec�\�,�����������g�����m\}�
������z�
�\/��z^F�����{���r��[xb�NXx(NO,8�����X"'g�G)���W����{,�N��|�!�I3��Th1�@Z���9c�e���y�2�(���VO*P��J-vO<�a�e���V���V��k�������kf*���,�I
���1V���[m����}�j33O?�����������`��<�Y�i��[�v{����@�H'N�j��x��l'�[��s��M�^�����cnv��YO={wK��,�=��g-q8y��C��(WuL�O�-�x�����-6�?�13xG~����i+X�f�N��~�v�o��B�����"%�����0Ki�����;}���p��c����Y��pm�(=���<�o�p�
7g����7�m�{>`o��T:qz�IN]�r� �J6c��ss���[26�*��������f�+�&�<�zf������1{��[t�w���P�'�6�7��V]���9����Xs��v���=H�~_���,P*���,.�����f.�6�����%�t���U���x��W[���Q�)5�9��&�H�}��R51�k��^�T����P*���c���%rg� �������+�r�d;w������e4%��#�1[i��?��p�S��Hc�(�9�^{�p^������]���w��{��m�3_��Yo]��Gb8��z��R�]��i�����<X����k�}fI<�e�fR����>��7�0K���U��}.�c�Tes�U�_�����������G��)���b��K�I:T1n�����~�u�M����?��DS�_�������+�a�a�L��\�\��U{�v�`g�j�����+.h���������I5�N����
��%��mR?M���!L!��T�E�a�B�����(Z�-;w�E�
����t������_�]���-���`���<5Mt�L�By(�z
�7�X_���2�����t���r�3t�am���*�����C���z}q�+�j�t����UKR��x^�h��!�,��%���[/Z7m�O�f�������0�9]���c��+�s�� ���k�f�Y6-e:��G�P�KK��+�������bM���hb�{�^�E�r�Eg���@%9��h��6��������,��P;���O��|e7�>o��������v���^������c�����vq�����`��o���MY�4a���yJE��4�=4��q�����o(�����!KJ�|������}�e;�����,.���<�������`/n����1U��@i�����J��QC���Cl�����z���W�st�=]�3����^��f��R�J]V���+���j�8o]����X�� W'N�8���I,+9 � ��TQ�X��#��5�������c���,/7�7�T��N��`'n]1"c�[i���Y�4`a�N��K�y�.2�������������,-��yZ��c)F,)<� �z|����Hi��7�.K����m��qq�6��}����c���z�9U��h�i��\������>GZ�a��MY�C��b��&�[�j
���L������)��E�c��C�`���������� �����Q�8+S�!k����c�����&������k��q}���_�X���� S�1)��+�����A�������89<P��p�pL
����6p����P��,���9���t���bo�.[�k����t�6,�>�p��e��l)������s��N����������V`�� [w���G�uR�u���k��������l��Vs����R�eu��A�
�����`W�^�����y���
J����M!���E�a�.� �7<{l������Fg�'G�����<��/��}�O`T��yB|�x���GO^���Ol������k��K���3=z���;�Q����qu���-����\JLa���O
�!��D�n����*��� �c����*!�h� ��2�bR����1�vr"�AD�Fg������
"&2c��m���i�jDk�Srt$��!$h�e�����|��H$���}U�����.�D��F����7e�2�W�YU\$!o� p�$2D�Ia���5XOBxQ��$���d���$�����B|6�e ��9���x�N����;��@lT�
Ey����F�o��|��"* *�����x���z�e�QD���C�aaD�{��U�����M�[7�(9�h���t��}�d�CB��W��Q������A:���?-�b��I�U��c�5�����Pb�:�� ��4[��f�w���I+7��6�-V��E��MN�"���@M�d$N�^�c��� Wbu�O\p�q*��Rz��c���y��N�_��3�R�����)@
�!�<�Xv�B5y��������������Db|��U�/�J}�����%G�k~�z��X����������j !!�x���-�z�NQ�o�$%��d|�_���/�|B!������0a!��h�w�T�'�A���c�-�QX;�a���[���e�g���qI�����U���^L{���]�?��B!������0a!����YS��Tfc��X����=��2�WV�j������dn������~4��l���.�t�q.|;�e9�q��������NO!��V�q�Gc���I��v�Zv7�����������v1������y� ����K�Z����gu�o80f%��'��\�G����B��d}4� �>I1������BJ������������ !����0.�hB!�B�O�a\��&,�B!��:����1LX!�B!>u�q�Gc��B!�B|�����0a!�B!����E�a�B!�B��3��>���B!��Sg}4� !�B!���0.�hB!�B�O�a\��&,�B!��:����1LX!�B!>u�q�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!�B!��[����
�+`� IEND�B`�V2-0001 Get rid Section n.n.n.n from DOCs.diffapplication/octet-stream; name="V2-0001 Get rid Section n.n.n.n from DOCs.diff"Download
From 7deb0cbc251a608f4356724fee7dece22b204523 Mon Sep 17 00:00:00 2001
From: PegoraroF10 <marcos@f10.com.br>
Date: Wed, 31 Dec 2025 14:58:22 -0300
Subject: [PATCH] Changed XSL files to remove Section n.n.n.n from DOC HTML
files
---
doc/src/sgml/stylesheet-common.xsl | 2 +-
doc/src/sgml/stylesheet-html-common.xsl | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/doc/src/sgml/stylesheet-common.xsl b/doc/src/sgml/stylesheet-common.xsl
index a2e3db67a32..437073bf725 100644
--- a/doc/src/sgml/stylesheet-common.xsl
+++ b/doc/src/sgml/stylesheet-common.xsl
@@ -41,7 +41,7 @@
<xsl:param name="punct.honorific" select="''"></xsl:param>
<xsl:param name="variablelist.term.break.after">1</xsl:param>
<xsl:param name="variablelist.term.separator"></xsl:param>
-<xsl:param name="xref.with.number.and.title" select="0"></xsl:param>
+<xsl:param name="xref.with.number.and.title" select="1"></xsl:param>
<!--
This is the default setting, but putting it here makes sure the variable
diff --git a/doc/src/sgml/stylesheet-html-common.xsl b/doc/src/sgml/stylesheet-html-common.xsl
index 9dcf96c02e5..e6a60bb32f2 100644
--- a/doc/src/sgml/stylesheet-html-common.xsl
+++ b/doc/src/sgml/stylesheet-html-common.xsl
@@ -63,6 +63,21 @@
</span>
</xsl:template>
+<!--
+ Templates to remove section n.n.n.n
+ -->
+<xsl:param name="local.l10n.xml" select="document('')"/>
+<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
+ <l:l10n language="en">
+ <l:context name="xref-number-and-title">
+ <l:template name="appendix" text="Appendix %n: “%t”"/>
+ <l:template name="chapter" text="%t"/>
+ <l:template name="sect1" text="%t"/>
+ <l:template name="sect2" text="%t"/>
+ <l:template name="sect3" text="%t"/>
+ </l:context>
+ </l:l10n>
+</l:i18n>
<!-- table of contents configuration -->
--
2.51.2.windows.1
On Sun, Dec 28, 2025 at 12:15 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Peter Eisentraut <peter@eisentraut.org> writes:
On 21.12.25 11:55, Marcos Pegoraro wrote:
Now we have - "Section 23.3.1"
Changing back that commit will show - "Section 23.3.1, “Supported
Character Sets”."
But we want only - "Supported Character Sets"Personally, I don't want that. I think changing to section number plus
title could have some merit, but just the title seems inferior to me.
But that's just me.I'm mildly in favor of title-only for output formats where the title
is a hyperlink: the section number seems like unnecessary verbiage
if you have something you can click on. However, if there's anyone
out there still printing on dead trees, or using ancient PDF readers
that don't do hyperlinks, loss of the section number would be pretty
catastrophic for following the link. So this really needs to be
output-format-dependent, which suggests that we could make it adapt
to readers' preferences too: provide some option to decide whether to
include title or section number or both.
FWIW, I also lean towards Peter's feeling that if we are going to make
the change, (and I'm not particularly sold on it), that section number
+ title would be my choice.
The surrounding text already gives context as to what we will find in
those linked references, so I don't feel like the title adds much. But
the numbers do provide some subtle clues as to the relationship of the
linked references to the page we are on AND other references within
that page. For example, on a (random) page like
https://www.postgresql.org/docs/current/runtime-config-statistics.html,
I can see that I am in 19.9, and the first reference is for "Refer to
Chapter 27 for more information."; that's a much different section
than the one I am in which implies much more than "Refer to Monitoring
Database Activity for more information." would imply.
Similarly,further down the page when it suggests "see Section
19.10.2", that's a rather local piece of information relative to the
section I am already in. This may not seem like something that
important or that people even notice, but think of it as a structural
device like "royal order of adjectives" that people understand and
make use of even if they don't realize that is what they are doing.
This also comes in to play in sections like the index or glossary,
where we are linking to different sections of the docs for the same
term, with the chapter/section numbers providing hints at the general
proximity of data within the overall documentation. So as Tom notices
that for folks working from non-hyperlinked the need for these
markers, I think they are also quite helpful for folks navigating
hyperlink driven materials as well.
Robert Treat
https://xzilla.net
Em qua., 31 de dez. de 2025 às 21:03, Robert Treat <rob@xzilla.net>
escreveu:
The surrounding text already gives context as to what we will find in
those linked references,
My intention here is to read and rewrite all texts that need revision, so
the surrounding text will probably change as well. When reading documents,
we need to open the link or hover the mouse over it to read the link to see
that that is not what we want, before returning to reading, so it's quite
common to get lost in the text because of this back and forth.
Instead of
There are currently four procedural languages available in the standard
PostgreSQL distribution: PL/pgSQL (Chapter 41
<https://www.postgresql.org/docs/current/plpgsql.html>), PL/Tcl (Chapter 42
<https://www.postgresql.org/docs/current/pltcl.html>), PL/Perl (Chapter 43
<https://www.postgresql.org/docs/current/plperl.html>), and PL/Python (
PL/Python <https://www.postgresql.org/docs/current/plpython.html>).
Wouldn't it be better to have a paragraph like this ?
There are currently four procedural languages available in the standard
PostgreSQL distribution: PL/pgSQL
<https://www.postgresql.org/docs/current/plpgsql.html>, PL/Tcl
<https://www.postgresql.org/docs/current/pltcl.html>, PL/Perl
<https://www.postgresql.org/docs/current/plperl.html> and PL/Python
<https://www.postgresql.org/docs/current/plpython.html>.
So I don't care if that link is a section, a appendix, a chapter, I'm sure
I'll go there only if I really want.
But the numbers do provide some subtle clues as to the relationship of the
linked references to the page we are on AND other references within
that page.
Well, if a link was written on that page, independently if it's a chapter,
a GUC, a section, it's important for the user to know. And again, I don't
care if I'm jumping to a distant section or chapter, it's important to
understand entirely the page I'm reading.
So, my intention here is to provide the user with continuous reading. If I
read a paragraph with links but it's displayed as if it were in a book
without footnotes, it gives me a much faster and easier reading experience.
If I have to stop my reading to open other links because I don't know if
they're important or not, or also bad ignore some words, the reading isn't
as productive.
regards
Marcos
On Thu, Jan 1, 2026 at 7:21 AM Marcos Pegoraro <marcos@f10.com.br> wrote:
Em qua., 31 de dez. de 2025 às 21:03, Robert Treat <rob@xzilla.net> escreveu:
The surrounding text already gives context as to what we will find in
those linked references,My intention here is to read and rewrite all texts that need revision, so the surrounding text will probably change as well. When reading documents, we need to open the link or hover the mouse over it to read the link to see that that is not what we want, before returning to reading, so it's quite common to get lost in the text because of this back and forth.
Instead of
There are currently four procedural languages available in the standard PostgreSQL distribution: PL/pgSQL (Chapter 41), PL/Tcl (Chapter 42), PL/Perl (Chapter 43), and PL/Python (PL/Python).
Wouldn't it be better to have a paragraph like this ?
There are currently four procedural languages available in the standard PostgreSQL distribution: PL/pgSQL, PL/Tcl, PL/Perl and PL/Python.So I don't care if that link is a section, a appendix, a chapter, I'm sure I'll go there only if I really want.
I do understand your intention, and I don't think it is better. You
say you will only go there if you really want, but it's harder for
readers to know if they really want to go there when you remove the
information delivered via those chapter numbers. We help the reader
understand that things like plpgsql and pltcl are so close to our
current topic that they are in the very next chapters, but writing
your own pl isn't as relevant to the current reading given we've put
it farther away; in other words there is a lot of material between
here (chapter 40) and writing your own procedural language (chapter
57) that we think you'd probably want to read about first if you are
just reading through rather than searching for something specific. And
while you say you don't care if the material is in another chapter or
appendix, it does convey something to the reader that we think this
information can be completely sectioned off from the main manual by
itself. And I would note, even you did not remove the appendix heading
in your previous example ("Appendix H: External Projects has
information..."), and it seems clear to me there would be information
loss if you had done so.
But the numbers do provide some subtle clues as to the relationship of the
linked references to the page we are on AND other references within
that page.Well, if a link was written on that page, independently if it's a chapter, a GUC, a section, it's important for the user to know. And again, I don't care if I'm jumping to a distant section or chapter, it's important to understand entirely the page I'm reading.
So, my intention here is to provide the user with continuous reading. If I read a paragraph with links but it's displayed as if it were in a book without footnotes, it gives me a much faster and easier reading experience. If I have to stop my reading to open other links because I don't know if they're important or not, or also bad ignore some words, the reading isn't as productive.
What you're proposing makes more sense if we were writing prose or
blog posts or similar works, but we're making educational
documentation that serves as a user manual and reference guide.
On the web, where a link can take you to any other place in the world,
giving the reader some sense of directions can be extremely grounding,
and chapters, sections, and appendexis aren't some kind of
afterthought; for what we're building, all those pieces matter.
Robert Treat
https://xzilla.net