Doc: Rework contrib appendix -- informative titles, tweaked sentences
Hi,
Attached is a patch: contrib_v1.patch
It modifies Appendix F, the contrib directory.
It adds brief text into the titles shown in the
table of contents so it's easier to tell what
each module does. It also suffixes [trusted] or [obsolete]
on the relevant titles.
I added the word "extension" into the appendix title
because I always have problems scanning through the
appendix and finding the one to do with extensions.
The sentences describing what the modules are and how
to build them have been reworked. Some split in 2,
some words removed or replaced, etc.
I introduced the word "component" because the appendix
has build instructions for command line programs as well
as extensions and libraries loaded with shared_preload_libraries().
This involved removing most occurrences of the word
"module", although it is left in the section title.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
contrib_v1.patchtext/x-patchDownload
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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 —
+ 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 —
+ 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 —
+ 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 —
+ 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 — 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 —
+ 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 — 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 — 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 —
+ 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 — 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 — 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 —
+ 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 —
+ 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 —
+ 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 — 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 —
+ 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 —
+ 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 — 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 —
+ 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 —
+ 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 —
+ 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 —
+ 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 — XPath qeurying and XSLT functionality [obsolete]</title>
<indexterm zone="xml2">
<primary>xml2</primary>
On 03.01.2023 at 01:00, Karl O. Pinc wrote:
Attached is a patch: contrib_v1.patch
It modifies Appendix F, the contrib directory.
Review:
The patch applies cleanly (1334b79a35 - 2023-01-14 18:05:09 +0900).
It adds a brief explanatory part to the headers of all contrib modules
which I consider as very useful, especially when looking at the TOC in
contrib.html where currently newcomers would need to click through all
the links to even get an idea what the various modules do.
The explanatory parts added make sense to me, althogh I'm not an expert
in all the different contrib modules.
Appendix F. now reads as "Additional Supplied Modules and Extensions"
instead of "Appendix F. Additional Supplied Modules" which IMHO proprely
reflects what it is about. The original title probably comes from the
pre-extension-era.
There is also some minor rewording of sentences in contrib.sgml that in
general looks like an improvment to me.
In conclusion I cannot see why this patch should not be applied in it's
current form so I deem it ready for commiter.
Regards,
Brar
On Sun, 15 Jan 2023 07:11:30 +0100
Brar Piening <brar@gmx.de> wrote:
On 03.01.2023 at 01:00, Karl O. Pinc wrote:
Attached is a patch: contrib_v1.patch
It modifies Appendix F, the contrib directory.
Review:
It adds a brief explanatory part to the headers of all contrib modules
The explanatory parts added make sense to me, althogh I'm not an
expert in all the different contrib modules.
Neither am I. I read the beginning of each module's docs and
made a best-effort. There may sometimes be a better
summary phrase to describe a module/extension.
Thanks for the review.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-02, Karl O. Pinc wrote:
Hi,
Attached is a patch: contrib_v1.patch
It modifies Appendix F, the contrib directory.
It adds brief text into the titles shown in the
table of contents so it's easier to tell what
each module does. It also suffixes [trusted] or [obsolete]
on the relevant titles.
This looks a good idea to me. I'm not 100% sold on having the "trusted"
or "obsolete" marker on the titles themselves, though. Not sure what
alternative do we have, though, other than leave them out completely.
There's a typo "equalivent" in two places.
In passwordcheck, I would say just "check for weak passwords" or maybe
"verify password strength".
pg_buffercache is missing. Maybe "-- inspect state of the Postgres
buffer cache".
For pg_stat_statements I suggest "track statistics of planning and
execution of SQL queries"
For sepgsql, as I understand it is strictly SELinux based, not just
"-like". So this needs rewording: "label-based, SELinux-like, mandatory
access control". Maybe "SELinux-based implementation of mandatory
access control for row-level security".
xml -- typo "qeurying"
The sentences describing what the modules are and how
to build them have been reworked. Some split in 2,
some words removed or replaced, etc.I introduced the word "component" because the appendix
has build instructions for command line programs as well
as extensions and libraries loaded with shared_preload_libraries().
This involved removing most occurrences of the word
"module", although it is left in the section title.
I haven't read this part yet.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"But static content is just dynamic content that isn't moving!"
http://smylers.hates-software.com/2007/08/15/fe244d0c.html
Not related to this patch: it's very annoying that in the PDF output,
each section in the appendix doesn't start on a blank page -- which
means that the doc page for many modules starts in the middle of a page
were the previous one ends. This is very ugly. And then you get to
dblink, which contains a bunch of reference pages for the functions it
provides, and those *do* start a new page each. So it looks quite
inconsistent.
I wonder if we can tweak something in the stylesheet to include a page
break.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"The Postgresql hackers have what I call a "NASA space shot" mentality.
Quite refreshing in a world of "weekend drag racer" developers."
(Scott Marlowe)
On Wed, 18 Jan 2023 13:30:45 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Not related to this patch: it's very annoying that in the PDF output,
each section in the appendix doesn't start on a blank page -- which
means that the doc page for many modules starts in the middle of a
page were the previous one ends.
<snip>
I wonder if we can tweak something in the stylesheet to include a page
break.
Would this be something to be included in this patch?
(If I can figure it out.)
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-18, Karl O. Pinc wrote:
On Wed, 18 Jan 2023 13:30:45 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:Not related to this patch: it's very annoying that in the PDF output,
each section in the appendix doesn't start on a blank page -- which
means that the doc page for many modules starts in the middle of a
page were the previous one ends.<snip>
I wonder if we can tweak something in the stylesheet to include a page
break.Would this be something to be included in this patch?
(If I can figure it out.)
No, I think we should do that change separately. I just didn't think a
parenthical complain was worth a separate thread for it; but if you do
create a patch, please do create a new thread (unless the current patch
in this one is committed already.)
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"Ninguna manada de bestias tiene una voz tan horrible como la humana" (Orual)
On Wed, 18 Jan 2023 13:25:57 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-02, Karl O. Pinc wrote:
Attached is a patch: contrib_v1.patch
It modifies Appendix F, the contrib directory.
It adds brief text into the titles shown in the
table of contents so it's easier to tell what
each module does. It also suffixes [trusted] or [obsolete]
on the relevant titles.
<snip>
I'm not 100% sold on having the
"trusted" or "obsolete" marker on the titles themselves, though. Not
sure what alternative do we have, though, other than leave them out
completely.
The alternative would be to have a separate table with modules
for rows and "trusted" and "obsolete" columns. It seems like
more of a maintenance hassle than having the markers in the titles.
Let me know if you want a table. I do like having a place
to look to over all the modules to see what is "trusted" or "obsolete".
I suppose there could just be a table, with module names, descriptions,
and trusted and obsolete flags. Instead of a table of contents
for the modules the module names in the table could be links. But
that'd involve suppressing the table of contents showing all the
module names. And has the problem of possible mis-match between
the modules listed in the table and the modules that exist.
There's a typo "equalivent" in two places.
Fixed.
In passwordcheck, I would say just "check for weak passwords" or maybe
"verify password strength".
I used "verify password strength".
pg_buffercache is missing. Maybe "-- inspect state of the Postgres
buffer cache".
I used "inspect Postgres buffer cache state"
For pg_stat_statements I suggest "track statistics of planning and
execution of SQL queries"
I had written "track SQL query planning and execution statistics".
Changed to: "track statistics of SQL planning and execution"
I don't really care. If you want your version I'll submit another
patch.
For sepgsql, as I understand it is strictly SELinux based, not just
"-like". So this needs rewording: "label-based, SELinux-like,
mandatory access control". Maybe "SELinux-based implementation of
mandatory access control for row-level security".
Changed to: "SELinux-based row-level security mandatory access control"
xml -- typo "qeurying"
Fixed.
I have also made the patch put each module on a separate
page when producing PDF documents. This did produce one warning,
which seems unrelated to me. The pdf seems right. I also tried
just "make", to be sure I didn't break anything unrelated. Seemed
to work. So..., works for me.
New patch attached: contrib_v2.patch
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
contrib_v2.patchtext/x-patchDownload
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 — 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..4006c75cdf 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 — 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 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 — 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 — 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 — 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 — 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..672ac2ed19 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 — 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 870c25559e..0eaea0dbcd 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 —
+ sample GIN B-tree equivalent 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 92aa8e277e..c08d1fdfc3 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 —
+ B-tree equivalent 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 3df2825592..710fbdddf2 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 —
+ 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 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 — 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..c3897d03f9 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,62 +92,112 @@ 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>
+ <?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?>
<ree;
+ <?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/cube.sgml b/doc/src/sgml/cube.sgml
index 0744816e7c..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</title>
+ <title>cube — 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 — 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..293ba83ce6 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 —
+ 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 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 — 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 — 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 — 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..2c6a666da8 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 —
+ 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 815ef641a0..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</title>
+ <title>hstore — 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 34562a66c8..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</title>
+ <title>intagg — 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 c861f50497..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</title>
+ <title>intarray — 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 14bf2d14aa..0568436a26 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 —
+ 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 d6076aeb7f..c51781b0bb 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 — 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 45a86188cb..92264251cd 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 — 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 0e03084562..a6e40043d1 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 — 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 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 — 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 — 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 — 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..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</title>
+ <title>pgcrypto — 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 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 — 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..6e1de21303 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 —
+ 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 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 — 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 —
+ 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 — 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..caadc10309 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 — 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 f0344590dd..1497172762 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 —
+ 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 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 — 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 — 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 —
+ 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..e1d20b4a0e 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 —
+ 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 fd4bb83cbf..786fdbbc26 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 —
+ SELinux-based row-level security 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 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 — obtain client SSL information</title>
<indexterm zone="sslinfo">
<primary>sslinfo</primary>
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>
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index c1b70953f0..77e0178902 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 —
+ 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 —
+ 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 — 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 f5357791c0..2c8ef6a7d4 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 —
+ 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 0de15ae7e8..e532174eab 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 —
+ 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 139a87d4ff..38df3be27d 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 —
+ 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 0a42d516e8..7cc68cdd92 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 —
+ 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 e9a223ca5b..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</title>
+ <title>xml2 — XPath querying and XSLT functionality [obsolete]</title>
<indexterm zone="xml2">
<primary>xml2</primary>
On Wed, 18 Jan 2023 18:34:47 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-18, Karl O. Pinc wrote:
On Wed, 18 Jan 2023 13:30:45 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:Not related to this patch: it's very annoying that in the PDF
output, each section in the appendix doesn't start on a blank
page -- which means that the doc page for many modules starts in
the middle of a page were the previous one ends.<snip>
I wonder if we can tweak something in the stylesheet to include a
page break.Would this be something to be included in this patch?
(If I can figure it out.)No, I think we should do that change separately. I just didn't think
a parenthical complain was worth a separate thread for it; but if you
do create a patch, please do create a new thread (unless the current
patch in this one is committed already.)
Oops. Already sent a revised patch that includes starting each
module on a new page, for PDF output. I'll wait to rip that
out after review and start a new thread if necessary.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-18, Karl O. Pinc wrote:
Oops. Already sent a revised patch that includes starting each
module on a new page, for PDF output. I'll wait to rip that
out after review and start a new thread if necessary.
Here's my review in the form of a delta patch.
I didn't find that a thing called "ISN" actually exists. Is there a
reference to that?
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"How strange it is to find the words "Perl" and "saner" in such close
proximity, with no apparent sense of irony. I doubt that Larry himself
could have managed it." (ncm, http://lwn.net/Articles/174769/)
Attachments:
contrib.v4-delta.patch.txttext/plain; charset=utf-8Download
commit fcdf3ceb0579f4b308b39ee6a957fe47a66bde32
Author: Alvaro Herrera <alvherre@alvh.no-ip.org> [Ãlvaro Herrera <alvherre@alvh.no-ip.org>]
AuthorDate: Thu Jan 19 13:33:12 2023 +0100
CommitDate: Thu Jan 19 13:33:12 2023 +0100
Alvaro review
diff --git a/doc/src/sgml/bloom.sgml b/doc/src/sgml/bloom.sgml
index 672ac2ed19..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 — bloom filter index access</title>
+ <title>bloom — 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 0eaea0dbcd..c9efe1cccf 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -1,15 +1,14 @@
<!-- doc/src/sgml/btree-gin.sgml -->
<sect1 id="btree-gin" xreflabel="btree_gin">
- <title>btree_gin —
- sample GIN B-tree equivalent operator classes [trusted]</title>
+ <title>btree_gin — GIN B-tree equivalent operator classes [trusted]</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/contrib.sgml b/doc/src/sgml/contrib.sgml
index 810ca73f81..8816e06337 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -1,7 +1,7 @@
<!-- doc/src/sgml/contrib.sgml -->
<appendix id="contrib">
- <title>Additional Supplied Modules and Extensions</title>
+ <title>Additional Supplied Extensions and Modules</title>
<para>
This appendix and the next one contain information on the
@@ -55,7 +55,8 @@
</para>
<para>
- Many components supply new user-defined functions, operators, or types.
+ 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
@@ -66,7 +67,7 @@
CREATE EXTENSION <replaceable>extension_name</replaceable>;
</programlisting>
- This command registers the new SQL objects in the current database only,
+ 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
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index 0568436a26..27abdc8c66 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -2,7 +2,7 @@
<sect1 id="isn" xreflabel="isn">
<title>isn —
- data types for various ISN standards (UPC, books, etc.) [trusted]</title>
+ data types for item 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 c51781b0bb..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 — manage large objects (BLOBs) [trusted]</title>
+ <title>lo — manage large objects [trusted]</title>
<indexterm zone="lo">
<primary>lo</primary>
On Thu, 19 Jan 2023 13:35:17 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-18, Karl O. Pinc wrote:
Oops. Already sent a revised patch that includes starting each
module on a new page, for PDF output. I'll wait to rip that
out after review and start a new thread if necessary.
(I have not removed the PDF page breaks from the latest patch.)
Here's my review in the form of a delta patch.
Love it.
I didn't find that a thing called "ISN" actually exists. Is there a
reference to that?
Maybe. I came across it somewhere and it seemed useful. It's
an initialism for International Standard Number.
https://en.wikipedia.org/wiki/International_Standard_Number
It's the same ISN as in the file name, "isn.sgml".
I've frobbed the ISN related text in my response patch.
(And added a line break to btree-gin.)
Attached are 2 patches, a regular and a delta from your v4 review:
contrib_v5-delta.patch.txt
contrib_v5.patch.txt
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
contrib_v5-delta.patch.txttext/plainDownload
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
index c9efe1cccf..f0cda0e32a 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 — GIN B-tree equivalent operator classes [trusted]</title>
+ <title>btree_gin —
+ GIN B-tree equivalent operator classes [trusted]</title>
<indexterm zone="btree-gin">
<primary>btree_gin</primary>
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
index 27abdc8c66..8008c84fe4 100644
--- a/doc/src/sgml/isn.sgml
+++ b/doc/src/sgml/isn.sgml
@@ -1,8 +1,8 @@
<!-- doc/src/sgml/isn.sgml -->
<sect1 id="isn" xreflabel="isn">
- <title>isn —
- data types for item numbers (ISBN, EAN, UPC, etc.) [trusted]</title>
+ <title>isn — data types for international standard numbers
+ (ISBN, EAN, UPC, etc.) [trusted]</title>
<indexterm zone="isn">
<primary>isn</primary>
contrib_v5.patch.txttext/plainDownload
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 — 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..4006c75cdf 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 — 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 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 — 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 — 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 — 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 — 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 — 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..f0cda0e32a 100644
--- a/doc/src/sgml/btree-gin.sgml
+++ b/doc/src/sgml/btree-gin.sgml
@@ -1,14 +1,15 @@
<!-- doc/src/sgml/btree-gin.sgml -->
<sect1 id="btree-gin" xreflabel="btree_gin">
- <title>btree_gin</title>
+ <title>btree_gin —
+ GIN B-tree equivalent operator classes [trusted]</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..c08d1fdfc3 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 —
+ B-tree equivalent 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 3df2825592..710fbdddf2 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 —
+ 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 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 — 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..e412680e46 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:
@@ -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,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,62 +93,112 @@ 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>
+ <?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?>
<ree;
+ <?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/cube.sgml b/doc/src/sgml/cube.sgml
index 0744816e7c..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</title>
+ <title>cube — 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 — 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..293ba83ce6 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 —
+ 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 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 — 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 — 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 — 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..2c6a666da8 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 —
+ 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 815ef641a0..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</title>
+ <title>hstore — 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 34562a66c8..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</title>
+ <title>intagg — 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 c861f50497..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</title>
+ <title>intarray — 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 14bf2d14aa..8008c84fe4 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 — 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 d6076aeb7f..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</title>
+ <title>lo — 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 45a86188cb..92264251cd 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 — 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 0e03084562..a6e40043d1 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 — 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 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 — 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 — 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 — 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..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</title>
+ <title>pgcrypto — 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 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 — 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..6e1de21303 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 —
+ 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 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 — 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 —
+ 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 — 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..caadc10309 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 — 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 f0344590dd..1497172762 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 —
+ 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 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 — 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 — 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 —
+ 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..e1d20b4a0e 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 —
+ 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 fd4bb83cbf..786fdbbc26 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 —
+ SELinux-based row-level security 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 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 — obtain client SSL information</title>
<indexterm zone="sslinfo">
<primary>sslinfo</primary>
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>
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
index c1b70953f0..77e0178902 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 —
+ 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 —
+ 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 — 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 f5357791c0..2c8ef6a7d4 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 —
+ 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 0de15ae7e8..e532174eab 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 —
+ 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 139a87d4ff..38df3be27d 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 —
+ 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 0a42d516e8..7cc68cdd92 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 —
+ 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 e9a223ca5b..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</title>
+ <title>xml2 — XPath querying and XSLT functionality [obsolete]</title>
<indexterm zone="xml2">
<primary>xml2</primary>
On Thu, 19 Jan 2023 11:03:53 -0600
"Karl O. Pinc" <kop@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.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-19, Karl O. Pinc wrote:
On Thu, 19 Jan 2023 11:03:53 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:Attached are 2 patches, a regular and a delta from your v4 review:
contrib_v5-delta.patch.txt
contrib_v5.patch.txtI 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
Attachments:
v6-0001-Describe-each-contrib-module-in-its-SGML-section-.patchtext/x-diff; charset=us-asciiDownload
From 15cf3a5607ec73900c5e3bb343ab687f1e6990c1 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@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 <kop@karlpinc.com>
Reviewed-by: Brar Piening <brar@gmx.de>
Discussion: https://postgr.es/m/20230102180015.372995a9@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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 — 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 —
+ 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 — 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 — 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 —
+ 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 — 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 — 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 —
+ 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 — 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 —
+ 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 — 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 — 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 — 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 — 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 —
+ 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 —
+ 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 — 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 — 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 — XPath querying and XSLT functionality</title>
<indexterm zone="xml2">
<primary>xml2</primary>
--
2.30.2
v6-0002-Install-trusted-and-obsolete-markers-in-section-t.patchtext/x-diff; charset=us-asciiDownload
From 8cc5e8a38305c604d03138ffa8607559465995b5 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@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 — GIN operator classes with B-tree behavior</title>
+ <title>btree_gin — 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 — GiST operator classes with B-tree behavior</title>
+ <title>btree_gist — 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 — a case-insensitive character string type</title>
+ <title>citext — 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 — a multi-dimensional cube data type</title>
+ <title>cube — 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 —
- 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 —
- 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 — hstore key/value datatype</title>
+ <title>hstore — 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 — integer aggregator and enumerator</title>
+ <title>intagg — 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 — manipulate arrays of integers</title>
+ <title>intarray — 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 — data types for international standard numbers (ISBN, EAN, UPC, etc.)</title>
+ <title>isn — 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 — manage large objects</title>
+ <title>lo — 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 — hierarchical tree-like data type</title>
+ <title>ltree — 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 — cryptographic functions</title>
+ <title>pgcrypto — 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 —
- 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 — a datatype for line segments or floating point intervals</title>
+ <title>seg — 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 — functions that return tables (<function>crosstab</function> and others)</title>
+ <title>tablefunc — 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 — a trigger function to notify listeners of changes to table content</title>
+ <title>tcn — 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 —
- 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 —
- 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 — a text search dictionary which removes diacritics</title>
+ <title>unaccent — 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 — a UUID generator</title>
+ <title>uuid-ossp — 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 — XPath querying and XSLT functionality</title>
+ <title>xml2 — XPath querying and XSLT functionality [obsolete]</title>
<indexterm zone="xml2">
<primary>xml2</primary>
--
2.30.2
v6-0003-Install-pagebreaks-between-contrib-section.patchtext/x-diff; charset=us-asciiDownload
From 1d40f660d22d4965d3e026972edcaf419d4431f1 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@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?>
<ree;
+ <?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
On Fri, 20 Jan 2023 12:42:31 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-19, Karl O. Pinc wrote:
On Thu, 19 Jan 2023 11:03:53 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:Attached are 2 patches, a regular and a delta from your v4 review:
contrib_v5-delta.patch.txt
contrib_v5.patch.txtI 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.
A quick google on the subject tells me that I can't figure out a good
quick google. I believe it's from the book at bottom. Memorability
goes "end", "beginning", "middle". IIRC.
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.
All the above sounds good to me.
I hope somebody with more docbook-fu can comment: maybe
there's a way to fix it more generally somehow?
What would the general solution be? There could be a forced page
break at the beginning of _every_ sect1. For PDFs. That seems
a bit much, but maybe not. The only other thing I can think of
that's "general" would be to force a page break for sect1-s
that are in an appendix. Is any of this wanted? (Or technically
"better"?)
Thanks for the help.
----
Writing for Readers
By George R. Bramer, Dorothy Sedley · 1981
About this edition
ISBN:9780675080453, 0675080452
Page count:532
Published:1981
Format:Hardcover
Publisher:C.E. Merrill Publishing Company
Original from:Pennsylvania State University
Digitized:July 15, 2009
Language:English
Author:George R. Bramer, Dorothy Sedley
It's part of a wave of reaction against Strunk & White,
where they started basing writing on research into reading.
(If it's the right book.)
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-20, Karl O. Pinc wrote:
On Fri, 20 Jan 2023 12:42:31 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
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.A quick google on the subject tells me that I can't figure out a good
quick google. I believe it's from the book at bottom. Memorability
goes "end", "beginning", "middle". IIRC.
Ah well. I just put it back the way you had it.
I hope somebody with more docbook-fu can comment: maybe
there's a way to fix it more generally somehow?What would the general solution be?
I don't know, I was thinking that perhaps at the start of the appendix
we could have some kind of marker that says "in this chapter, the
<sect1>s all get a page break", then a marker to stop that at the end of
the appendix. Or a tweak to the stylesheet, "when inside an appendix,
all <sect1>s get a pagebreak", in a way that doesn't affect the other
chapters.
The <?hard-pagebreak?> solution looks really ugly to me (in the source
code I mean), but I suppose if we discover no other way to do it, we
could do it like that.
There could be a forced page break at the beginning of _every_ sect1.
That seems a bit much, but maybe not. The only other thing I can
think of that's "general" would be to force a page break for sect1-s
that are in an appendix. Is any of this wanted? (Or technically
"better"?)
I wouldn't want to changing the behavior of all the <sect1>s in the
whole documentation. Though if you want to try and garner support to do
that, I won't oppose it, particularly since it only matters for PDF.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
<inflex> really, I see PHP as like a strange amalgamation of C, Perl, Shell
<crab> inflex: you know that "amalgam" means "mixture with mercury",
more or less, right?
<crab> i.e., "deadly poison"
Ah, I wanted to attach the two remaining patches and forgot. Here they
are.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
Attachments:
v7-0001-Install-trusted-and-obsolete-markers-in-section-t.patchtext/x-diff; charset=us-asciiDownload
From ba972984da37b5a315bd7a4face064d24ca41436 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri, 20 Jan 2023 12:32:22 +0100
Subject: [PATCH v7 1/2] 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 — GIN operator classes with B-tree behavior</title>
+ <title>btree_gin — 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 — GiST operator classes with B-tree behavior</title>
+ <title>btree_gist — 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 — a case-insensitive character string type</title>
+ <title>citext — 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 — a multi-dimensional cube data type</title>
+ <title>cube — 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 —
- 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 1a5ebbb22f..bf1caab54d 100644
--- a/doc/src/sgml/fuzzystrmatch.sgml
+++ b/doc/src/sgml/fuzzystrmatch.sgml
@@ -1,7 +1,7 @@
<!-- doc/src/sgml/fuzzystrmatch.sgml -->
<sect1 id="fuzzystrmatch" xreflabel="fuzzystrmatch">
- <title>fuzzystrmatch — determine string similarities and distance</title>
+ <title>fuzzystrmatch — 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 — hstore key/value datatype</title>
+ <title>hstore — 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 — integer aggregator and enumerator</title>
+ <title>intagg — 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 — manipulate arrays of integers</title>
+ <title>intarray — 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 — data types for international standard numbers (ISBN, EAN, UPC, etc.)</title>
+ <title>isn — 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 — manage large objects</title>
+ <title>lo — 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 — hierarchical tree-like data type</title>
+ <title>ltree — 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 — cryptographic functions</title>
+ <title>pgcrypto — 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 —
- 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 — a datatype for line segments or floating point intervals</title>
+ <title>seg — 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 — functions that return tables (<function>crosstab</function> and others)</title>
+ <title>tablefunc — 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 — a trigger function to notify listeners of changes to table content</title>
+ <title>tcn — 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 —
- 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 —
- 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 — a text search dictionary which removes diacritics</title>
+ <title>unaccent — 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 — a UUID generator</title>
+ <title>uuid-ossp — 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 — XPath querying and XSLT functionality</title>
+ <title>xml2 — XPath querying and XSLT functionality [obsolete]</title>
<indexterm zone="xml2">
<primary>xml2</primary>
--
2.30.2
v7-0002-Install-pagebreaks-between-contrib-section.patchtext/x-diff; charset=us-asciiDownload
From bf3030e34bb630014b8de24aea46e0b14d275ee3 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri, 20 Jan 2023 11:55:44 +0100
Subject: [PATCH v7 2/2] 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 | 50 ++++++++++++++++++++++++++++++++++
doc/src/sgml/stylesheet-fo.xsl | 6 ++++
2 files changed, 56 insertions(+)
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 12c79b798b..bb823bebc1 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -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?>
<ree;
+ <?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
On Fri, 20 Jan 2023 20:12:03 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-20, Karl O. Pinc wrote:
On Fri, 20 Jan 2023 12:42:31 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: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.A quick google on the subject tells me that I can't figure out a
good quick google. I believe it's from the book at bottom.
Memorability goes "end", "beginning", "middle". IIRC.Ah well. I just put it back the way you had it.
I hope somebody with more docbook-fu can comment: maybe
there's a way to fix it more generally somehow?What would the general solution be?
I don't know, I was thinking that perhaps at the start of the appendix
we could have some kind of marker that says "in this chapter, the
<sect1>s all get a page break", then a marker to stop that at the end
of the appendix. Or a tweak to the stylesheet, "when inside an
appendix, all <sect1>s get a pagebreak", in a way that doesn't affect
the other chapters.The <?hard-pagebreak?> solution looks really ugly to me (in the source
code I mean), but I suppose if we discover no other way to do it, we
could do it like that.
I can do a forced page break for sect1-s in the pdf stylesheet just
for the contrib appendix (appendix F) by looking for a parent
with an id of "contrib". That would work, but seems like a kludge.
(Otherwise, you look for a parent of "appendix" and force the page
break in all appendixes.)
I'll send a patch.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On Fri, 20 Jan 2023 20:12:38 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Ah, I wanted to attach the two remaining patches and forgot.
Attached are 2 alternatives:
(They touch separate files so the ordering is meaningless.)
v8-0001-List-trusted-and-obsolete-extensions.patch
Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.
v8-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch
This frobs the PDF style sheet so that when sect1 is used
in the appendix for the contrib directory, there is a page
break before every sect1. This puts each module/extension
onto a separate page, but only for the contrib appendix.
Aside from hardcoding the "contrib" id, which I suppose isn't
too bad since it's publicly exposed as a HTML anchor (or URL
component?) and unlikely to change, this also means that the
contrib documentation can't use <section> instead of <sect1>.
Sometimes I think I only know enough XSLT to get into trouble.
While v8 is "right", I can't say if it is a good idea/good practice.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
v8-0001-List-trusted-and-obsolete-extensions.patchtext/x-patchDownload
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 8816e06337..87833915e9 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -84,6 +84,31 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
provide access to outside-the-database functionality.
</para>
+ <para id="contrib-trusted-extensions">These are the trusted extensions:
+ <simplelist type="inline">
+ <member><xref linkend="btree-gin"/></member>
+ <member><xref linkend="btree-gist"/></member>
+ <member><xref linkend="citext"/></member>
+ <member><xref linkend="cube"/></member>
+ <member><xref linkend="dict-int"/></member>
+ <member><xref linkend="fuzzystrmatch"/></member>
+ <member><xref linkend="hstore"/></member>
+ <member><xref linkend="intarray"/></member>
+ <member><xref linkend="isn"/></member>
+ <member><xref linkend="lo"/></member>
+ <member><xref linkend="ltree"/></member>
+ <member><xref linkend="pgcrypto"/></member>
+ <member><xref linkend="pgtrgm"/></member>
+ <member><xref linkend="seg"/></member>
+ <member><xref linkend="tablefunc"/></member>
+ <member><xref linkend="tcn"/></member>
+ <member><xref linkend="tsm-system-rows"/></member>
+ <member><xref linkend="tsm-system-time"/></member>
+ <member><xref linkend="unaccent"/></member>
+ <member><xref linkend="uuid-ossp"/></member>
+ </simplelist>
+ </para>
+
<para>
Many extensions allow you to install their objects in a schema of your
choice. To do that, add <literal>SCHEMA
@@ -100,6 +125,15 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
component for details.
</para>
+ <para id="contrib-obsolete">
+ These modules and extensions are obsolete:
+
+ <simplelist type="inline">
+ <member><xref linkend="intagg"/></member>
+ <member><xref linkend="xml2"/></member>
+ </simplelist>
+ </para>
+
&adminpack;
&amcheck;
&auth-delay;
v8-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patchtext/x-patchDownload
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..68a46f9e24 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,12 @@
</fo:bookmark>
</xsl:template>
+<!-- Every sect1 in the appendix describing contributed modules
+ gets a page break -->
+
+<xsl:template match="id('contrib')/sect1">
+ <fo:block break-after='page'/>
+ <xsl:apply-imports/>
+</xsl:template>
+
</xsl:stylesheet>
On Fri, 20 Jan 2023 14:22:25 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:
v8-0001-List-trusted-and-obsolete-extensions.patch
Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.
The list is inline. It might be worthwhile experimenting
with a tabular list, like that produced by:
<simplelist type="vert" columns="4">
But only for the list of trusted extensions. There's not
enough obsolete extensions to do anything but inline. (IMO)
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attached are 2 v9 patch versions. I don't think I like them.
I think the v8 versions are better. But I thought it
wouldn't hurt to show them to you.
On Fri, 20 Jan 2023 14:22:25 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:
Attached are 2 alternatives:
(They touch separate files so the ordering is meaningless.)v8-0001-List-trusted-and-obsolete-extensions.patch
Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.
v9 puts the list in vertical format, 5 columns.
But the column spacing in HTML is ugly, and I don't
see a parameter to set to change it. I suppose we could
do more work on the stylesheets, but this seems excessive.
It looks good in PDF, but the page break in the middle
of the paragraph is ugly. (US-Letter) Again (without forcing a hard
page break by frobbing the stylesheet and adding a processing
instruction), I don't see a a good way to fix the page break.
(sagehill.net says that soft page breaks don't work. I didn't
try it.)
v8-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch
This frobs the PDF style sheet so that when sect1 is used
in the appendix for the contrib directory, there is a page
break before every sect1. This puts each module/extension
onto a separate page, but only for the contrib appendix.Aside from hardcoding the "contrib" id, which I suppose isn't
too bad since it's publicly exposed as a HTML anchor (or URL
component?) and unlikely to change, this also means that the
contrib documentation can't use <section> instead of <sect1>.
v9 supports using <section> instead of just <sect1>. But
I don't know that it's worth it -- the appendix is committed
to sect* entities. Once you start with sect* the stylesheet
does not allow "section" use to be interspersed. All the
sect*s would have to be changed to "section" throughout
the appendix and I don't see that happening.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
v9-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patchtext/x-patchDownload
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..9ce36c7279 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,12 @@
</fo:bookmark>
</xsl:template>
+<!-- Every sect1 in the appendix describing contributed modules
+ gets a page break -->
+
+<xsl:template match="id('contrib')/sect1|id('contrib')/section">
+ <fo:block break-after='page'/>
+ <xsl:apply-imports/>
+</xsl:template>
+
</xsl:stylesheet>
v9-0001-List-trusted-and-obsolete-extensions.patchtext/x-patchDownload
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 12c79b798b..077184d90d 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -84,6 +84,31 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
provide access to outside-the-database functionality.
</para>
+ <para id="contrib-trusted-extensions">These are the trusted extensions:
+ <simplelist type="vert" columns="5">
+ <member><xref linkend="btree-gin"/></member>
+ <member><xref linkend="btree-gist"/></member>
+ <member><xref linkend="citext"/></member>
+ <member><xref linkend="cube"/></member>
+ <member><xref linkend="dict-int"/></member>
+ <member><xref linkend="fuzzystrmatch"/></member>
+ <member><xref linkend="hstore"/></member>
+ <member><xref linkend="intarray"/></member>
+ <member><xref linkend="isn"/></member>
+ <member><xref linkend="lo"/></member>
+ <member><xref linkend="ltree"/></member>
+ <member><xref linkend="pgcrypto"/></member>
+ <member><xref linkend="pgtrgm"/></member>
+ <member><xref linkend="seg"/></member>
+ <member><xref linkend="tablefunc"/></member>
+ <member><xref linkend="tcn"/></member>
+ <member><xref linkend="tsm-system-rows"/></member>
+ <member><xref linkend="tsm-system-time"/></member>
+ <member><xref linkend="unaccent"/></member>
+ <member><xref linkend="uuid-ossp"/></member>
+ </simplelist>
+ </para>
+
<para>
Many extensions allow you to install their objects in a schema of your
choice. To do that, add <literal>SCHEMA
@@ -100,6 +125,15 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
component for details.
</para>
+ <para id="contrib-obsolete">
+ These modules and extensions are obsolete:
+
+ <simplelist type="inline">
+ <member><xref linkend="intagg"/></member>
+ <member><xref linkend="xml2"/></member>
+ </simplelist>
+ </para>
+
&adminpack;
&amcheck;
&auth-delay;
On Sat, 21 Jan 2023 08:11:43 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:
Attached are 2 v9 patch versions. I don't think I like them.
I think the v8 versions are better. But I thought it
wouldn't hurt to show them to you.On Fri, 20 Jan 2023 14:22:25 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:Attached are 2 alternatives:
(They touch separate files so the ordering is meaningless.)v8-0001-List-trusted-and-obsolete-extensions.patch
Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.v9 puts the list in vertical format, 5 columns.
But the column spacing in HTML is ugly, and I don't
see a parameter to set to change it. I suppose we could
do more work on the stylesheets, but this seems excessive.
Come to think of it, this should be fixed by using CSS
with a
table.simplelist
selector. Or something along those lines. But I don't
have a serious interest in proceeding further. A inline
list seems good enough, even if it does not stand out
in a visual scan of the page. There is a certain amount
of visual-standout due to all the hyperlinks next to each
other in the inline presentation.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On Sun, 22 Jan 2023 08:09:03 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:
On Sat, 21 Jan 2023 08:11:43 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:Attached are 2 v9 patch versions. I don't think I like them.
I think the v8 versions are better. But I thought it
wouldn't hurt to show them to you.On Fri, 20 Jan 2023 14:22:25 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:Attached are 2 alternatives:
(They touch separate files so the ordering is meaningless.)v8-0001-List-trusted-and-obsolete-extensions.patch
Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.v9 puts the list in vertical format, 5 columns.
But the column spacing in HTML is ugly, and I don't
see a parameter to set to change it. I suppose we could
do more work on the stylesheets, but this seems excessive.Come to think of it, this should be fixed by using CSS
with atable.simplelist
Actually, this CSS, added to doc/src/sgml/stylesheet.css,
makes the column spacing look pretty good:
/* Adequate spacing between columns in a simplelist non-inline table */
.simplelist td { padding-left: 2em; padding-right: 2em; }
(No point in specifying table, since td only shows up in tables.)
Note that the default simplelist type value is "vert", causing a 1
column vertical display. There are a number of these in the
documenation. I kind of like what the above css does to these
layouts. An example would be the layout in
doc/src/sgml/html/datatype-boolean.html, which is the "Data Types"
section "Boolean Type" sub-section.
For other places affected see: grep -l doc/src/sgml/*.sgml simplelist
Attached are 2 patches:
v10-0001-List-trusted-and-obsolete-extensions.patch
List trusted extenions in 4 columns, with the CSS altered
to put spacing between vertical columns. I changed this
from the 5 columns of v9 because with 5 columns there
was a little bit of overflow into the right hand margin
of a US-letter PDF. The PDF still has an ugly page
break right before the table. To avoid that use the v8
version, which presents the list inline.
v10-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch
This is exactly like the v8 version. See my comments earlier
about v8 v.s. v9.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
v10-0001-List-trusted-and-obsolete-extensions.patchtext/x-patchDownload
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 12c79b798b..b9f3268cad 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -84,6 +84,32 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
provide access to outside-the-database functionality.
</para>
+ <para id="contrib-trusted-extensions">These are the trusted extensions:
+ </para>
+
+ <simplelist type="vert" columns="4">
+ <member><xref linkend="btree-gin"/></member>
+ <member><xref linkend="btree-gist"/></member>
+ <member><xref linkend="citext"/></member>
+ <member><xref linkend="cube"/></member>
+ <member><xref linkend="dict-int"/></member>
+ <member><xref linkend="fuzzystrmatch"/></member>
+ <member><xref linkend="hstore"/></member>
+ <member><xref linkend="intarray"/></member>
+ <member><xref linkend="isn"/></member>
+ <member><xref linkend="lo"/></member>
+ <member><xref linkend="ltree"/></member>
+ <member><xref linkend="pgcrypto"/></member>
+ <member><xref linkend="pgtrgm"/></member>
+ <member><xref linkend="seg"/></member>
+ <member><xref linkend="tablefunc"/></member>
+ <member><xref linkend="tcn"/></member>
+ <member><xref linkend="tsm-system-rows"/></member>
+ <member><xref linkend="tsm-system-time"/></member>
+ <member><xref linkend="unaccent"/></member>
+ <member><xref linkend="uuid-ossp"/></member>
+ </simplelist>
+
<para>
Many extensions allow you to install their objects in a schema of your
choice. To do that, add <literal>SCHEMA
@@ -100,6 +126,15 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
component for details.
</para>
+ <para id="contrib-obsolete">
+ These modules and extensions are obsolete:
+
+ <simplelist type="inline">
+ <member><xref linkend="intagg"/></member>
+ <member><xref linkend="xml2"/></member>
+ </simplelist>
+ </para>
+
&adminpack;
&amcheck;
&auth-delay;
diff --git a/doc/src/sgml/stylesheet.css b/doc/src/sgml/stylesheet.css
index 6410a47958..61d8a6537d 100644
--- a/doc/src/sgml/stylesheet.css
+++ b/doc/src/sgml/stylesheet.css
@@ -163,3 +163,6 @@ acronym { font-style: inherit; }
width: 75%;
}
}
+
+/* Adequate spacing between columns in a simplelist non-inline table */
+table.simplelist td { padding-left: 2em; padding-right: 2em; }
v10-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patchtext/x-patchDownload
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..68a46f9e24 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,12 @@
</fo:bookmark>
</xsl:template>
+<!-- Every sect1 in the appendix describing contributed modules
+ gets a page break -->
+
+<xsl:template match="id('contrib')/sect1">
+ <fo:block break-after='page'/>
+ <xsl:apply-imports/>
+</xsl:template>
+
</xsl:stylesheet>
On Sun, 22 Jan 2023 14:42:46 -0600
"Karl O. Pinc" <kop@karlpinc.com> wrote:
Attached are 2 patches:
v10-0001-List-trusted-and-obsolete-extensions.patch
List trusted extenions in 4 columns, with the CSS altered
to put spacing between vertical columns.
In theory, a number of other simplelist presentations
could benefit from this. For example, in the Data Types
Boolean Type section the true truth values are
presently listed vertically, like so:
true
yes
on
1
Instead they could still be listed 'type="vert"' (the default),
but with 'columns="4"', to produce something like:
true yes on 1
This stands out just as much, but takes less space
on the page.
Likewise, perhaps some tables are tables instead of
simplelists just because putting simplelists into
columns was so ugly.
I'll leave such modifications to others, at least for
now.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Jan-22, Karl O. Pinc wrote:
Actually, this CSS, added to doc/src/sgml/stylesheet.css,
makes the column spacing look pretty good:/* Adequate spacing between columns in a simplelist non-inline table */
.simplelist td { padding-left: 2em; padding-right: 2em; }
Okay, this looks good to me too. However, for it to actually work, we
need to patch the corresponding CSS file in the pgweb repository too.
I'll follow up in the other mailing list.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
Hello pgsql-web,
We're looking to improve the contrib docs with a list of trusted
extensions. In order for that look more presentable, Karl has come up
with the idea of using a <simplelist> table with multiple columns. That
would normally look quite terrible because the cell contents are too
close to one another, so he came up with the idea of increasing the
padding, as shown in this patch.
I think this is good thing, as it can help us use tabular <simplelist>
in other places too.
This change requires to change main Postgres doc/src/sgml/stylesheet.css
as Karl suggested here:
On 2023-Jan-22, Karl O. Pinc wrote:
Actually, this CSS, added to doc/src/sgml/stylesheet.css,
makes the column spacing look pretty good:/* Adequate spacing between columns in a simplelist non-inline table */
table.simplelist td { padding-left: 2em; padding-right: 2em; }(No point in specifying table, since td only shows up in tables.)
Note that the default simplelist type value is "vert", causing a 1
column vertical display. There are a number of these in the
documenation. I kind of like what the above css does to these
layouts. An example would be the layout in
doc/src/sgml/html/datatype-boolean.html, which is the "Data Types"
section "Boolean Type" sub-section.
... but in addition it needs the pgweb CSS to be updated to match, as in
the attached patch.
What do you think?
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"The eagle never lost so much time, as
when he submitted to learn of the crow." (William Blake)
Attachments:
0001-Add-padding-to-table.simplelist-for-more-readable-ou.patchtext/x-diff; charset=us-asciiDownload
From bb4a5388cbc373789c7548a4a390e37bbab8dbec Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Thu, 9 Mar 2023 10:22:23 +0100
Subject: [PATCH] Add padding to table.simplelist for more readable output
Suggested by Karl Pinc
---
media/css/main.css | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/media/css/main.css b/media/css/main.css
index 723366c9..fd082ae4 100644
--- a/media/css/main.css
+++ b/media/css/main.css
@@ -1169,6 +1169,12 @@ code,
color: var(--doccontent-code-fg-color) !important;
}
+/** Simplelist */
+#docContent table.simplelist td {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
/**
* Various callout boxes for docs, including warning, caution, note, tip
*/
--
2.30.2
On 9 Mar 2023, at 10:27, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
... but in addition it needs the pgweb CSS to be updated to match, as in
the attached patch.What do you think?
LGTM.
--
Daniel Gustafsson
On 3/9/23 4:35 AM, Daniel Gustafsson wrote:
On 9 Mar 2023, at 10:27, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
... but in addition it needs the pgweb CSS to be updated to match, as in
the attached patch.What do you think?
LGTM.
I'm OK with the change, I'm not OK with the comment around it because
"Simplelist" doesn't really give meaning to it AFAICT. Maybe:
/** Additional formatting for "simplelist" structures */
#docContent table.simplelist td {
padding-left: 2em;
padding-right: 2em;
}
Jonathan
On 2023-Mar-09, Jonathan S. Katz wrote:
I'm OK with the change, I'm not OK with the comment around it because
"Simplelist" doesn't really give meaning to it AFAICT. Maybe:/** Additional formatting for "simplelist" structures */
#docContent table.simplelist td {
padding-left: 2em;
padding-right: 2em;
}
Uh, absolutely. Here's a complete patch (in case you wanted that),
thanks.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"Las cosas son buenas o malas segun las hace nuestra opinión" (Lisias)
Attachments:
v2-0001-Add-padding-to-table.simplelist-for-more-readable.patchtext/x-diff; charset=us-asciiDownload
From 4666a97e4b656361ee0408ff03a69fb810cfa4f0 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Thu, 9 Mar 2023 10:22:23 +0100
Subject: [PATCH v2] Add padding to table.simplelist for more readable output
This only affects the Postgres documentation pages.
Suggested by Karl Pinc
Reviewed-by: Jonathan S. Katz
Reviewed-by: Daniel Gustafsson
---
media/css/main.css | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/media/css/main.css b/media/css/main.css
index 723366c9..e69e5f16 100644
--- a/media/css/main.css
+++ b/media/css/main.css
@@ -1169,6 +1169,12 @@ code,
color: var(--doccontent-code-fg-color) !important;
}
+/** Additional formatting for "simplelist" structures */
+#docContent table.simplelist td {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
/**
* Various callout boxes for docs, including warning, caution, note, tip
*/
--
2.30.2
Hi Alvaro,
On Thu, 9 Mar 2023 10:22:49 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Jan-22, Karl O. Pinc wrote:
Actually, this CSS, added to doc/src/sgml/stylesheet.css,
makes the column spacing look pretty good:Okay, this looks good to me too. However, for it to actually work, we
need to patch the corresponding CSS file in the pgweb repository too.
I'll follow up in the other mailing list.
Do you also like the page breaking in the PDF for each
contributed package, per the
v10-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch
of
/messages/by-id/20230122144246.0ff87372@slate.karlpinc.com
?
No need to reply if I don't need to do anything. (I didn't
want the patch to get lost.)
Thanks for the review.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 3/9/23 1:36 PM, Alvaro Herrera wrote:
On 2023-Mar-09, Jonathan S. Katz wrote:
I'm OK with the change, I'm not OK with the comment around it because
"Simplelist" doesn't really give meaning to it AFAICT. Maybe:/** Additional formatting for "simplelist" structures */
#docContent table.simplelist td {
padding-left: 2em;
padding-right: 2em;
}Uh, absolutely. Here's a complete patch (in case you wanted that),
thanks.
LGTM -- pushed. If it's not reflected within a few hours please let me
know and I'll force clear the caches.
Thanks,
Jonathan
On Mon, 13 Mar 2023 at 09:28, Jonathan S. Katz <jkatz@postgresql.org> wrote:
Uh, absolutely. Here's a complete patch (in case you wanted that),
thanks.LGTM -- pushed. If it's not reflected within a few hours please let me
know and I'll force clear the caches.
I think this means the patch is committed? I'll update the commitfest
entry as committed but if there's more to be done feel free to fix.
--
Gregory Stark
As Commitfest Manager
On Tue, 14 Mar 2023 at 13:49, Gregory Stark (as CFM)
<stark.cfm@gmail.com> wrote:
On Mon, 13 Mar 2023 at 09:28, Jonathan S. Katz <jkatz@postgresql.org> wrote:
Uh, absolutely. Here's a complete patch (in case you wanted that),
thanks.LGTM -- pushed. If it's not reflected within a few hours please let me
know and I'll force clear the caches.I think this means the patch is committed? I'll update the commitfest
entry as committed but if there's more to be done feel free to fix.
Hum. Jonathon Katz isn't listed as a committer -- is this a web site
change or something else? Or do we need to add Jonathon?
--
greg
Sorry, having read the whole thread I think it's clear. The source
tree patch was committed by Alvaro H in
a7e584a7d68a9a2bcc7efaf442262771f9044248 and then Katz pushed the
pgweb change. So I gather this is resolved now and I've marked it
committed by Alvaro.
On Tue, 14 Mar 2023 13:57:57 -0400
Greg Stark <stark@mit.edu> wrote:
Sorry, having read the whole thread I think it's clear. The source
tree patch was committed by Alvaro H in
a7e584a7d68a9a2bcc7efaf442262771f9044248 and then Katz pushed the
pgweb change. So I gather this is resolved now and I've marked it
committed by Alvaro.
There remains an un-committed patch from this thread/commitfest
entry:
v10-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch
When generating the PDF docs it starts each contrib entry on
a separate page.
From:
/messages/by-id/20230122144246.0ff87372@slate.karlpinc.com
I've re-attached the patch. Nobody has commented directly
on this particular patch, although there was a "looks ok" reply
to the email.
I don't know what the policy is now that the commitfest entry
is closed. Perhaps Alvaro was planning on committing it?
Please let me know if I should open up a new
commitfest entry or if there is something else I need to do.
Thanks for the help.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Attachments:
v10-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patchtext/x-patchDownload
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..68a46f9e24 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,12 @@
</fo:bookmark>
</xsl:template>
+<!-- Every sect1 in the appendix describing contributed modules
+ gets a page break -->
+
+<xsl:template match="id('contrib')/sect1">
+ <fo:block break-after='page'/>
+ <xsl:apply-imports/>
+</xsl:template>
+
</xsl:stylesheet>
On 2023-Mar-14, Karl O. Pinc wrote:
On Tue, 14 Mar 2023 13:57:57 -0400
Greg Stark <stark@mit.edu> wrote:Sorry, having read the whole thread I think it's clear. The source
tree patch was committed by Alvaro H in
a7e584a7d68a9a2bcc7efaf442262771f9044248 and then Katz pushed the
pgweb change. So I gather this is resolved now and I've marked it
committed by Alvaro.
Actually, the 0001 patch hadn't been fully committed yet ... I had only
added the CSS tweaks. I have now pushed the addition of the tables to
the SGML sources, with minor tag changes: I found that with the
<simplelist> outside of any <para>, the list was too close to the next
paragraph, which looked a bit ugly. I put the list inside the <para>
that explains what the list is. It looks good with PDF, website-HTML
and plain-HTML rendering now; didn't look at other output formats.
So, the CF entry being marked committed is now correct as far as I'm
concerned.
There remains an un-committed patch from this thread/commitfest
entry:
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl index 0c4dff92c4..68a46f9e24 100644 --- a/doc/src/sgml/stylesheet-fo.xsl +++ b/doc/src/sgml/stylesheet-fo.xsl
+<!-- Every sect1 in the contrib appendix gets a page break --> +<xsl:template match="id('contrib')/sect1"> + <fo:block break-after='page'/> + <xsl:apply-imports/> +</xsl:template>
Yeah, I think this one achieves what I wanted and isn't a maintenance
burden, but I would like to hear from other CSS people. I guess I could
just commit it and see what complaints I get (probably none).
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
“Cuando no hay humildad las personas se degradan” (A. Christie)
On Wed, 15 Mar 2023 09:41:27 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Actually, the 0001 patch hadn't been fully committed yet ... I had
only added the CSS tweaks. I have now pushed the addition of the
tables to the SGML sources, with minor tag changes: I found that with
the <simplelist> outside of any <para>, the list was too close to the
next paragraph, which looked a bit ugly. I put the list inside the
<para> that explains what the list is. It looks good with PDF,
website-HTML and plain-HTML rendering now; didn't look at other
output formats. So, the CF entry being marked committed is now
correct as far as I'm concerned.
Thanks for noticing that. (I'd always vaguely wondered about
lists being inside v.s. outside of paragraphs. There must be other
places in the docs where this matters. ?)
There remains an un-committed patch from this thread/commitfest
entry:diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl index 0c4dff92c4..68a46f9e24 100644 --- a/doc/src/sgml/stylesheet-fo.xsl +++ b/doc/src/sgml/stylesheet-fo.xsl+<!-- Every sect1 in the contrib appendix gets a page break --> +<xsl:template match="id('contrib')/sect1"> + <fo:block break-after='page'/> + <xsl:apply-imports/> +</xsl:template>Yeah, I think this one achieves what I wanted and isn't a maintenance
burden, but I would like to hear from other CSS people. I guess I
could just commit it and see what complaints I get (probably none).
FWIW, this patch is not to CSS. It's XSLT and affects only the PDF
generation.
(The patch is a response to your "aside" and remarks regarding a
separate thread, here:
/messages/by-id/20230118173447.aegjdk3girgkqu2g@alvherre.pgsql
)
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Mar-15, Karl O. Pinc wrote:
On Wed, 15 Mar 2023 09:41:27 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
Yeah, I think this one achieves what I wanted and isn't a maintenance
burden, but I would like to hear from other CSS people. I guess I
could just commit it and see what complaints I get (probably none).FWIW, this patch is not to CSS. It's XSLT and affects only the PDF
generation.
Yeah, I misspoke. I was aware it's XSLT, a territory I'm wholly
unfamiliar with. I have pushed it now nonetheless. Thank you!
(The patch is a response to your "aside" and remarks regarding a
separate thread, here:
/messages/by-id/20230118173447.aegjdk3girgkqu2g@alvherre.pgsql
)
Right :-)
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"El destino baraja y nosotros jugamos" (A. Schopenhauer)
On Mon, 20 Mar 2023 14:16:45 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Mar-15, Karl O. Pinc wrote:
Yeah, I misspoke. I was aware it's XSLT, a territory I'm wholly
unfamiliar with. I have pushed it now nonetheless. Thank you!
Thank you for all your help with this.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
Hi,
There seems to be a problem with the html generated
for the public-facing Postgresql docs.
I'm looking at the contrib page in the devel docs,
on the pg website:
https://www.postgresql.org/docs/devel/contrib.html
The simplelist holding the list of trusted extensions,
in doc/src/sgml/contrib.sgml, is inside the paragraph.
But when I look at the delivered html, I see the table
outside of the paragraph. And the vertical spacing
looks poor as a result.
Alvaro moved the simplelist into the paragraph to
fix just this problem.
Building HEAD (of master) on my computer (Debian 11.6)
what I see is the generation of two paragraphs,
one with the leading text and a second that contains
the simplelist table. (Er, why 2 paragraphs instead
of just one paragraph with both text and table in
it I can't say.)
The html built on my computer has vertical spacing
that looks good.
Could it be that the build system has out-of-date
docbook xslt? In any case, it looks like what's
produced for the world to see is different from what
Alvaro and I are seeing.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
P.S. I don't know what html Alvero is generating,
but his looks good and what's on postgresql.org does
not look good. So I assume that he's getting something
different from what the public sees now.
Hi,
I rebuilt the HEAD (master) html with:
make STYLE=website html
and what I see locally is still different from
what is on postgresql.org.
So the build system does indeed seem to be generating
"different html" that looks un-good compared to what
Alvaro and I are seeing when we build locally.
On Mon, 20 Mar 2023 15:20:38 -0500
"Karl O. Pinc" <kop@karlpinc.com> wrote:
There seems to be a problem with the html generated
for the public-facing Postgresql docs.I'm looking at the contrib page in the devel docs,
on the pg website:https://www.postgresql.org/docs/devel/contrib.html
The simplelist holding the list of trusted extensions,
in doc/src/sgml/contrib.sgml, is inside the paragraph.But when I look at the delivered html, I see the table
outside of the paragraph. And the vertical spacing
looks poor as a result.Alvaro moved the simplelist into the paragraph to
fix just this problem.Building HEAD (of master) on my computer (Debian 11.6)
what I see is the generation of two paragraphs,
one with the leading text and a second that contains
the simplelist table. (Er, why 2 paragraphs instead
of just one paragraph with both text and table in
it I can't say.)The html built on my computer has vertical spacing
that looks good.Could it be that the build system has out-of-date
docbook xslt? In any case, it looks like what's
produced for the world to see is different from what
Alvaro and I are seeing.Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. HeinleinP.S. I don't know what html Alvero is generating,
but his looks good and what's on postgresql.org does
not look good. So I assume that he's getting something
different from what the public sees now.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 2023-Mar-22, Karl O. Pinc wrote:
Hi,
I rebuilt the HEAD (master) html with:
make STYLE=website html
and what I see locally is still different from
what is on postgresql.org.So the build system does indeed seem to be generating
"different html" that looks un-good compared to what
Alvaro and I are seeing when we build locally.
Hah, you're right -- the website is missing the closing </p>. Weird.
It is definitely possible that the website is using outdated XSLT
stylesheets. For example, at the top of the page in my local build I
see this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
whereas the website only says
<!doctype html>
<html lang="en">
<head>
I don't to waste time investigating that, though.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
Is this the pgsql-www list the right place to report
this so it does not get forgotten? (If so, no need to reply.)
On Thu, 23 Mar 2023 10:45:51 +0100
Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
On 2023-Mar-22, Karl O. Pinc wrote:
I rebuilt the HEAD (master) html with:
make STYLE=website html
and what I see locally is still different from
what is on postgresql.org.So the build system does indeed seem to be generating
"different html" that looks un-good compared to what
Alvaro and I are seeing when we build locally.Hah, you're right -- the website is missing the closing </p>. Weird.
It is definitely possible that the website is using outdated XSLT
stylesheets.
<snip>
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On 3/23/23 5:45 AM, Alvaro Herrera wrote:
On 2023-Mar-22, Karl O. Pinc wrote:
Hi,
I rebuilt the HEAD (master) html with:
make STYLE=website html
and what I see locally is still different from
what is on postgresql.org.So the build system does indeed seem to be generating
"different html" that looks un-good compared to what
Alvaro and I are seeing when we build locally.Hah, you're right -- the website is missing the closing </p>. Weird.
It is definitely possible that the website is using outdated XSLT
stylesheets. For example, at the top of the page in my local build I
see this:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>whereas the website only says
<!doctype html>
<html lang="en">
<head>
The above doctype correct for the web. That's the HTML5 doctype tag.
I haven't gone through the the doc loading process in awhile, but what
happens is that the docs build with the HTML generated (make html) and
then are processed and "uploaded" to the website through this code[1]https://git.postgresql.org/gitweb/?p=pgweb.git;a=blob;f=tools/docs/docload.py;hb=HEAD.
It's possible that somewhere in the "HTML tidy" process something may be
removed.
Looking at the current state of the contrib page, I'm not sure what the
rendering is that you expect. I can see us adding more margin to the
bottom of the table as that looks close together, but I'm not sure I
understand what other issues there are?
Jonathan
[1]: https://git.postgresql.org/gitweb/?p=pgweb.git;a=blob;f=tools/docs/docload.py;hb=HEAD
https://git.postgresql.org/gitweb/?p=pgweb.git;a=blob;f=tools/docs/docload.py;hb=HEAD
On Wed, 29 Mar 2023 13:17:33 -0400
"Jonathan S. Katz" <jkatz@postgresql.org> wrote:
The above doctype correct for the web. That's the HTML5 doctype tag.
That might be the difference, since (IIRC) the locally built site
is xhtml. Which does not seem right -- I'd expect them to be
the same. Otherwise doc patch developers can't tell what
they are producing.
Looking at the current state of the contrib page, I'm not sure what
the rendering is that you expect. I can see us adding more margin to
the bottom of the table as that looks close together, but I'm not
sure I understand what other issues there are?
That's pretty much the issue. The visual presentation differs
between the public pages and my locally generated pages.
Underlying this is a difference in the generated html,
the "real" issue IMO.
But first, a summary:
At the bottom of
https://www.postgresql.org/docs/devel/contrib.html
there is the text: "The following extensions are trusted
in a default installation:" After this there is a table.
On the public site the bottom of the table is "too close" to
the top of the next paragraph. Not so when locally building
the html.
The difference, when I look using browser-based web development
tools, is that the locally generated table is in a paragraph
but on the public page the table is not.
This accounts for the difference in presentation, which was
a deliberate choice in the docbook source sgml. The simplelist
element was moved inside the para element to produce a "standard"
vertical spacing between it and the next paragraph.
I suppose that even though the docbook DTD allows a simplelist
in a para there's no guarantee that whether one does so matters?
And/or maybe there's no guarantee that the presentation is the
same when generating xhtml v.s. html5? (This would seem wrong
to me, but I suppose there could be reasons.) Or there could be
a bug in one or the other set of html-producing style sheets.
I see that in html5 the table element is allowed only in flow
context, not phrasing context. So maybe tables can't be put
into paragraphs? I'd still think that the html5 stylesheets could
wrap tables that are "supposed to be" in paragraphs in div
elements with a class that allows them to be styled like
html5 p tags. (Perhaps this is the "fix"?? Or just throw
an empty paragraph after such tables to sidestep CSS?)
So there may be a problem somewhere in the html generation.
In any case, isn't it a problem that html5 is produced for
public consumption and xhtml produced when independently generating
the docs?
Sorry to run-on. Thinking out loud.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On Sun, Jan 22, 2023 at 02:42:46PM -0600, Karl O. Pinc wrote:
v10-0001-List-trusted-and-obsolete-extensions.patch
+ <para id="contrib-obsolete"> + These modules and extensions are obsolete: + + <simplelist type="inline"> + <member><xref linkend="intagg"/></member> + <member><xref linkend="xml2"/></member> + </simplelist> + </para>
Commit a013738 incorporated this change. Since xml2 is the only in-tree way
to use XSLT from SQL, I think xml2 is not obsolete. Some individual
functions, e.g. xml_valid(), are obsolete. (There are years-old threats to
render the module obsolete, but this has never happened.)
On Wed, 29 Mar 2023 21:32:05 -0700
Noah Misch <noah@leadboat.com> wrote:
On Sun, Jan 22, 2023 at 02:42:46PM -0600, Karl O. Pinc wrote:
v10-0001-List-trusted-and-obsolete-extensions.patch
+ <para id="contrib-obsolete"> + These modules and extensions are obsolete: + + <simplelist type="inline"> + <member><xref linkend="intagg"/></member> + <member><xref linkend="xml2"/></member> + </simplelist> + </para>Commit a013738 incorporated this change. Since xml2 is the only
in-tree way to use XSLT from SQL, I think xml2 is not obsolete. Some
individual functions, e.g. xml_valid(), are obsolete. (There are
years-old threats to render the module obsolete, but this has never
happened.)
Your point seems valid but this is above my station.
I have no idea as to how to best resolve this, or even how to make the
resolution happen now that the change has been committed.
Someone who knows more than me about the situation is needed
to change the phrasing, or re-categorize, or rework the xml2
module docs, or come up with new categories of obsolescence-like
states, or provide access to libxslt from PG, or something.
I am invested in the patch and appreciate being cc-ed.
Regards,
Karl <kop@karlpinc.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
On Thu, Mar 30, 2023 at 01:27:05AM -0500, Karl O. Pinc wrote:
On Wed, 29 Mar 2023 21:32:05 -0700
Noah Misch <noah@leadboat.com> wrote:On Sun, Jan 22, 2023 at 02:42:46PM -0600, Karl O. Pinc wrote:
v10-0001-List-trusted-and-obsolete-extensions.patch
+ <para id="contrib-obsolete"> + These modules and extensions are obsolete: + + <simplelist type="inline"> + <member><xref linkend="intagg"/></member> + <member><xref linkend="xml2"/></member> + </simplelist> + </para>Commit a013738 incorporated this change. Since xml2 is the only
in-tree way to use XSLT from SQL, I think xml2 is not obsolete. Some
individual functions, e.g. xml_valid(), are obsolete. (There are
years-old threats to render the module obsolete, but this has never
happened.)Your point seems valid but this is above my station.
I have no idea as to how to best resolve this, or even how to make the
resolution happen now that the change has been committed.
I'm inclined to just remove <para id="contrib-obsolete">. While intagg is
indeed obsolete, having a one-entry list seems like undue weight.
On 2023-Apr-09, Noah Misch wrote:
On Thu, Mar 30, 2023 at 01:27:05AM -0500, Karl O. Pinc wrote:
Your point seems valid but this is above my station.
I have no idea as to how to best resolve this, or even how to make the
resolution happen now that the change has been committed.I'm inclined to just remove <para id="contrib-obsolete">. While intagg is
indeed obsolete, having a one-entry list seems like undue weight.
I agree, let's just remove that. The list of trusted modules is clearly
useful, but the list of obsoletes one isn't terribly interesting.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"El miedo atento y previsor es la madre de la seguridad" (E. Burke)