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 5d61a33936..48d72a24a3 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 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 3bc9cfb207..690774f86f 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 394fec94e8..a80910dab5 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 b2ecc373eb..fd082ceb0b 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 0b650f17a8..c412590dd6 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 a3f51cfdc4..4a188ad5f1 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</title>
 
  <indexterm zone="bloom">
   <primary>bloom</primary>
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index 5bc5a054e8..5aafe856b5 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/btree-gin.sgml -->
 
 <sect1 id="btree-gin" xreflabel="btree_gin">
- <title>btree_gin</title>
+ <title>btree_gin &mdash;
+   sample GIN B-tree equalivent operator classes [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 b67f20a00f..67ff13c77f 100644
--- a/doc/src/sgml/btree-gist.sgml
+++ b/doc/src/sgml/btree-gist.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/btree-gist.sgml -->
 
 <sect1 id="btree-gist" xreflabel="btree_gist">
- <title>btree_gist</title>
+ <title>btree_gist &mdash;
+   B-tree equalivent GiST index operators [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 5986601327..bf08e9e6a2 100644
--- a/doc/src/sgml/citext.sgml
+++ b/doc/src/sgml/citext.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/citext.sgml -->
 
 <sect1 id="citext" xreflabel="citext">
- <title>citext</title>
+ <title>citext &mdash;
+   a case-insensitive character string type [trusted]</title>
 
  <indexterm zone="citext">
   <primary>citext</primary>
diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml
index fed6f24932..edeb5b6346 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..fd2e40980d 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 Modules and Extensions</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:
@@ -31,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>
@@ -46,41 +50,41 @@
 
  <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.
+  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 +92,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 52506fc822..fc8d7988c3 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 [trusted]</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 8babfdd5c2..3e53a468e1 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 [trusted]</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 256aff7c58..fc1ab863d6 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 4377249c36..cc29b83164 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 382e54be91..6087aeca4f 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 [trusted]</title>
 
  <indexterm zone="fuzzystrmatch">
   <primary>fuzzystrmatch</primary>
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 335d64641b..a491a13f4d 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 [trusted]</title>
 
  <indexterm zone="hstore">
   <primary>hstore</primary>
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
index c410f64f3e..67e6de6c3b 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 [obsolete]</title>
 
  <indexterm zone="intagg">
   <primary>intagg</primary>
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index 18c6f8c3ba..9563950397 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 [trusted]</title>
 
  <indexterm zone="intarray">
   <primary>intarray</primary>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index 709bc8345c..bde88e6ee9 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/isn.sgml -->
 
 <sect1 id="isn" xreflabel="isn">
- <title>isn</title>
+ <title>isn &mdash;
+   data types for various ISN standards (UPC, books, etc.) [trusted]</title>
 
  <indexterm zone="isn">
   <primary>isn</primary>
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
index f46cd392df..a3fb7aed40 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 (BLOBs) [trusted]</title>
 
  <indexterm zone="lo">
   <primary>lo</primary>
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
index 508f404ae8..597e359fcf 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; label tree (ltree) data type [trusted]</title>
 
  <indexterm zone="ltree">
   <primary>ltree</primary>
diff --git a/doc/src/sgml/oldsnapshot.sgml b/doc/src/sgml/oldsnapshot.sgml
index a665ae72e7..0be8b858ac 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 guc-old-snapshot-threshold state</title>
 
  <indexterm zone="oldsnapshot">
   <primary>old_snapshot</primary>
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
index 04aca998e7..60a18664c4 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..6cd4f6af0e 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; check for weak password when (re)set</title>
 
  <indexterm zone="passwordcheck">
   <primary>passwordcheck</primary>
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
index 5316472b96..453ffcac0e 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 [trusted]</title>
 
  <indexterm zone="pgcrypto">
   <primary>pgcrypto</primary>
diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml
index 4dd7a084b9..e79de8f859 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 754a21a076..abf788830b 100644
--- a/doc/src/sgml/pgprewarm.sgml
+++ b/doc/src/sgml/pgprewarm.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/pgprewarm.sgml -->
 
 <sect1 id="pgprewarm" xreflabel="pg_prewarm">
- <title>pg_prewarm</title>
+ <title>pg_prewarm &mdash;
+   preload relation data into O/S or PG 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 ad15cda668..8eb60bf288 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 ea90365c7f..063b06ede4 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 SQL planning and execution statistics</title>
 
  <indexterm zone="pgstatstatements">
   <primary>pg_stat_statements</primary>
diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml
index b17b3c59e0..aa7eeecf4a 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 4bba14f217..611a173feb 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 surgery on damaged relations</title>
 
  <indexterm zone="pgsurgery">
   <primary>pg_surgery</primary>
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
index fefe30afb7..7f295d0a6f 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 [trusted]</title>
 
  <indexterm zone="pgtrgm">
   <primary>pg_trgm</primary>
diff --git a/doc/src/sgml/pgvisibility.sgml b/doc/src/sgml/pgvisibility.sgml
index 8090aa5207..b2ae8c1372 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 1a1bee7d6a..413121a9ba 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 6c94318485..f4d6fe9f94 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 9be69e3609..9280adaaac 100644
--- a/doc/src/sgml/seg.sgml
+++ b/doc/src/sgml/seg.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/seg.sgml -->
 
 <sect1 id="seg" xreflabel="seg">
- <title>seg</title>
+ <title>seg &mdash;
+   line segment/floating point interval data type [trusted]</title>
 
  <indexterm zone="seg">
   <primary>seg</primary>
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index 620d0636e8..13f89c85b0 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;
+   label-based, SELinux-like, mandatory access control</title>
 
  <indexterm zone="sepgsql">
   <primary>sepgsql</primary>
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
index 2a9c45a111..8cd1006fe0 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 808162b89b..25280b598d 100644
--- a/doc/src/sgml/tablefunc.sgml
+++ b/doc/src/sgml/tablefunc.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/tablefunc.sgml -->
 
 <sect1 id="tablefunc" xreflabel="tablefunc">
- <title>tablefunc</title>
+ <title>tablefunc &mdash;
+   useful/example functions which return tables [trusted]</title>
 
  <indexterm zone="tablefunc">
   <primary>tablefunc</primary>
diff --git a/doc/src/sgml/tcn.sgml b/doc/src/sgml/tcn.sgml
index 82afe9ada4..60f8ebb80f 100644
--- a/doc/src/sgml/tcn.sgml
+++ b/doc/src/sgml/tcn.sgml
@@ -1,7 +1,9 @@
 <!-- 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
+    [trusted]</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..88f72c204e 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; example of WAL logical decoding in SQL</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 d960aa3e0f..7e53a716cb 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;
+   a table row sampling method for TABLESAMPLE clauses [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 df6e83a923..fd709ce012 100644
--- a/doc/src/sgml/tsm-system-time.sgml
+++ b/doc/src/sgml/tsm-system-time.sgml
@@ -1,7 +1,9 @@
 <!-- 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;
+   a SYSTEM_TIME table sampling method for the TABLESAMPLE clauses
+   [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 5cd716a2aa..a34de537e5 100644
--- a/doc/src/sgml/unaccent.sgml
+++ b/doc/src/sgml/unaccent.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/unaccent.sgml -->
 
 <sect1 id="unaccent" xreflabel="unaccent">
- <title>unaccent</title>
+ <title>unaccent &mdash;
+   a full-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 26bfb908da..e037cbf2a1 100644
--- a/doc/src/sgml/uuid-ossp.sgml
+++ b/doc/src/sgml/uuid-ossp.sgml
@@ -1,7 +1,8 @@
 <!-- doc/src/sgml/uuid-ossp.sgml -->
 
 <sect1 id="uuid-ossp" xreflabel="uuid-ossp">
- <title>uuid-ossp</title>
+ <title>uuid-ossp &mdash;
+   generate UUIDs when there are special requirements [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 47650d9dfd..ebe3246405 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 qeurying and XSLT functionality [obsolete]</title>
 
  <indexterm zone="xml2">
   <primary>xml2</primary>
