On 2023-Jan-19, Karl O. Pinc wrote:

> On Thu, 19 Jan 2023 11:03:53 -0600
> "Karl O. Pinc" <k...@karlpinc.com> wrote:
> 
> > Attached are 2 patches, a regular and a delta from your v4 review:
> > 
> > contrib_v5-delta.patch.txt
> > contrib_v5.patch.txt
> 
> I left your appendix title unchanged: "Additional Supplied 
> Extensions and Modules".  
> 
> I had put "Extensions" after
> "Modules", because, apparently, things that come last in the
> sentence are most remembered by the reader. My impression is that
> more people are looking for extensions than modules.

Hmm, I didn't know that.  I guess I can put it back.  My own instinct is
to put the most important stuff first, not last, but if research says to
do otherwise, fine, let's do that.

I went over all the titles again.  There were a couple of mistakes
and inconsistencies, which I've fixed to the best of my knowledge.
I'm happy with 0001 now and will push shortly unless there are
complaints.

I'm still unsure of the [trusted]/[obsolete] marker, so I split that out
to commit 0002.  I would like to see more support for that before
pushing that one.

I also put the page-split bits to another page, because it seems a bit
too clumsy.  I hope somebody with more docbook-fu can comment: maybe
there's a way to fix it more generally somehow?

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"Update: super-fast reaction on the Postgres bugs mailing list. The report
was acknowledged [...], and a fix is under discussion.
The wonders of open-source !"
             https://twitter.com/gunnarmorling/status/1596080409259003906
>From 15cf3a5607ec73900c5e3bb343ab687f1e6990c1 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Thu, 19 Jan 2023 13:32:35 +0100
Subject: [PATCH v6 1/3] Describe each contrib module in its SGML section title

The original titles only had the module name, which is not very useful
when scanning the list.  By adding a very brief description to each
title, the table of contents becomes friendlier.

Author: Karl O. Pinc <k...@karlpinc.com>
Reviewed-by: Brar Piening <b...@gmx.de>
Discussion: https://postgr.es/m/20230102180015.37299...@slate.karlpinc.com
---
 doc/src/sgml/adminpack.sgml           |  2 +-
 doc/src/sgml/amcheck.sgml             |  2 +-
 doc/src/sgml/auth-delay.sgml          |  2 +-
 doc/src/sgml/auto-explain.sgml        |  2 +-
 doc/src/sgml/basebackup-to-shell.sgml |  2 +-
 doc/src/sgml/basic-archive.sgml       |  2 +-
 doc/src/sgml/bloom.sgml               |  2 +-
 doc/src/sgml/btree-gin.sgml           |  4 +--
 doc/src/sgml/btree-gist.sgml          |  2 +-
 doc/src/sgml/citext.sgml              |  2 +-
 doc/src/sgml/contrib-spi.sgml         |  2 +-
 doc/src/sgml/contrib.sgml             | 49 +++++++++++++++------------
 doc/src/sgml/cube.sgml                |  2 +-
 doc/src/sgml/dblink.sgml              |  2 +-
 doc/src/sgml/dict-int.sgml            |  3 +-
 doc/src/sgml/dict-xsyn.sgml           |  2 +-
 doc/src/sgml/earthdistance.sgml       |  2 +-
 doc/src/sgml/file-fdw.sgml            |  2 +-
 doc/src/sgml/fuzzystrmatch.sgml       |  3 +-
 doc/src/sgml/hstore.sgml              |  2 +-
 doc/src/sgml/intagg.sgml              |  2 +-
 doc/src/sgml/intarray.sgml            |  2 +-
 doc/src/sgml/isn.sgml                 |  2 +-
 doc/src/sgml/lo.sgml                  |  2 +-
 doc/src/sgml/ltree.sgml               |  2 +-
 doc/src/sgml/oldsnapshot.sgml         |  2 +-
 doc/src/sgml/pageinspect.sgml         |  2 +-
 doc/src/sgml/passwordcheck.sgml       |  2 +-
 doc/src/sgml/pgbuffercache.sgml       |  2 +-
 doc/src/sgml/pgcrypto.sgml            |  2 +-
 doc/src/sgml/pgfreespacemap.sgml      |  2 +-
 doc/src/sgml/pgprewarm.sgml           |  2 +-
 doc/src/sgml/pgrowlocks.sgml          |  2 +-
 doc/src/sgml/pgstatstatements.sgml    |  3 +-
 doc/src/sgml/pgstattuple.sgml         |  2 +-
 doc/src/sgml/pgsurgery.sgml           |  2 +-
 doc/src/sgml/pgtrgm.sgml              |  3 +-
 doc/src/sgml/pgvisibility.sgml        |  2 +-
 doc/src/sgml/pgwalinspect.sgml        |  2 +-
 doc/src/sgml/postgres-fdw.sgml        |  3 +-
 doc/src/sgml/seg.sgml                 |  2 +-
 doc/src/sgml/sepgsql.sgml             |  3 +-
 doc/src/sgml/sslinfo.sgml             |  2 +-
 doc/src/sgml/tablefunc.sgml           |  2 +-
 doc/src/sgml/tcn.sgml                 |  2 +-
 doc/src/sgml/test-decoding.sgml       |  2 +-
 doc/src/sgml/tsm-system-rows.sgml     |  3 +-
 doc/src/sgml/tsm-system-time.sgml     |  3 +-
 doc/src/sgml/unaccent.sgml            |  2 +-
 doc/src/sgml/uuid-ossp.sgml           |  2 +-
 doc/src/sgml/xml2.sgml                |  2 +-
 51 files changed, 86 insertions(+), 73 deletions(-)

diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml
index 184e96d7a0..04f3b52379 100644
--- a/doc/src/sgml/adminpack.sgml
+++ b/doc/src/sgml/adminpack.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/adminpack.sgml -->
 
 <sect1 id="adminpack" xreflabel="adminpack">
- <title>adminpack</title>
+ <title>adminpack &mdash; pgAdmin support toolpack</title>
 
  <indexterm zone="adminpack">
   <primary>adminpack</primary>
diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml
index 923cbde9dd..2b9c1a9205 100644
--- a/doc/src/sgml/amcheck.sgml
+++ b/doc/src/sgml/amcheck.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/amcheck.sgml -->
 
 <sect1 id="amcheck" xreflabel="amcheck">
- <title>amcheck</title>
+ <title>amcheck &mdash; tools to verify table and index consistency</title>
 
  <indexterm zone="amcheck">
   <primary>amcheck</primary>
diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml
index 40629311b1..0571f2a99d 100644
--- a/doc/src/sgml/auth-delay.sgml
+++ b/doc/src/sgml/auth-delay.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/auth-delay.sgml -->
 
 <sect1 id="auth-delay" xreflabel="auth_delay">
- <title>auth_delay</title>
+ <title>auth_delay &mdash; pause on authentication failure</title>
 
  <indexterm zone="auth-delay">
   <primary>auth_delay</primary>
diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml
index bb7342b120..0c4656ee30 100644
--- a/doc/src/sgml/auto-explain.sgml
+++ b/doc/src/sgml/auto-explain.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/auto-explain.sgml -->
 
 <sect1 id="auto-explain" xreflabel="auto_explain">
- <title>auto_explain</title>
+ <title>auto_explain &mdash; log execution plans of slow queries</title>
 
  <indexterm zone="auto-explain">
   <primary>auto_explain</primary>
diff --git a/doc/src/sgml/basebackup-to-shell.sgml b/doc/src/sgml/basebackup-to-shell.sgml
index 491368eb8f..b6a3b39541 100644
--- a/doc/src/sgml/basebackup-to-shell.sgml
+++ b/doc/src/sgml/basebackup-to-shell.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/basebackup-to-shell.sgml -->
 
 <sect1 id="basebackup-to-shell" xreflabel="basebackup_to_shell">
- <title>basebackup_to_shell</title>
+ <title>basebackup_to_shell &mdash; example "shell" pg_basebackup module</title>
 
  <indexterm zone="basebackup-to-shell">
   <primary>basebackup_to_shell</primary>
diff --git a/doc/src/sgml/basic-archive.sgml b/doc/src/sgml/basic-archive.sgml
index 60f23d2855..b4d43ced20 100644
--- a/doc/src/sgml/basic-archive.sgml
+++ b/doc/src/sgml/basic-archive.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/basic-archive.sgml -->
 
 <sect1 id="basic-archive" xreflabel="basic_archive">
- <title>basic_archive</title>
+ <title>basic_archive &mdash; an example WAL archive module</title>
 
  <indexterm zone="basic-archive">
   <primary>basic_archive</primary>
diff --git a/doc/src/sgml/bloom.sgml b/doc/src/sgml/bloom.sgml
index 98d0316175..19f2b172cc 100644
--- a/doc/src/sgml/bloom.sgml
+++ b/doc/src/sgml/bloom.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/bloom.sgml -->
 
 <sect1 id="bloom" xreflabel="bloom">
- <title>bloom</title>
+ <title>bloom &mdash; bloom filter index access method</title>
 
  <indexterm zone="bloom">
   <primary>bloom</primary>
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index 870c25559e..46117209ce 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -1,14 +1,14 @@
 <!-- doc/src/sgml/btree-gin.sgml -->
 
 <sect1 id="btree-gin" xreflabel="btree_gin">
- <title>btree_gin</title>
+ <title>btree_gin &mdash; GIN operator classes with B-tree behavior</title>
 
  <indexterm zone="btree-gin">
   <primary>btree_gin</primary>
  </indexterm>
 
  <para>
-  <filename>btree_gin</filename> provides sample GIN operator classes that
+  <filename>btree_gin</filename> provides GIN operator classes that
   implement B-tree equivalent behavior for the data types
   <type>int2</type>, <type>int4</type>, <type>int8</type>, <type>float4</type>,
   <type>float8</type>, <type>timestamp with time zone</type>,
diff --git a/doc/src/sgml/btree-gist.sgml b/doc/src/sgml/btree-gist.sgml
index 92aa8e277e..31e7c78aae 100644
--- a/doc/src/sgml/btree-gist.sgml
+++ b/doc/src/sgml/btree-gist.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/btree-gist.sgml -->
 
 <sect1 id="btree-gist" xreflabel="btree_gist">
- <title>btree_gist</title>
+ <title>btree_gist &mdash; GiST operator classes with B-tree behavior</title>
 
  <indexterm zone="btree-gist">
   <primary>btree_gist</primary>
diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml
index 3df2825592..8322885661 100644
--- a/doc/src/sgml/citext.sgml
+++ b/doc/src/sgml/citext.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/citext.sgml -->
 
 <sect1 id="citext" xreflabel="citext">
- <title>citext</title>
+ <title>citext &mdash; a case-insensitive character string type</title>
 
  <indexterm zone="citext">
   <primary>citext</primary>
diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml
index 77328ae6e8..e7cae4e38d 100644
--- a/doc/src/sgml/contrib-spi.sgml
+++ b/doc/src/sgml/contrib-spi.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/contrib-spi.sgml -->
 
 <sect1 id="contrib-spi" xreflabel="spi">
- <title>spi</title>
+ <title>spi &mdash; Server Programming Interface features/examples</title>
 
  <indexterm zone="contrib-spi">
   <primary>SPI</primary>
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 4e7b87a42f..8816e06337 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -1,27 +1,31 @@
 <!-- doc/src/sgml/contrib.sgml -->
 
 <appendix id="contrib">
- <title>Additional Supplied Modules</title>
+ <title>Additional Supplied Extensions and Modules</title>
 
  <para>
-  This appendix and the next one contain information regarding the modules that
-  can be found in the <literal>contrib</literal> directory of the
+  This appendix and the next one contain information on the
+  optional components
+  found in the <literal>contrib</literal> directory of the
   <productname>PostgreSQL</productname> distribution.
   These include porting tools, analysis utilities,
-  and plug-in features that are not part of the core PostgreSQL system,
-  mainly because they address a limited audience or are too experimental
+  and plug-in features that are not part of the core PostgreSQL system.
+  They are separate mainly
+  because they address a limited audience or are too experimental
   to be part of the main source tree.  This does not preclude their
   usefulness.
  </para>
 
  <para>
-  This appendix covers extensions and other server plug-in modules found in
+  This appendix covers extensions and other server plug-in module
+  libraries found in
   <literal>contrib</literal>.  <xref linkend="contrib-prog"/> covers utility
   programs.
  </para>
 
  <para>
-  When building from the source distribution, these components are not built
+  When building from the source distribution, these optional
+  components are not built
   automatically, unless you build the "world" target
   (see <xref linkend="build"/>).
   You can build and install all of them by running:
@@ -46,41 +50,42 @@
 
  <para>
   If you are using a pre-packaged version of <productname>PostgreSQL</productname>,
-  these modules are typically made available as a separate subpackage,
+  these components are typically made available as a separate subpackage,
   such as <literal>postgresql-contrib</literal>.
  </para>
 
  <para>
-  Many modules supply new user-defined functions, operators, or types.
-  To make use of one of these modules, after you have installed the code
+  Many components supply new user-defined functions, operators, or types,
+  packaged as <firstterm>extensions</firstterm>.
+  To make use of one of these extensions, after you have installed the code
   you need to register the new SQL objects in the database system.
   This is done by executing
   a <xref linkend="sql-createextension"/> command.  In a fresh database,
   you can simply do
 
 <programlisting>
-CREATE EXTENSION <replaceable>module_name</replaceable>;
+CREATE EXTENSION <replaceable>extension_name</replaceable>;
 </programlisting>
 
-  This command registers the new SQL objects in the current database only,
-  so you need to run it in each database that you want
-  the module's facilities to be available in.  Alternatively, run it in
+  This command only registers the new SQL objects in the current database,
+  so you need to run it in every database in which you want
+  the extension's facilities to be available.  Alternatively, run it in
   database <literal>template1</literal> so that the extension will be copied into
   subsequently-created databases by default.
  </para>
 
  <para>
-  For all these modules, <command>CREATE EXTENSION</command> must be run
-  by a database superuser, unless the module is
-  considered <quote>trusted</quote>, in which case it can be run by any
+  For all extensions the <command>CREATE EXTENSION</command> must be run
+  by a database superuser, unless the extension is
+  considered <quote>trusted</quote>.  Trusted extensions can be run by any
   user who has <literal>CREATE</literal> privilege on the current
-  database.  Modules that are trusted are identified as such in the
-  sections that follow.  Generally, trusted modules are ones that cannot
+  database.  Extensions that are trusted are identified as such in the
+  sections that follow.  Generally, trusted extensions are ones that cannot
   provide access to outside-the-database functionality.
  </para>
 
  <para>
-  Many modules allow you to install their objects in a schema of your
+  Many extensions allow you to install their objects in a schema of your
   choice.  To do that, add <literal>SCHEMA
   <replaceable>schema_name</replaceable></literal> to the <command>CREATE EXTENSION</command>
   command.  By default, the objects will be placed in your current creation
@@ -88,11 +93,11 @@ CREATE EXTENSION <replaceable>module_name</replaceable>;
  </para>
 
  <para>
-  Note, however, that some of these modules are not <quote>extensions</quote>
+  Note, however, that some of these components are not <quote>extensions</quote>
   in this sense, but are loaded into the server in some other way, for instance
   by way of
   <xref linkend="guc-shared-preload-libraries"/>.  See the documentation of each
-  module for details.
+  component for details.
  </para>
 
  &adminpack;
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index 0744816e7c..0fb7080748 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/cube.sgml -->
 
 <sect1 id="cube" xreflabel="cube">
- <title>cube</title>
+ <title>cube &mdash; a multi-dimensional cube data type</title>
 
  <indexterm zone="cube">
   <primary>cube (extension)</primary>
diff --git a/doc/src/sgml/dblink.sgml b/doc/src/sgml/dblink.sgml
index 50c49f533b..17f9d99b1c 100644
--- a/doc/src/sgml/dblink.sgml
+++ b/doc/src/sgml/dblink.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/dblink.sgml -->
 
 <sect1 id="dblink" xreflabel="dblink">
- <title>dblink</title>
+ <title>dblink &mdash; connect to other PostgreSQL databases</title>
 
  <indexterm zone="dblink">
   <primary>dblink</primary>
diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml
index 53ae8b6637..8dd07b9bc1 100644
--- a/doc/src/sgml/dict-int.sgml
+++ b/doc/src/sgml/dict-int.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/dict-int.sgml -->
 
 <sect1 id="dict-int" xreflabel="dict_int">
- <title>dict_int</title>
+ <title>dict_int &mdash;
+   example full-text search dictionary for integers</title>
 
  <indexterm zone="dict-int">
   <primary>dict_int</primary>
diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml
index 27b24628d4..a94c6430ed 100644
--- a/doc/src/sgml/dict-xsyn.sgml
+++ b/doc/src/sgml/dict-xsyn.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/dict-xsyn.sgml -->
 
 <sect1 id="dict-xsyn" xreflabel="dict_xsyn">
- <title>dict_xsyn</title>
+ <title>dict_xsyn &mdash; example synonym full-text search dictionary</title>
 
  <indexterm zone="dict-xsyn">
   <primary>dict_xsyn</primary>
diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml
index f15dde3a66..5a709e3d47 100644
--- a/doc/src/sgml/earthdistance.sgml
+++ b/doc/src/sgml/earthdistance.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/earthdistance.sgml -->
 
 <sect1 id="earthdistance" xreflabel="earthdistance">
- <title>earthdistance</title>
+ <title>earthdistance &mdash; calculate great-circle distances</title>
 
  <indexterm zone="earthdistance">
   <primary>earthdistance</primary>
diff --git a/doc/src/sgml/file-fdw.sgml b/doc/src/sgml/file-fdw.sgml
index 5b98782064..56d696c323 100644
--- a/doc/src/sgml/file-fdw.sgml
+++ b/doc/src/sgml/file-fdw.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/file-fdw.sgml -->
 
 <sect1 id="file-fdw" xreflabel="file_fdw">
- <title>file_fdw</title>
+ <title>file_fdw &mdash; access data files in the server's file system</title>
 
  <indexterm zone="file-fdw">
   <primary>file_fdw</primary>
diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml
index 5dedbd8f7a..860f021815 100644
--- a/doc/src/sgml/fuzzystrmatch.sgml
+++ b/doc/src/sgml/fuzzystrmatch.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/fuzzystrmatch.sgml -->
 
 <sect1 id="fuzzystrmatch" xreflabel="fuzzystrmatch">
- <title>fuzzystrmatch</title>
+ <title>fuzzystrmatch &mdash;
+   determine string similarities and distance</title>
 
  <indexterm zone="fuzzystrmatch">
   <primary>fuzzystrmatch</primary>
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 815ef641a0..7d93e49e91 100644
--- a/doc/src/sgml/hstore.sgml
+++ b/doc/src/sgml/hstore.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/hstore.sgml -->
 
 <sect1 id="hstore" xreflabel="hstore">
- <title>hstore</title>
+ <title>hstore &mdash; hstore key/value datatype</title>
 
  <indexterm zone="hstore">
   <primary>hstore</primary>
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
index 34562a66c8..44a766eb4b 100644
--- a/doc/src/sgml/intagg.sgml
+++ b/doc/src/sgml/intagg.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/intagg.sgml -->
 
 <sect1 id="intagg" xreflabel="intagg">
- <title>intagg</title>
+ <title>intagg &mdash; integer aggregator and enumerator</title>
 
  <indexterm zone="intagg">
   <primary>intagg</primary>
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index c861f50497..c72d49b01d 100644
--- a/doc/src/sgml/intarray.sgml
+++ b/doc/src/sgml/intarray.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/intarray.sgml -->
 
 <sect1 id="intarray" xreflabel="intarray">
- <title>intarray</title>
+ <title>intarray &mdash; manipulate arrays of integers</title>
 
  <indexterm zone="intarray">
   <primary>intarray</primary>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index 14bf2d14aa..ea2aabc87d 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/isn.sgml -->
 
 <sect1 id="isn" xreflabel="isn">
- <title>isn</title>
+ <title>isn &mdash; data types for international standard numbers (ISBN, EAN, UPC, etc.)</title>
 
  <indexterm zone="isn">
   <primary>isn</primary>
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
index d6076aeb7f..6d9bcebd42 100644
--- a/doc/src/sgml/lo.sgml
+++ b/doc/src/sgml/lo.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/lo.sgml -->
 
 <sect1 id="lo" xreflabel="lo">
- <title>lo</title>
+ <title>lo &mdash; manage large objects</title>
 
  <indexterm zone="lo">
   <primary>lo</primary>
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
index 45a86188cb..bb66e33944 100644
--- a/doc/src/sgml/ltree.sgml
+++ b/doc/src/sgml/ltree.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/ltree.sgml -->
 
 <sect1 id="ltree" xreflabel="ltree">
- <title>ltree</title>
+ <title>ltree &mdash; hierarchical tree-like data type</title>
 
  <indexterm zone="ltree">
   <primary>ltree</primary>
diff --git a/doc/src/sgml/oldsnapshot.sgml b/doc/src/sgml/oldsnapshot.sgml
index 0e03084562..2e37087738 100644
--- a/doc/src/sgml/oldsnapshot.sgml
+++ b/doc/src/sgml/oldsnapshot.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/oldsnapshot.sgml -->
 
 <sect1 id="oldsnapshot" xreflabel="old_snapshot">
- <title>old_snapshot</title>
+ <title>old_snapshot &mdash; inspect <literal>old_snapshot_threshold</literal> state</title>
 
  <indexterm zone="oldsnapshot">
   <primary>old_snapshot</primary>
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
index 8674872e8b..01f1e96204 100644
--- a/doc/src/sgml/pageinspect.sgml
+++ b/doc/src/sgml/pageinspect.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pageinspect.sgml -->
 
 <sect1 id="pageinspect" xreflabel="pageinspect">
- <title>pageinspect</title>
+ <title>pageinspect &mdash; low-level inspection of database pages</title>
 
  <indexterm zone="pageinspect">
   <primary>pageinspect</primary>
diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml
index 0d89bb95b9..601f489227 100644
--- a/doc/src/sgml/passwordcheck.sgml
+++ b/doc/src/sgml/passwordcheck.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/passwordcheck.sgml -->
 
 <sect1 id="passwordcheck" xreflabel="passwordcheck">
- <title>passwordcheck</title>
+ <title>passwordcheck &mdash; verify password strength</title>
 
  <indexterm zone="passwordcheck">
   <primary>passwordcheck</primary>
diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml
index 7b118f2030..f5d1901af2 100644
--- a/doc/src/sgml/pgbuffercache.sgml
+++ b/doc/src/sgml/pgbuffercache.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgbuffercache.sgml -->
 
 <sect1 id="pgbuffercache" xreflabel="pg_buffercache">
- <title>pg_buffercache</title>
+ <title>pg_buffercache &mdash; inspect Postgres buffer cache state</title>
 
  <indexterm zone="pgbuffercache">
   <primary>pg_buffercache</primary>
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index bde3071923..2e29f1d6f7 100644
--- a/doc/src/sgml/pgcrypto.sgml
+++ b/doc/src/sgml/pgcrypto.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgcrypto.sgml -->
 
 <sect1 id="pgcrypto" xreflabel="pgcrypto">
- <title>pgcrypto</title>
+ <title>pgcrypto &mdash; cryptographic functions</title>
 
  <indexterm zone="pgcrypto">
   <primary>pgcrypto</primary>
diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml
index 9d93fb5a72..829ad60f32 100644
--- a/doc/src/sgml/pgfreespacemap.sgml
+++ b/doc/src/sgml/pgfreespacemap.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgfreespacemap.sgml -->
 
 <sect1 id="pgfreespacemap" xreflabel="pg_freespacemap">
- <title>pg_freespacemap</title>
+ <title>pg_freespacemap &mdash; examine the free space map</title>
 
  <indexterm zone="pgfreespacemap">
   <primary>pg_freespacemap</primary>
diff --git a/doc/src/sgml/pgprewarm.sgml b/doc/src/sgml/pgprewarm.sgml
index e103a2746d..75f45b91b6 100644
--- a/doc/src/sgml/pgprewarm.sgml
+++ b/doc/src/sgml/pgprewarm.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgprewarm.sgml -->
 
 <sect1 id="pgprewarm" xreflabel="pg_prewarm">
- <title>pg_prewarm</title>
+ <title>pg_prewarm &mdash; preload relation data into buffer caches</title>
 
  <indexterm zone="pgprewarm">
   <primary>pg_prewarm</primary>
diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml
index 91dfd452ee..b5e655735a 100644
--- a/doc/src/sgml/pgrowlocks.sgml
+++ b/doc/src/sgml/pgrowlocks.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgrowlocks.sgml -->
 
 <sect1 id="pgrowlocks" xreflabel="pgrowlocks">
- <title>pgrowlocks</title>
+ <title>pgrowlocks &mdash; show a table's row locking information</title>
 
  <indexterm zone="pgrowlocks">
   <primary>pgrowlocks</primary>
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index ded33acd18..abdee744ac 100644
--- a/doc/src/sgml/pgstatstatements.sgml
+++ b/doc/src/sgml/pgstatstatements.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/pgstatstatements.sgml -->
 
 <sect1 id="pgstatstatements" xreflabel="pg_stat_statements">
- <title>pg_stat_statements</title>
+ <title>pg_stat_statements &mdash;
+   track statistics of SQL planning and execution</title>
 
  <indexterm zone="pgstatstatements">
   <primary>pg_stat_statements</primary>
diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml
index 581bea2788..4071da4ed9 100644
--- a/doc/src/sgml/pgstattuple.sgml
+++ b/doc/src/sgml/pgstattuple.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgstattuple.sgml -->
 
 <sect1 id="pgstattuple" xreflabel="pgstattuple">
- <title>pgstattuple</title>
+ <title>pgstattuple &mdash; obtain tuple-level statistics</title>
 
  <indexterm zone="pgstattuple">
   <primary>pgstattuple</primary>
diff --git a/doc/src/sgml/pgsurgery.sgml b/doc/src/sgml/pgsurgery.sgml
index 6c6be70c24..29bccd7f36 100644
--- a/doc/src/sgml/pgsurgery.sgml
+++ b/doc/src/sgml/pgsurgery.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgsurgery.sgml -->
 
 <sect1 id="pgsurgery" xreflabel="pg_surgery">
- <title>pg_surgery</title>
+ <title>pg_surgery &mdash; perform low-level surgery on relation data</title>
 
  <indexterm zone="pgsurgery">
   <primary>pg_surgery</primary>
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
index f0344590dd..07bfcac931 100644
--- a/doc/src/sgml/pgtrgm.sgml
+++ b/doc/src/sgml/pgtrgm.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/pgtrgm.sgml -->
 
 <sect1 id="pgtrgm" xreflabel="pg_trgm">
- <title>pg_trgm</title>
+ <title>pg_trgm &mdash;
+   support for similarity of text using trigram matching</title>
 
  <indexterm zone="pgtrgm">
   <primary>pg_trgm</primary>
diff --git a/doc/src/sgml/pgvisibility.sgml b/doc/src/sgml/pgvisibility.sgml
index 68c43b7f39..097f7e0566 100644
--- a/doc/src/sgml/pgvisibility.sgml
+++ b/doc/src/sgml/pgvisibility.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgvisibility.sgml -->
 
 <sect1 id="pgvisibility" xreflabel="pg_visibility">
- <title>pg_visibility</title>
+ <title>pg_visibility &mdash; visibility map information and utilities</title>
 
  <indexterm zone="pgvisibility">
   <primary>pg_visibility</primary>
diff --git a/doc/src/sgml/pgwalinspect.sgml b/doc/src/sgml/pgwalinspect.sgml
index 08eedab071..119e162e60 100644
--- a/doc/src/sgml/pgwalinspect.sgml
+++ b/doc/src/sgml/pgwalinspect.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgwalinspect.sgml -->
 
 <sect1 id="pgwalinspect" xreflabel="pg_walinspect">
- <title>pg_walinspect</title>
+ <title>pg_walinspect &mdash; low-level WAL inspection</title>
 
  <indexterm zone="pgwalinspect">
   <primary>pg_walinspect</primary>
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index 78f2d7d8d5..644f51835b 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/postgres-fdw.sgml -->
 
 <sect1 id="postgres-fdw" xreflabel="postgres_fdw">
- <title>postgres_fdw</title>
+ <title>postgres_fdw &mdash;
+   access data stored in external Postgres servers</title>
 
  <indexterm zone="postgres-fdw">
   <primary>postgres_fdw</primary>
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
index 72387c7d45..dc66e24f2f 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/seg.sgml -->
 
 <sect1 id="seg" xreflabel="seg">
- <title>seg</title>
+ <title>seg &mdash; a datatype for line segments or floating point intervals</title>
 
  <indexterm zone="seg">
   <primary>seg</primary>
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index fd4bb83cbf..b368e587cb 100644
--- a/doc/src/sgml/sepgsql.sgml
+++ b/doc/src/sgml/sepgsql.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/sepgsql.sgml -->
 
 <sect1 id="sepgsql" xreflabel="sepgsql">
- <title>sepgsql</title>
+ <title>sepgsql &mdash;
+   SELinux-, label-based mandatory access control (MAC) security module</title>
 
  <indexterm zone="sepgsql">
   <primary>sepgsql</primary>
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
index 786f113072..85d49f6653 100644
--- a/doc/src/sgml/sslinfo.sgml
+++ b/doc/src/sgml/sslinfo.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/sslinfo.sgml -->
 
 <sect1 id="sslinfo" xreflabel="sslinfo">
- <title>sslinfo</title>
+ <title>sslinfo &mdash; obtain client SSL information</title>
 
  <indexterm zone="sslinfo">
   <primary>sslinfo</primary>
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index c1b70953f0..e10fe7009d 100644
--- a/doc/src/sgml/tablefunc.sgml
+++ b/doc/src/sgml/tablefunc.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/tablefunc.sgml -->
 
 <sect1 id="tablefunc" xreflabel="tablefunc">
- <title>tablefunc</title>
+ <title>tablefunc &mdash; functions that return tables (<function>crosstab</function> and others)</title>
 
  <indexterm zone="tablefunc">
   <primary>tablefunc</primary>
diff --git a/doc/src/sgml/tcn.sgml b/doc/src/sgml/tcn.sgml
index 82afe9ada4..32a1025cc6 100644
--- a/doc/src/sgml/tcn.sgml
+++ b/doc/src/sgml/tcn.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/tcn.sgml -->
 
 <sect1 id="tcn" xreflabel="tcn">
- <title>tcn</title>
+  <title>tcn &mdash; a trigger function to notify listeners of changes to table content</title>
 
  <indexterm zone="tcn">
   <primary>tcn</primary>
diff --git a/doc/src/sgml/test-decoding.sgml b/doc/src/sgml/test-decoding.sgml
index 9b07195427..5d1ae8f4f5 100644
--- a/doc/src/sgml/test-decoding.sgml
+++ b/doc/src/sgml/test-decoding.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/test-decoding.sgml -->
 
 <sect1 id="test-decoding" xreflabel="test_decoding">
- <title>test_decoding</title>
+ <title>test_decoding &mdash; SQL-based test/example module for WAL logical decoding</title>
 
  <indexterm zone="test-decoding">
   <primary>test_decoding</primary>
diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml
index f5357791c0..e3fb4d15dd 100644
--- a/doc/src/sgml/tsm-system-rows.sgml
+++ b/doc/src/sgml/tsm-system-rows.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/tsm-system-rows.sgml -->
 
 <sect1 id="tsm-system-rows" xreflabel="tsm_system_rows">
- <title>tsm_system_rows</title>
+ <title>tsm_system_rows &mdash;
+   the <literal>SYSTEM_ROWS</literal> sampling method for <literal>TABLESAMPLE</literal></title>
 
  <indexterm zone="tsm-system-rows">
   <primary>tsm_system_rows</primary>
diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml
index 0de15ae7e8..05c6be0cac 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/tsm-system-time.sgml -->
 
 <sect1 id="tsm-system-time" xreflabel="tsm_system_time">
- <title>tsm_system_time</title>
+ <title>tsm_system_time &mdash;
+   the <literal>SYSTEM_TIME</literal> sampling method for <literal>TABLESAMPLE</literal></title>
 
  <indexterm zone="tsm-system-time">
   <primary>tsm_system_time</primary>
diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml
index 139a87d4ff..f3ddc64bbc 100644
--- a/doc/src/sgml/unaccent.sgml
+++ b/doc/src/sgml/unaccent.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/unaccent.sgml -->
 
 <sect1 id="unaccent" xreflabel="unaccent">
- <title>unaccent</title>
+ <title>unaccent &mdash; a text search dictionary which removes diacritics</title>
 
  <indexterm zone="unaccent">
   <primary>unaccent</primary>
diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml
index 0a42d516e8..6f851ac85f 100644
--- a/doc/src/sgml/uuid-ossp.sgml
+++ b/doc/src/sgml/uuid-ossp.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/uuid-ossp.sgml -->
 
 <sect1 id="uuid-ossp" xreflabel="uuid-ossp">
- <title>uuid-ossp</title>
+ <title>uuid-ossp &mdash; a UUID generator</title>
 
  <indexterm zone="uuid-ossp">
   <primary>uuid-ossp</primary>
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
index e9a223ca5b..9fd613f967 100644
--- a/doc/src/sgml/xml2.sgml
+++ b/doc/src/sgml/xml2.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/xml2.sgml -->
 
 <sect1 id="xml2" xreflabel="xml2">
- <title>xml2</title>
+ <title>xml2 &mdash; XPath querying and XSLT functionality</title>
 
  <indexterm zone="xml2">
   <primary>xml2</primary>
-- 
2.30.2

>From 8cc5e8a38305c604d03138ffa8607559465995b5 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Fri, 20 Jan 2023 12:32:22 +0100
Subject: [PATCH v6 2/3] Install [trusted] and [obsolete] markers in section
 title

I'm not sure about this part.
---
 doc/src/sgml/btree-gin.sgml       | 2 +-
 doc/src/sgml/btree-gist.sgml      | 2 +-
 doc/src/sgml/citext.sgml          | 2 +-
 doc/src/sgml/cube.sgml            | 2 +-
 doc/src/sgml/dict-int.sgml        | 2 +-
 doc/src/sgml/fuzzystrmatch.sgml   | 2 +-
 doc/src/sgml/hstore.sgml          | 2 +-
 doc/src/sgml/intagg.sgml          | 2 +-
 doc/src/sgml/intarray.sgml        | 2 +-
 doc/src/sgml/isn.sgml             | 2 +-
 doc/src/sgml/lo.sgml              | 2 +-
 doc/src/sgml/ltree.sgml           | 2 +-
 doc/src/sgml/pgcrypto.sgml        | 2 +-
 doc/src/sgml/pgtrgm.sgml          | 2 +-
 doc/src/sgml/seg.sgml             | 2 +-
 doc/src/sgml/tablefunc.sgml       | 2 +-
 doc/src/sgml/tcn.sgml             | 2 +-
 doc/src/sgml/tsm-system-rows.sgml | 2 +-
 doc/src/sgml/tsm-system-time.sgml | 2 +-
 doc/src/sgml/unaccent.sgml        | 2 +-
 doc/src/sgml/uuid-ossp.sgml       | 2 +-
 doc/src/sgml/xml2.sgml            | 2 +-
 22 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index 46117209ce..db96f02ba9 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/btree-gin.sgml -->
 
 <sect1 id="btree-gin" xreflabel="btree_gin">
- <title>btree_gin &mdash; GIN operator classes with B-tree behavior</title>
+ <title>btree_gin &mdash; GIN operator classes with B-tree behavior [trusted]</title>
 
  <indexterm zone="btree-gin">
   <primary>btree_gin</primary>
diff --git a/doc/src/sgml/btree-gist.sgml b/doc/src/sgml/btree-gist.sgml
index 31e7c78aae..be14779a92 100644
--- a/doc/src/sgml/btree-gist.sgml
+++ b/doc/src/sgml/btree-gist.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/btree-gist.sgml -->
 
 <sect1 id="btree-gist" xreflabel="btree_gist">
- <title>btree_gist &mdash; GiST operator classes with B-tree behavior</title>
+ <title>btree_gist &mdash; GiST operator classes with B-tree behavior [trusted]</title>
 
  <indexterm zone="btree-gist">
   <primary>btree_gist</primary>
diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml
index 8322885661..ff8a98c21b 100644
--- a/doc/src/sgml/citext.sgml
+++ b/doc/src/sgml/citext.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/citext.sgml -->
 
 <sect1 id="citext" xreflabel="citext">
- <title>citext &mdash; a case-insensitive character string type</title>
+ <title>citext &mdash; a case-insensitive character string type [trusted]</title>
 
  <indexterm zone="citext">
   <primary>citext</primary>
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index 0fb7080748..1998e6d81a 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/cube.sgml -->
 
 <sect1 id="cube" xreflabel="cube">
- <title>cube &mdash; a multi-dimensional cube data type</title>
+ <title>cube &mdash; a multi-dimensional cube data type [trusted]</title>
 
  <indexterm zone="cube">
   <primary>cube (extension)</primary>
diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml
index 8dd07b9bc1..293ba83ce6 100644
--- a/doc/src/sgml/dict-int.sgml
+++ b/doc/src/sgml/dict-int.sgml
@@ -2,7 +2,7 @@
 
 <sect1 id="dict-int" xreflabel="dict_int">
  <title>dict_int &mdash;
-   example full-text search dictionary for integers</title>
+   example full-text search dictionary for integers [trusted]</title>
 
  <indexterm zone="dict-int">
   <primary>dict_int</primary>
diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml
index 860f021815..2c6a666da8 100644
--- a/doc/src/sgml/fuzzystrmatch.sgml
+++ b/doc/src/sgml/fuzzystrmatch.sgml
@@ -2,7 +2,7 @@
 
 <sect1 id="fuzzystrmatch" xreflabel="fuzzystrmatch">
  <title>fuzzystrmatch &mdash;
-   determine string similarities and distance</title>
+   determine string similarities and distance [trusted]</title>
 
  <indexterm zone="fuzzystrmatch">
   <primary>fuzzystrmatch</primary>
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 7d93e49e91..b75c63f348 100644
--- a/doc/src/sgml/hstore.sgml
+++ b/doc/src/sgml/hstore.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/hstore.sgml -->
 
 <sect1 id="hstore" xreflabel="hstore">
- <title>hstore &mdash; hstore key/value datatype</title>
+ <title>hstore &mdash; hstore key/value datatype [trusted]</title>
 
  <indexterm zone="hstore">
   <primary>hstore</primary>
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
index 44a766eb4b..ce7b929a34 100644
--- a/doc/src/sgml/intagg.sgml
+++ b/doc/src/sgml/intagg.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/intagg.sgml -->
 
 <sect1 id="intagg" xreflabel="intagg">
- <title>intagg &mdash; integer aggregator and enumerator</title>
+ <title>intagg &mdash; integer aggregator and enumerator [obsolete]</title>
 
  <indexterm zone="intagg">
   <primary>intagg</primary>
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index c72d49b01d..9194e94c28 100644
--- a/doc/src/sgml/intarray.sgml
+++ b/doc/src/sgml/intarray.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/intarray.sgml -->
 
 <sect1 id="intarray" xreflabel="intarray">
- <title>intarray &mdash; manipulate arrays of integers</title>
+ <title>intarray &mdash; manipulate arrays of integers [trusted]</title>
 
  <indexterm zone="intarray">
   <primary>intarray</primary>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index ea2aabc87d..a609969af9 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/isn.sgml -->
 
 <sect1 id="isn" xreflabel="isn">
- <title>isn &mdash; data types for international standard numbers (ISBN, EAN, UPC, etc.)</title>
+ <title>isn &mdash; data types for international standard numbers (ISBN, EAN, UPC, etc.) [trusted]</title>
 
  <indexterm zone="isn">
   <primary>isn</primary>
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
index 6d9bcebd42..511e576cac 100644
--- a/doc/src/sgml/lo.sgml
+++ b/doc/src/sgml/lo.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/lo.sgml -->
 
 <sect1 id="lo" xreflabel="lo">
- <title>lo &mdash; manage large objects</title>
+ <title>lo &mdash; manage large objects [trusted]</title>
 
  <indexterm zone="lo">
   <primary>lo</primary>
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
index bb66e33944..25d98e3f7d 100644
--- a/doc/src/sgml/ltree.sgml
+++ b/doc/src/sgml/ltree.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/ltree.sgml -->
 
 <sect1 id="ltree" xreflabel="ltree">
- <title>ltree &mdash; hierarchical tree-like data type</title>
+ <title>ltree &mdash; hierarchical tree-like data type [trusted]</title>
 
  <indexterm zone="ltree">
   <primary>ltree</primary>
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index 2e29f1d6f7..2231a65dde 100644
--- a/doc/src/sgml/pgcrypto.sgml
+++ b/doc/src/sgml/pgcrypto.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/pgcrypto.sgml -->
 
 <sect1 id="pgcrypto" xreflabel="pgcrypto">
- <title>pgcrypto &mdash; cryptographic functions</title>
+ <title>pgcrypto &mdash; cryptographic functions [trusted]</title>
 
  <indexterm zone="pgcrypto">
   <primary>pgcrypto</primary>
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
index 07bfcac931..1497172762 100644
--- a/doc/src/sgml/pgtrgm.sgml
+++ b/doc/src/sgml/pgtrgm.sgml
@@ -2,7 +2,7 @@
 
 <sect1 id="pgtrgm" xreflabel="pg_trgm">
  <title>pg_trgm &mdash;
-   support for similarity of text using trigram matching</title>
+   support for similarity of text using trigram matching [trusted]</title>
 
  <indexterm zone="pgtrgm">
   <primary>pg_trgm</primary>
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
index dc66e24f2f..4656dff681 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/seg.sgml -->
 
 <sect1 id="seg" xreflabel="seg">
- <title>seg &mdash; a datatype for line segments or floating point intervals</title>
+ <title>seg &mdash; a datatype for line segments or floating point intervals [trusted]</title>
 
  <indexterm zone="seg">
   <primary>seg</primary>
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index e10fe7009d..79f721886a 100644
--- a/doc/src/sgml/tablefunc.sgml
+++ b/doc/src/sgml/tablefunc.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/tablefunc.sgml -->
 
 <sect1 id="tablefunc" xreflabel="tablefunc">
- <title>tablefunc &mdash; functions that return tables (<function>crosstab</function> and others)</title>
+ <title>tablefunc &mdash; functions that return tables (<function>crosstab</function> and others) [trusted]</title>
 
  <indexterm zone="tablefunc">
   <primary>tablefunc</primary>
diff --git a/doc/src/sgml/tcn.sgml b/doc/src/sgml/tcn.sgml
index 32a1025cc6..a848e622e1 100644
--- a/doc/src/sgml/tcn.sgml
+++ b/doc/src/sgml/tcn.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/tcn.sgml -->
 
 <sect1 id="tcn" xreflabel="tcn">
-  <title>tcn &mdash; a trigger function to notify listeners of changes to table content</title>
+  <title>tcn &mdash; a trigger function to notify listeners of changes to table content [trusted]</title>
 
  <indexterm zone="tcn">
   <primary>tcn</primary>
diff --git a/doc/src/sgml/tsm-system-rows.sgml b/doc/src/sgml/tsm-system-rows.sgml
index e3fb4d15dd..c36e0c7662 100644
--- a/doc/src/sgml/tsm-system-rows.sgml
+++ b/doc/src/sgml/tsm-system-rows.sgml
@@ -2,7 +2,7 @@
 
 <sect1 id="tsm-system-rows" xreflabel="tsm_system_rows">
  <title>tsm_system_rows &mdash;
-   the <literal>SYSTEM_ROWS</literal> sampling method for <literal>TABLESAMPLE</literal></title>
+   the <literal>SYSTEM_ROWS</literal> sampling method for <literal>TABLESAMPLE</literal> [trusted]</title>
 
  <indexterm zone="tsm-system-rows">
   <primary>tsm_system_rows</primary>
diff --git a/doc/src/sgml/tsm-system-time.sgml b/doc/src/sgml/tsm-system-time.sgml
index 05c6be0cac..10fd27abb6 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -2,7 +2,7 @@
 
 <sect1 id="tsm-system-time" xreflabel="tsm_system_time">
  <title>tsm_system_time &mdash;
-   the <literal>SYSTEM_TIME</literal> sampling method for <literal>TABLESAMPLE</literal></title>
+   the <literal>SYSTEM_TIME</literal> sampling method for <literal>TABLESAMPLE</literal> [trusted]</title>
 
  <indexterm zone="tsm-system-time">
   <primary>tsm_system_time</primary>
diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml
index f3ddc64bbc..7b02b66530 100644
--- a/doc/src/sgml/unaccent.sgml
+++ b/doc/src/sgml/unaccent.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/unaccent.sgml -->
 
 <sect1 id="unaccent" xreflabel="unaccent">
- <title>unaccent &mdash; a text search dictionary which removes diacritics</title>
+ <title>unaccent &mdash; a text search dictionary which removes diacritics [trusted]</title>
 
  <indexterm zone="unaccent">
   <primary>unaccent</primary>
diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml
index 6f851ac85f..43b49e2b5a 100644
--- a/doc/src/sgml/uuid-ossp.sgml
+++ b/doc/src/sgml/uuid-ossp.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/uuid-ossp.sgml -->
 
 <sect1 id="uuid-ossp" xreflabel="uuid-ossp">
- <title>uuid-ossp &mdash; a UUID generator</title>
+ <title>uuid-ossp &mdash; a UUID generator [trusted]</title>
 
  <indexterm zone="uuid-ossp">
   <primary>uuid-ossp</primary>
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
index 9fd613f967..2bd4a3fd3a 100644
--- a/doc/src/sgml/xml2.sgml
+++ b/doc/src/sgml/xml2.sgml
@@ -1,7 +1,7 @@
 <!-- doc/src/sgml/xml2.sgml -->
 
 <sect1 id="xml2" xreflabel="xml2">
- <title>xml2 &mdash; XPath querying and XSLT functionality</title>
+ <title>xml2 &mdash; XPath querying and XSLT functionality [obsolete]</title>
 
  <indexterm zone="xml2">
   <primary>xml2</primary>
-- 
2.30.2

>From 1d40f660d22d4965d3e026972edcaf419d4431f1 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Fri, 20 Jan 2023 11:55:44 +0100
Subject: [PATCH v6 3/3] Install pagebreaks between contrib section

This makes the PDF much more readable, but I don't like the mechanism
used.
---
 doc/src/sgml/contrib.sgml      | 54 ++++++++++++++++++++++++++++++++--
 doc/src/sgml/stylesheet-fo.xsl |  6 ++++
 2 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 8816e06337..e412680e46 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -35,8 +35,8 @@
 </screen>
   in the <literal>contrib</literal> directory of a configured source tree;
   or to build and install
-  just one selected module, do the same in that module's subdirectory.
-  Many of the modules have regression tests, which can be executed by
+  just one selection, do the same in that selection's subdirectory.
+  Many have regression tests, which can be executed by
   running:
 <screen>
 <userinput>make check</userinput>
@@ -100,55 +100,105 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
   component for details.
  </para>
 
+ <?hard-pagebreak?>
  &adminpack;
+ <?hard-pagebreak?>
  &amcheck;
+ <?hard-pagebreak?>
  &auth-delay;
+ <?hard-pagebreak?>
  &auto-explain;
+ <?hard-pagebreak?>
  &basebackup-to-shell;
+ <?hard-pagebreak?>
  &basic-archive;
+ <?hard-pagebreak?>
  &bloom;
+ <?hard-pagebreak?>
  &btree-gin;
+ <?hard-pagebreak?>
  &btree-gist;
+ <?hard-pagebreak?>
  &citext;
+ <?hard-pagebreak?>
  &cube;
+ <?hard-pagebreak?>
  &dblink;
+ <?hard-pagebreak?>
  &dict-int;
+ <?hard-pagebreak?>
  &dict-xsyn;
+ <?hard-pagebreak?>
  &earthdistance;
+ <?hard-pagebreak?>
  &file-fdw;
+ <?hard-pagebreak?>
  &fuzzystrmatch;
+ <?hard-pagebreak?>
  &hstore;
+ <?hard-pagebreak?>
  &intagg;
+ <?hard-pagebreak?>
  &intarray;
+ <?hard-pagebreak?>
  &isn;
+ <?hard-pagebreak?>
  &lo;
+ <?hard-pagebreak?>
  &ltree;
+ <?hard-pagebreak?>
  &oldsnapshot;
+ <?hard-pagebreak?>
  &pageinspect;
+ <?hard-pagebreak?>
  &passwordcheck;
+ <?hard-pagebreak?>
  &pgbuffercache;
+ <?hard-pagebreak?>
  &pgcrypto;
+ <?hard-pagebreak?>
  &pgfreespacemap;
+ <?hard-pagebreak?>
  &pgprewarm;
+ <?hard-pagebreak?>
  &pgrowlocks;
+ <?hard-pagebreak?>
  &pgstatstatements;
+ <?hard-pagebreak?>
  &pgstattuple;
+ <?hard-pagebreak?>
  &pgsurgery;
+ <?hard-pagebreak?>
  &pgtrgm;
+ <?hard-pagebreak?>
  &pgvisibility;
+ <?hard-pagebreak?>
  &pgwalinspect;
+ <?hard-pagebreak?>
  &postgres-fdw;
+ <?hard-pagebreak?>
  &seg;
+ <?hard-pagebreak?>
  &sepgsql;
+ <?hard-pagebreak?>
  &contrib-spi;
+ <?hard-pagebreak?>
  &sslinfo;
+ <?hard-pagebreak?>
  &tablefunc;
+ <?hard-pagebreak?>
  &tcn;
+ <?hard-pagebreak?>
  &test-decoding;
+ <?hard-pagebreak?>
  &tsm-system-rows;
+ <?hard-pagebreak?>
  &tsm-system-time;
+ <?hard-pagebreak?>
  &unaccent;
+ <?hard-pagebreak?>
  &uuid-ossp;
+ <?hard-pagebreak?>
  &xml2;
 
 </appendix>
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..9dde0a89dd 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,10 @@
   </fo:bookmark>
 </xsl:template>
 
+<!-- Provide a hard page break processing instruction
+     http://www.sagehill.net/docbookxsl/PageBreaking.html#HardPageBreaks -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+   <fo:block break-after='page'/>
+</xsl:template>
+
 </xsl:stylesheet>
-- 
2.30.2

Reply via email to