Subject: many contrib links are broken

From: Peter Eisentraut <[email-masked]>
Date: Fri, 06 May 2011 22:07:09 +0300

The commit 159e3d86292cfec2a2828f9f69ac7a6cb1be242d created some funny
business out of many links to contrib modules.  Take a look at this
page:

http://developer.postgresql.org/pgdocs/postgres/log-shipping-alternative.html

It now reads: "See the Section F.31 module for a reference
implementation of this." (where it previously said "the pg_standby
module")  There are many other places like that now.

I don't think the toolchain changed in this area, so the whole change
was broken to begin with.  The idea is sound, IMO, but the
implementation needs to be reevaluated.

---

From: Bruce Momjian <[email-masked]>
Date: Sat, 7 May 2011 14:28:57 -0400 (EDT)

> implementation needs to be reevaluated.

Yep, this clearly needs cleanup.  The README.links file I wrote says:

<xref>
        use to get link text from the title of the target link; has no
        close tag
        http://www.oasis-open.org/docbook/documentation/reference/html/xref.html

Is that not true?  The URL seems to suggest that the title is used if
there is no xreflabel, though it suggests the the supplied text is
"Chapter ##:  title".  Of course, we are not seeing that behavior so
maybe README.links is wrong.

-- 
  Bruce Momjian  <[email-masked]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

---

From: Peter Eisentraut <[email-masked]>
Date: Sat, 07 May 2011 23:52:50 +0300

On lör, 2011-05-07 at 14:28 -0400, Bruce Momjian wrote:
> Is that not true?

It is not true in general.

> The URL seems to suggest that the title is used if

Using xreflabel might be the fix, but you'll have to try it to see if it
comes out OK.

---

From: Bruce Momjian <[email-masked]>
Date: Sat, 7 May 2011 22:25:32 -0400 (EDT)

Peter Eisentraut wrote:
> On l?r, 2011-05-07 at 14:28 -0400, Bruce Momjian wrote:

Thanks for the help.  I added xreflabels to the contrib module pages and
that fixed the item you showed me, so we should be good now.  I also
updated README.links to accurately descripbe xref.  Applied patch
attached.

  + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/README.links b/doc/src/sgml/README.links
new file mode 100644
index 8608859..2668b00
*** a/doc/src/sgml/README.links
--- b/doc/src/sgml/README.links
*************** Intra-document Linking
*** 7,14 ****
  ----------------------
  
  <xref>
! 	use to get link text from the title of the target link; has no
! 	close tag
  	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html
  
  <link>
--- 7,14 ----
  ----------------------
  
  <xref>
! 	use to get chapter/section # from the title of the target
! 	link, or xreflabel if defined at the target; has no close tag
  	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html
  
  <link>
*************** External Linking
*** 28,34 ****
  
  <ulink>
  	like <link>, but uses a URL (not a document target);  requires
! 	</ulink>; if no text is specified, the URL appears as the link text
  	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html
  
  url=
--- 28,35 ----
  
  <ulink>
  	like <link>, but uses a URL (not a document target);  requires
! 	</ulink>; if no text is specified, the URL appears as the link
! 	text
  	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html
  
  url=
*************** Guidelines
*** 40,43 ****
  
  o  If you want to supply text, use <link>, else <xref>
  o  Do not use text with <ulink> so the URL appears in printed output
! o  You can supply text at the target location with 'xreflabel'
--- 41,45 ----
  
  o  If you want to supply text, use <link>, else <xref>
  o  Do not use text with <ulink> so the URL appears in printed output
! o  Specific nouns like GUC variables, SQL commands, and contrib modules
!    usually have xreflabels
diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml
new file mode 100644
index 27d0034..9b72f34
*** a/doc/src/sgml/adminpack.sgml
--- b/doc/src/sgml/adminpack.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/adminpack.sgml -->
  
! <sect1 id="adminpack">
   <title>adminpack</title>
  
   <indexterm zone="adminpack">
--- 1,6 ----
  <!-- doc/src/sgml/adminpack.sgml -->
  
! <sect1 id="adminpack" xreflabel="adminpack">
   <title>adminpack</title>
  
   <indexterm zone="adminpack">
diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml
new file mode 100644
index 9f1f3f6..b91a7ec
*** a/doc/src/sgml/auth-delay.sgml
--- b/doc/src/sgml/auth-delay.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/auth-delay.sgml -->
  
! <sect1 id="auth-delay">
   <title>auth_delay</title>
  
   <indexterm zone="auth-delay">
--- 1,6 ----
  <!-- doc/src/sgml/auth-delay.sgml -->
  
! <sect1 id="auth-delay" xreflabel="auth_delay">
   <title>auth_delay</title>
  
   <indexterm zone="auth-delay">
diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml
new file mode 100644
index 405e3f7..b16f906
*** a/doc/src/sgml/auto-explain.sgml
--- b/doc/src/sgml/auto-explain.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/auto-explain.sgml -->
  
! <sect1 id="auto-explain">
   <title>auto_explain</title>
  
   <indexterm zone="auto-explain">
--- 1,6 ----
  <!-- doc/src/sgml/auto-explain.sgml -->
  
! <sect1 id="auto-explain" xreflabel="auto_explain">
   <title>auto_explain</title>
  
   <indexterm zone="auto-explain">
diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml
new file mode 100644
index 632bd1e..42b9e97
*** a/doc/src/sgml/btree-gin.sgml
--- b/doc/src/sgml/btree-gin.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/btree-gin.sgml -->
  
! <sect1 id="btree-gin">
   <title>btree_gin</title>
  
   <indexterm zone="btree-gin">
--- 1,6 ----
  <!-- doc/src/sgml/btree-gin.sgml -->
  
! <sect1 id="btree-gin" xreflabel="btree_gin">
   <title>btree_gin</title>
  
   <indexterm zone="btree-gin">
diff --git a/doc/src/sgml/btree-gist.sgml b/doc/src/sgml/btree-gist.sgml
new file mode 100644
index af3f707..e52971f
*** a/doc/src/sgml/btree-gist.sgml
--- b/doc/src/sgml/btree-gist.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/btree-gist.sgml -->
  
! <sect1 id="btree-gist">
   <title>btree_gist</title>
  
   <indexterm zone="btree-gist">
--- 1,6 ----
  <!-- doc/src/sgml/btree-gist.sgml -->
  
! <sect1 id="btree-gist" xreflabel="btree_gist">
   <title>btree_gist</title>
  
   <indexterm zone="btree-gist">
diff --git a/doc/src/sgml/chkpass.sgml b/doc/src/sgml/chkpass.sgml
new file mode 100644
index b9b3c08..9f682d8
*** a/doc/src/sgml/chkpass.sgml
--- b/doc/src/sgml/chkpass.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/chkpass.sgml -->
  
! <sect1 id="chkpass">
   <title>chkpass</title>
  
   <indexterm zone="chkpass">
--- 1,6 ----
  <!-- doc/src/sgml/chkpass.sgml -->
  
! <sect1 id="chkpass" xreflabel="chkpass">
   <title>chkpass</title>
  
   <indexterm zone="chkpass">
diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml
new file mode 100644
index 68a2aa4..8cbde88
*** a/doc/src/sgml/citext.sgml
--- b/doc/src/sgml/citext.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/citext.sgml -->
  
! <sect1 id="citext">
   <title>citext</title>
  
   <indexterm zone="citext">
--- 1,6 ----
  <!-- doc/src/sgml/citext.sgml -->
  
! <sect1 id="citext" xreflabel="citext">
   <title>citext</title>
  
   <indexterm zone="citext">
diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml
new file mode 100644
index 55e5ce2..3287c18
*** a/doc/src/sgml/contrib-spi.sgml
--- b/doc/src/sgml/contrib-spi.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/contrib-spi.sgml -->
  
! <sect1 id="contrib-spi">
   <title>spi</title>
  
   <indexterm zone="contrib-spi">
--- 1,6 ----
  <!-- doc/src/sgml/contrib-spi.sgml -->
  
! <sect1 id="contrib-spi" xreflabel="spi">
   <title>spi</title>
  
   <indexterm zone="contrib-spi">
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
new file mode 100644
index 0fcbf21..e2da685
*** a/doc/src/sgml/cube.sgml
--- b/doc/src/sgml/cube.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/cube.sgml -->
  
! <sect1 id="cube">
   <title>cube</title>
  
   <indexterm zone="cube">
--- 1,6 ----
  <!-- doc/src/sgml/cube.sgml -->
  
! <sect1 id="cube" xreflabel="cube">
   <title>cube</title>
  
   <indexterm zone="cube">
diff --git a/doc/src/sgml/dblink.sgml b/doc/src/sgml/dblink.sgml
new file mode 100644
index 295544e..2255140
*** a/doc/src/sgml/dblink.sgml
--- b/doc/src/sgml/dblink.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/dblink.sgml -->
  
! <sect1 id="dblink">
   <title>dblink</title>
  
   <indexterm zone="dblink">
--- 1,6 ----
  <!-- doc/src/sgml/dblink.sgml -->
  
! <sect1 id="dblink" xreflabel="dblink">
   <title>dblink</title>
  
   <indexterm zone="dblink">
diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml
new file mode 100644
index 17f98c0..d49f3e2
*** a/doc/src/sgml/dict-int.sgml
--- b/doc/src/sgml/dict-int.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/dict-int.sgml -->
  
! <sect1 id="dict-int">
   <title>dict_int</title>
  
   <indexterm zone="dict-int">
--- 1,6 ----
  <!-- doc/src/sgml/dict-int.sgml -->
  
! <sect1 id="dict-int" xreflabel="dict_int">
   <title>dict_int</title>
  
   <indexterm zone="dict-int">
diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml
new file mode 100644
index 23c5d98..42362ff
*** a/doc/src/sgml/dict-xsyn.sgml
--- b/doc/src/sgml/dict-xsyn.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/dict-xsyn.sgml -->
  
! <sect1 id="dict-xsyn">
   <title>dict_xsyn</title>
  
   <indexterm zone="dict-xsyn">
--- 1,6 ----
  <!-- doc/src/sgml/dict-xsyn.sgml -->
  
! <sect1 id="dict-xsyn" xreflabel="dict_xsyn">
   <title>dict_xsyn</title>
  
   <indexterm zone="dict-xsyn">
diff --git a/doc/src/sgml/dummy-seclabel.sgml b/doc/src/sgml/dummy-seclabel.sgml
new file mode 100644
index 30d5819..28d19d2
*** a/doc/src/sgml/dummy-seclabel.sgml
--- b/doc/src/sgml/dummy-seclabel.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/dummy_seclabel.sgml -->
  
! <sect1 id="dummy-seclabel">
   <title>dummy_seclabel</title>
  
   <indexterm zone="dummy-seclabel">
--- 1,6 ----
  <!-- doc/src/sgml/dummy_seclabel.sgml -->
  
! <sect1 id="dummy-seclabel" xreflabel="dummy_seclabel">
   <title>dummy_seclabel</title>
  
   <indexterm zone="dummy-seclabel">
diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml
new file mode 100644
index 48d9e6b..f9002b2
*** a/doc/src/sgml/earthdistance.sgml
--- b/doc/src/sgml/earthdistance.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/earthdistance.sgml -->
  
! <sect1 id="earthdistance">
   <title>earthdistance</title>
  
   <indexterm zone="earthdistance">
--- 1,6 ----
  <!-- doc/src/sgml/earthdistance.sgml -->
  
! <sect1 id="earthdistance" xreflabel="earthdistance">
   <title>earthdistance</title>
  
   <indexterm zone="earthdistance">
diff --git a/doc/src/sgml/file-fdw.sgml b/doc/src/sgml/file-fdw.sgml
new file mode 100644
index 003c415..e6ccdad
*** a/doc/src/sgml/file-fdw.sgml
--- b/doc/src/sgml/file-fdw.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/file-fdw.sgml -->
  
! <sect1 id="file-fdw">
   <title>file_fdw</title>
  
   <indexterm zone="file-fdw">
--- 1,6 ----
  <!-- doc/src/sgml/file-fdw.sgml -->
  
! <sect1 id="file-fdw" xreflabel="file_fdw">
   <title>file_fdw</title>
  
   <indexterm zone="file-fdw">
diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml
new file mode 100644
index cec3363..5078bf8
*** a/doc/src/sgml/fuzzystrmatch.sgml
--- b/doc/src/sgml/fuzzystrmatch.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/fuzzystrmatch.sgml -->
  
! <sect1 id="fuzzystrmatch">
   <title>fuzzystrmatch</title>
  
   <indexterm zone="fuzzystrmatch">
--- 1,6 ----
  <!-- doc/src/sgml/fuzzystrmatch.sgml -->
  
! <sect1 id="fuzzystrmatch" xreflabel="fuzzystrmatch">
   <title>fuzzystrmatch</title>
  
   <indexterm zone="fuzzystrmatch">
diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
new file mode 100644
index acd931a..aa21295
*** a/doc/src/sgml/hstore.sgml
--- b/doc/src/sgml/hstore.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/hstore.sgml -->
  
! <sect1 id="hstore">
   <title>hstore</title>
  
   <indexterm zone="hstore">
--- 1,6 ----
  <!-- doc/src/sgml/hstore.sgml -->
  
! <sect1 id="hstore" xreflabel="hstore">
   <title>hstore</title>
  
   <indexterm zone="hstore">
diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml
new file mode 100644
index 43e36fb..ea5acbe
*** a/doc/src/sgml/intagg.sgml
--- b/doc/src/sgml/intagg.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/intagg.sgml -->
  
! <sect1 id="intagg">
   <title>intagg</title>
  
   <indexterm zone="intagg">
--- 1,6 ----
  <!-- doc/src/sgml/intagg.sgml -->
  
! <sect1 id="intagg" xreflabel="intagg">
   <title>intagg</title>
  
   <indexterm zone="intagg">
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
new file mode 100644
index 5ad738d..2bbd98a
*** a/doc/src/sgml/intarray.sgml
--- b/doc/src/sgml/intarray.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/intarray.sgml -->
  
! <sect1 id="intarray">
   <title>intarray</title>
  
   <indexterm zone="intarray">
--- 1,6 ----
  <!-- doc/src/sgml/intarray.sgml -->
  
! <sect1 id="intarray" xreflabel="intarray">
   <title>intarray</title>
  
   <indexterm zone="intarray">
diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml
new file mode 100644
index 38c9864..79ca3ac
*** a/doc/src/sgml/isn.sgml
--- b/doc/src/sgml/isn.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/isn.sgml -->
  
! <sect1 id="isn">
   <title>isn</title>
  
   <indexterm zone="isn">
--- 1,6 ----
  <!-- doc/src/sgml/isn.sgml -->
  
! <sect1 id="isn" xreflabel="isn">
   <title>isn</title>
  
   <indexterm zone="isn">
diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml
new file mode 100644
index 33124f9..3d56ba3
*** a/doc/src/sgml/lo.sgml
--- b/doc/src/sgml/lo.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/lo.sgml -->
  
! <sect1 id="lo">
   <title>lo</title>
  
   <indexterm zone="lo">
--- 1,6 ----
  <!-- doc/src/sgml/lo.sgml -->
  
! <sect1 id="lo" xreflabel="lo">
   <title>lo</title>
  
   <indexterm zone="lo">
diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml
new file mode 100644
index d00c91e..0a91cd7
*** a/doc/src/sgml/ltree.sgml
--- b/doc/src/sgml/ltree.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/ltree.sgml -->
  
! <sect1 id="ltree">
   <title>ltree</title>
  
   <indexterm zone="ltree">
--- 1,6 ----
  <!-- doc/src/sgml/ltree.sgml -->
  
! <sect1 id="ltree" xreflabel="ltree">
   <title>ltree</title>
  
   <indexterm zone="ltree">
diff --git a/doc/src/sgml/oid2name.sgml b/doc/src/sgml/oid2name.sgml
new file mode 100644
index 36fcfd5..3e4fe24
*** a/doc/src/sgml/oid2name.sgml
--- b/doc/src/sgml/oid2name.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/oid2name.sgml -->
  
! <sect1 id="oid2name">
   <title>oid2name</title>
  
   <indexterm zone="oid2name">
--- 1,6 ----
  <!-- doc/src/sgml/oid2name.sgml -->
  
! <sect1 id="oid2name" xreflabel="oid2name">
   <title>oid2name</title>
  
   <indexterm zone="oid2name">
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
new file mode 100644
index a5fbadb..acbb05b
*** a/doc/src/sgml/pageinspect.sgml
--- b/doc/src/sgml/pageinspect.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pageinspect.sgml -->
  
! <sect1 id="pageinspect">
   <title>pageinspect</title>
  
   <indexterm zone="pageinspect">
--- 1,6 ----
  <!-- doc/src/sgml/pageinspect.sgml -->
  
! <sect1 id="pageinspect" xreflabel="pageinspect">
   <title>pageinspect</title>
  
   <indexterm zone="pageinspect">
diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml
new file mode 100644
index 11107fb..0050e65
*** a/doc/src/sgml/passwordcheck.sgml
--- b/doc/src/sgml/passwordcheck.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/passwordcheck.sgml -->
  
! <sect1 id="passwordcheck">
   <title>passwordcheck</title>
  
   <indexterm zone="passwordcheck">
--- 1,6 ----
  <!-- doc/src/sgml/passwordcheck.sgml -->
  
! <sect1 id="passwordcheck" xreflabel="passwordcheck">
   <title>passwordcheck</title>
  
   <indexterm zone="passwordcheck">
diff --git a/doc/src/sgml/pgarchivecleanup.sgml b/doc/src/sgml/pgarchivecleanup.sgml
new file mode 100644
index 725f3ed..ddffa32
*** a/doc/src/sgml/pgarchivecleanup.sgml
--- b/doc/src/sgml/pgarchivecleanup.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgarchivecleanup.sgml -->
  
! <sect1 id="pgarchivecleanup">
   <title>pg_archivecleanup</title>
  
   <indexterm zone="pgarchivecleanup">
--- 1,6 ----
  <!-- doc/src/sgml/pgarchivecleanup.sgml -->
  
! <sect1 id="pgarchivecleanup" xreflabel="pg_archivecleanup">
   <title>pg_archivecleanup</title>
  
   <indexterm zone="pgarchivecleanup">
diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/pgbench.sgml
new file mode 100644
index 5a10e93..e7b7860
*** a/doc/src/sgml/pgbench.sgml
--- b/doc/src/sgml/pgbench.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgbench.sgml -->
  
! <sect1 id="pgbench">
   <title>pgbench</title>
  
   <indexterm zone="pgbench">
--- 1,6 ----
  <!-- doc/src/sgml/pgbench.sgml -->
  
! <sect1 id="pgbench" xreflabel="pgbench">
   <title>pgbench</title>
  
   <indexterm zone="pgbench">
diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml
new file mode 100644
index fa7a78d..1d7d95f
*** a/doc/src/sgml/pgbuffercache.sgml
--- b/doc/src/sgml/pgbuffercache.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgbuffercache.sgml -->
  
! <sect1 id="pgbuffercache">
   <title>pg_buffercache</title>
  
   <indexterm zone="pgbuffercache">
--- 1,6 ----
  <!-- doc/src/sgml/pgbuffercache.sgml -->
  
! <sect1 id="pgbuffercache" xreflabel="pg_buffercache">
   <title>pg_buffercache</title>
  
   <indexterm zone="pgbuffercache">
diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml
new file mode 100644
index 60bc0a2..6b78f2c
*** a/doc/src/sgml/pgcrypto.sgml
--- b/doc/src/sgml/pgcrypto.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgcrypto.sgml -->
  
! <sect1 id="pgcrypto">
   <title>pgcrypto</title>
  
   <indexterm zone="pgcrypto">
--- 1,6 ----
  <!-- doc/src/sgml/pgcrypto.sgml -->
  
! <sect1 id="pgcrypto" xreflabel="pgcrypto">
   <title>pgcrypto</title>
  
   <indexterm zone="pgcrypto">
diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml
new file mode 100644
index bdacbaf..51f772a
*** a/doc/src/sgml/pgfreespacemap.sgml
--- b/doc/src/sgml/pgfreespacemap.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgfreespacemap.sgml -->
  
! <sect1 id="pgfreespacemap">
   <title>pg_freespacemap</title>
  
   <indexterm zone="pgfreespacemap">
--- 1,6 ----
  <!-- doc/src/sgml/pgfreespacemap.sgml -->
  
! <sect1 id="pgfreespacemap" xreflabel="pg_freespacemap">
   <title>pg_freespacemap</title>
  
   <indexterm zone="pgfreespacemap">
diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml
new file mode 100644
index b2c2590..db1cf5e
*** a/doc/src/sgml/pgrowlocks.sgml
--- b/doc/src/sgml/pgrowlocks.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgrowlocks.sgml -->
  
! <sect1 id="pgrowlocks">
   <title>pgrowlocks</title>
  
   <indexterm zone="pgrowlocks">
--- 1,6 ----
  <!-- doc/src/sgml/pgrowlocks.sgml -->
  
! <sect1 id="pgrowlocks" xreflabel="pgrowlocks">
   <title>pgrowlocks</title>
  
   <indexterm zone="pgrowlocks">
diff --git a/doc/src/sgml/pgstandby.sgml b/doc/src/sgml/pgstandby.sgml
new file mode 100644
index 7f0a874..e698cb7
*** a/doc/src/sgml/pgstandby.sgml
--- b/doc/src/sgml/pgstandby.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgstandby.sgml -->
  
! <sect1 id="pgstandby">
   <title>pg_standby</title>
  
   <indexterm zone="pgstandby">
--- 1,6 ----
  <!-- doc/src/sgml/pgstandby.sgml -->
  
! <sect1 id="pgstandby" xreflabel="pg_standby">
   <title>pg_standby</title>
  
   <indexterm zone="pgstandby">
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
new file mode 100644
index 8cff102..52268c5
*** a/doc/src/sgml/pgstatstatements.sgml
--- b/doc/src/sgml/pgstatstatements.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgstatstatements.sgml -->
  
! <sect1 id="pgstatstatements">
   <title>pg_stat_statements</title>
  
   <indexterm zone="pgstatstatements">
--- 1,6 ----
  <!-- doc/src/sgml/pgstatstatements.sgml -->
  
! <sect1 id="pgstatstatements" xreflabel="pg_stat_statements">
   <title>pg_stat_statements</title>
  
   <indexterm zone="pgstatstatements">
diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml
new file mode 100644
index cc2849b..a55b35c
*** a/doc/src/sgml/pgstattuple.sgml
--- b/doc/src/sgml/pgstattuple.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgstattuple.sgml -->
  
! <sect1 id="pgstattuple">
   <title>pgstattuple</title>
  
   <indexterm zone="pgstattuple">
--- 1,6 ----
  <!-- doc/src/sgml/pgstattuple.sgml -->
  
! <sect1 id="pgstattuple" xreflabel="pgstattuple">
   <title>pgstattuple</title>
  
   <indexterm zone="pgstattuple">
diff --git a/doc/src/sgml/pgtestfsync.sgml b/doc/src/sgml/pgtestfsync.sgml
new file mode 100644
index 5ad7b73..4015eb5
*** a/doc/src/sgml/pgtestfsync.sgml
--- b/doc/src/sgml/pgtestfsync.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgtestfsync.sgml -->
  
! <sect1 id="pgtestfsync">
   <title>pg_test_fsync</title>
  
   <indexterm zone="pgtestfsync">
--- 1,6 ----
  <!-- doc/src/sgml/pgtestfsync.sgml -->
  
! <sect1 id="pgtestfsync" xreflabel="pg_test_fsync">
   <title>pg_test_fsync</title>
  
   <indexterm zone="pgtestfsync">
diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml
new file mode 100644
index 581388c..18f0f3e
*** a/doc/src/sgml/pgtrgm.sgml
--- b/doc/src/sgml/pgtrgm.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgtrgm.sgml -->
  
! <sect1 id="pgtrgm">
   <title>pg_trgm</title>
  
   <indexterm zone="pgtrgm">
--- 1,6 ----
  <!-- doc/src/sgml/pgtrgm.sgml -->
  
! <sect1 id="pgtrgm" xreflabel="pg_trgm">
   <title>pg_trgm</title>
  
   <indexterm zone="pgtrgm">
diff --git a/doc/src/sgml/pgupgrade.sgml b/doc/src/sgml/pgupgrade.sgml
new file mode 100644
index c41068f..1713bf0
*** a/doc/src/sgml/pgupgrade.sgml
--- b/doc/src/sgml/pgupgrade.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/pgupgrade.sgml -->
  
! <sect1 id="pgupgrade">
   <title>pg_upgrade</title>
  
   <indexterm zone="pgupgrade">
--- 1,6 ----
  <!-- doc/src/sgml/pgupgrade.sgml -->
  
! <sect1 id="pgupgrade" xreflabel="pg_upgrade">
   <title>pg_upgrade</title>
  
   <indexterm zone="pgupgrade">
diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml
new file mode 100644
index a726ca1..00bd71d
*** a/doc/src/sgml/seg.sgml
--- b/doc/src/sgml/seg.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/seg.sgml -->
  
! <sect1 id="seg">
   <title>seg</title>
  
   <indexterm zone="seg">
--- 1,6 ----
  <!-- doc/src/sgml/seg.sgml -->
  
! <sect1 id="seg" xreflabel="seg">
   <title>seg</title>
  
   <indexterm zone="seg">
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
new file mode 100644
index 589fe79..f35ab97
*** a/doc/src/sgml/sepgsql.sgml
--- b/doc/src/sgml/sepgsql.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/sepgsql.sgml -->
  
! <sect1 id="sepgsql">
   <title>sepgsql</title>
  
   <indexterm zone="sepgsql">
--- 1,6 ----
  <!-- doc/src/sgml/sepgsql.sgml -->
  
! <sect1 id="sepgsql" xreflabel="sepgsql">
   <title>sepgsql</title>
  
   <indexterm zone="sepgsql">
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
new file mode 100644
index f7ccb8c..6181824
*** a/doc/src/sgml/sslinfo.sgml
--- b/doc/src/sgml/sslinfo.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/sslinfo.sgml -->
  
! <sect1 id="sslinfo">
   <title>sslinfo</title>
  
   <indexterm zone="sslinfo">
--- 1,6 ----
  <!-- doc/src/sgml/sslinfo.sgml -->
  
! <sect1 id="sslinfo" xreflabel="sslinfo">
   <title>sslinfo</title>
  
   <indexterm zone="sslinfo">
diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml
new file mode 100644
index 60f0b57..cfa20e2
*** a/doc/src/sgml/tablefunc.sgml
--- b/doc/src/sgml/tablefunc.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/tablefunc.sgml -->
  
! <sect1 id="tablefunc">
   <title>tablefunc</title>
  
   <indexterm zone="tablefunc">
--- 1,6 ----
  <!-- doc/src/sgml/tablefunc.sgml -->
  
! <sect1 id="tablefunc" xreflabel="tablefunc">
   <title>tablefunc</title>
  
   <indexterm zone="tablefunc">
diff --git a/doc/src/sgml/test-parser.sgml b/doc/src/sgml/test-parser.sgml
new file mode 100644
index 0f2008c..28b1e91
*** a/doc/src/sgml/test-parser.sgml
--- b/doc/src/sgml/test-parser.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/test-parser.sgml -->
  
! <sect1 id="test-parser">
   <title>test_parser</title>
  
   <indexterm zone="test-parser">
--- 1,6 ----
  <!-- doc/src/sgml/test-parser.sgml -->
  
! <sect1 id="test-parser" xreflabel="test_parser">
   <title>test_parser</title>
  
   <indexterm zone="test-parser">
diff --git a/doc/src/sgml/tsearch2.sgml b/doc/src/sgml/tsearch2.sgml
new file mode 100644
index 8321c1e..192eccd
*** a/doc/src/sgml/tsearch2.sgml
--- b/doc/src/sgml/tsearch2.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/tsearch2.sgml -->
  
! <sect1 id="tsearch2">
   <title>tsearch2</title>
  
   <indexterm zone="tsearch2">
--- 1,6 ----
  <!-- doc/src/sgml/tsearch2.sgml -->
  
! <sect1 id="tsearch2" xreflabel="tsearch2">
   <title>tsearch2</title>
  
   <indexterm zone="tsearch2">
diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml
new file mode 100644
index 9c34c0b..af9cad5
*** a/doc/src/sgml/unaccent.sgml
--- b/doc/src/sgml/unaccent.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/unaccent.sgml -->
  
! <sect1 id="unaccent">
   <title>unaccent</title>
  
   <indexterm zone="unaccent">
--- 1,6 ----
  <!-- doc/src/sgml/unaccent.sgml -->
  
! <sect1 id="unaccent" xreflabel="unaccent">
   <title>unaccent</title>
  
   <indexterm zone="unaccent">
diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml
new file mode 100644
index 3dd8990..7446b8b
*** a/doc/src/sgml/uuid-ossp.sgml
--- b/doc/src/sgml/uuid-ossp.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/uuid-ossp.sgml -->
  
! <sect1 id="uuid-ossp">
   <title>uuid-ossp</title>
  
   <indexterm zone="uuid-ossp">
--- 1,6 ----
  <!-- doc/src/sgml/uuid-ossp.sgml -->
  
! <sect1 id="uuid-ossp" xreflabel="uuid-ossp">
   <title>uuid-ossp</title>
  
   <indexterm zone="uuid-ossp">
diff --git a/doc/src/sgml/vacuumlo.sgml b/doc/src/sgml/vacuumlo.sgml
new file mode 100644
index fbb6815..471a6ca
*** a/doc/src/sgml/vacuumlo.sgml
--- b/doc/src/sgml/vacuumlo.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/vacuumlo.sgml -->
  
! <sect1 id="vacuumlo">
   <title>vacuumlo</title>
  
   <indexterm zone="vacuumlo">
--- 1,6 ----
  <!-- doc/src/sgml/vacuumlo.sgml -->
  
! <sect1 id="vacuumlo" xreflabel="vacuumlo">
   <title>vacuumlo</title>
  
   <indexterm zone="vacuumlo">
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
new file mode 100644
index 8ce7351..90b5ac0
*** a/doc/src/sgml/xml2.sgml
--- b/doc/src/sgml/xml2.sgml
***************
*** 1,6 ****
  <!-- doc/src/sgml/xml2.sgml -->
  
! <sect1 id="xml2">
   <title>xml2</title>
  
   <indexterm zone="xml2">
--- 1,6 ----
  <!-- doc/src/sgml/xml2.sgml -->
  
! <sect1 id="xml2" xreflabel="xml2">
   <title>xml2</title>
  
   <indexterm zone="xml2">