diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml
index cbc34957665177d43dc2b4fce09f4c41df74fbf9..05dba36ff91d47e9f45c1a2fc310730716da41e7 100644
--- a/doc/src/sgml/arch-dev.sgml
+++ b/doc/src/sgml/arch-dev.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.16 2001/11/21 05:53:40 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.17 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="overview">
@@ -478,8 +478,8 @@ current context are performed.
 
    <para>
     For information on the syntax and creation of rules in the
-    <productname>PostgreSQL</productname> system refer to
-    <citetitle>The PostgreSQL User's Guide</citetitle>.
+    <productname>PostgreSQL</productname> system refer to the
+    &cite-user;.
    </para>
 
    <sect2>
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index af8dee9f565f1b2a38904f89d8337f3f61e63e16..4d38bef2370f0eb1f9d9c98863298e227a8f5e70 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -1,6 +1,6 @@
 <!--
  Documentation of the system catalogs, directed toward PostgreSQL developers
- $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.64 2002/12/17 17:41:30 momjian Exp $
+ $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.65 2003/01/19 00:13:28 momjian Exp $
  -->
 
 <chapter id="catalogs">
@@ -288,9 +288,9 @@
 
   <para>
    New aggregate functions are registered with the <command>CREATE
-   AGGREGATE</command> command.  See the <citetitle>Programmer's
-   Guide</citetitle> for more information about writing aggregate
-   functions and the meaning of the transition functions, etc.
+   AGGREGATE</command> command.  See the &cite-programmer; for more
+   information about writing aggregate functions and the meaning of
+   the transition functions, etc.
   </para>
 
  </sect1>
@@ -1446,8 +1446,8 @@
    The <structname>pg_database</structname> catalog stores information
    about the available databases.  Databases are created with the
    <command>CREATE DATABASE</command> command.  Consult the
-   <citetitle>Administrator's Guide</citetitle> for details about the
-   meaning of some of the parameters.
+   &cite-admin; for details about the meaning of some of the
+   parameters.
   </para>
 
   <para>
@@ -1791,8 +1791,8 @@
   <para>
    This catalog defines groups and stores what users belong to what
    groups.  Groups are created with the <command>CREATE
-   GROUP</command> command.  Consult the <citetitle>Administrator's
-   Guide</citetitle> for information about user permission management.
+   GROUP</command> command.  Consult the &cite-admin; for information
+   about user permission management.
   </para>
 
   <para>
@@ -2022,8 +2022,7 @@
    <structname>pg_language</structname> registers call interfaces or
    languages in which you can write functions or stored procedures.
    See under <command>CREATE LANGUAGE</command> and in the
-   <citetitle>Programmer's Guide</citetitle> for more information
-   about language handlers.
+   &cite-programmer; for more information about language handlers.
   </para>
 
   <table>
@@ -2298,8 +2297,7 @@
   </para>
 
   <para>
-   Operator classes are described at length in the
-   <citetitle>Programmer's Guide</citetitle>.
+   Operator classes are described at length in the &cite-programmer;.
   </para>
 
   <table>
@@ -2387,9 +2385,8 @@
   <title>pg_operator</title>
 
   <para>
-   See <command>CREATE OPERATOR</command> and the
-   <citetitle>Programmer's Guide</citetitle> for details on these
-   operator parameters.
+   See <command>CREATE OPERATOR</command> and the &cite-programmer;
+   for details on these operator parameters.
   </para>
 
   <table>
@@ -2559,8 +2556,8 @@
   <para>
    This catalog stores information about functions (or procedures).
    The description of <command>CREATE FUNCTION</command> and the
-   <citetitle>Programmer's Guide</citetitle> contain more information
-   about the meaning of some fields.
+   &cite-programmer; contain more information about the meaning of
+   some fields.
   </para>
 
   <para>
@@ -2832,8 +2829,8 @@
   </para>
 
   <para>
-   The <citetitle>Administrator's Guide</citetitle> contains detailed
-   information about user and permission management.
+   The &cite-admin; contains detailed information about user and
+   permission management.
   </para>
 
   <para>
diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml
index 9aa9c614466688587d58f091bd85d0c56dc1b55f..fc0868d13b3f5f1cbdfd58f2fc42e408caaf8dab 100644
--- a/doc/src/sgml/charset.sgml
+++ b/doc/src/sgml/charset.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.30 2002/11/15 03:11:15 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.31 2003/01/19 00:13:28 momjian Exp $ -->
 
 <chapter id="charset">
  <title>Localization</>
@@ -309,8 +309,8 @@ perl: warning: Falling back to the standard locale ("C").
     <productname>PostgreSQL</> speak their preferred language well.
     If messages in your language is currently not available or fully
     translated, your assistance would be appreciated.  If you want to
-    help, refer to the <citetitle>Developer's Guide</> or write to the
-    developers' mailing list.
+    help, refer to the &cite-developer; or write to the developers'
+    mailing list.
    </para>
   </sect2>
  </sect1>
diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml
index 8e28e3e17a31dbc1b550cba39139eddf6153c7e5..574fc50695209a8b0d04d9b79b84b7d5002a2ce4 100644
--- a/doc/src/sgml/client-auth.sgml
+++ b/doc/src/sgml/client-auth.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.43 2003/01/06 03:18:26 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.44 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <chapter id="client-authentication">
@@ -110,8 +110,7 @@ hostssl  <replaceable>database</replaceable>  <replaceable>user</replaceable>  <
        This record matches connection attempts using TCP/IP networks.
        Note that TCP/IP connections are disabled unless the server is
        started with the <option>-i</option> option or the
-       <literal>tcpip_socket</> <filename>postgresql.conf</>
-       configuration parameter is enabled.
+       <varname>tcpip_socket</> configuration parameter is enabled.
       </para>
      </listitem>
     </varlistentry>
@@ -129,9 +128,8 @@ hostssl  <replaceable>database</replaceable>  <replaceable>user</replaceable>  <
       <para>
        To be able make use of this option the server must be built
        with SSL support enabled. Furthermore, SSL must be enabled by
-       enabling the option <literal>ssl</literal> in
-       <filename>postgresql.conf</filename> (see <xref
-       linkend="runtime-config">).
+       enabling the <varname>ssl</varname> configuration parameter
+       (see <xref linkend="runtime-config"> for more information).
       </para>
      </listitem>
     </varlistentry>
@@ -191,8 +189,8 @@ hostssl  <replaceable>database</replaceable>  <replaceable>user</replaceable>  <
        must be zero for the record to match.  (Of course IP addresses
        can be spoofed but this consideration is beyond the scope of
        <productname>PostgreSQL</productname>.) If you machine supports
-       IPv6, the default <filename>pg_hba.conf</> will have an IPv6
-       entry for <literal>localhost</>. You can add your own IPv6
+       IPv6, the default <filename>pg_hba.conf</> file will have an
+       IPv6 entry for <literal>localhost</>. You can add your own IPv6
        entries to the file. IPv6 entries are used only for IPv6
        connections.
       </para>
@@ -486,17 +484,18 @@ local   db1,db2,@demodbs  all                                       md5
    </para>
 
    <para>
-    <literal>trust</> authentication is appropriate and very convenient
-    for local connections on a single-user workstation.  It is usually
-    <emphasis>not</> appropriate by itself on a multiuser machine.
-    However, you may be able to use <literal>trust</> even on a multiuser
-    machine, if you restrict access to the postmaster's socket file using
-    file-system permissions.  To do this, set the parameter
+    <literal>trust</> authentication is appropriate and very
+    convenient for local connections on a single-user workstation.  It
+    is usually <emphasis>not</> appropriate by itself on a multiuser
+    machine.  However, you may be able to use <literal>trust</> even
+    on a multiuser machine, if you restrict access to the postmaster's
+    socket file using file-system permissions.  To do this, set the
     <varname>unix_socket_permissions</varname> (and possibly
-    <varname>unix_socket_group</varname>) in <filename>postgresql.conf</>,
-    as described in <xref linkend="runtime-config-general">.  Or you could
-    set <varname>unix_socket_directory</varname> to place the socket file
-    in a suitably restricted directory.
+    <varname>unix_socket_group</varname>) configuration parameters as
+    described in <xref linkend="runtime-config-general">.  Or you
+    could set the <varname>unix_socket_directory</varname>
+    configuration parameter to place the socket file in a suitably
+    restricted directory.
    </para>
 
    <para>
diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml
index 20393a8664e259706945810928fa4b43ce8edef5..86758f83978fcebbc8dfb43546c5c44d029ae9a0 100644
--- a/doc/src/sgml/dfunc.sgml
+++ b/doc/src/sgml/dfunc.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.22 2002/09/21 18:32:52 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.23 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <sect2 id="dfunc">
@@ -318,9 +318,8 @@ ld <other flags> -H512 -T512 -o foo.so -e _nostart \e
    -bI:.../lib/postgres.exp -bE:foo.exp foo.o \e
    -lm -lc 2>/dev/null
 .fi
-You should look at the <citetitle>PostgreSQL User's Manual</>
-for an explanation of this
-procedure.
+You should look at the &cite-user; for an explanation of
+this procedure.
 
   -->
 
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 719004a2c80bbdd675a3c751c8ebb9309af9cc94..a39c694e475e3348691ce2376c9cf90f9174c63b 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.40 2002/11/15 03:11:16 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.41 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <chapter id="ecpg">
@@ -879,7 +879,7 @@ ECPG = ecpg
 FETCH <optional><replaceable>direction</></> <optional><replaceable>amount</></> IN|FROM <replaceable>cursor</replaceable>
 </synopsis>
       <indexterm><primary>Oracle</></>
-      <application>Oracle</application>, however, does not use the
+      <productname>Oracle</productname>, however, does not use the
       keywords <literal>IN</literal> or <literal>FROM</literal>. This
       feature cannot be added since it would create parsing conflicts.
      </para>
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 438a8ec8795a9d30014243e657b0b80c2e3fb397..22cf5a0ac7ed622839e5fe07b1102653f992d5ea 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.18 2002/11/03 01:31:32 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.19 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="extend">
@@ -214,8 +214,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.18 2002/11/03 01:31:32 momj
      </mediaobject>
     </figure>
 
-    The <citetitle>Developer's Guide</citetitle> gives a more detailed  explanation
-    of  these catalogs and their columns.  However,
+    The &cite-developer; gives a more detailed explanation of these
+    catalogs and their columns.  However,
     <xref linkend="EXTEND-CATALOGS">
     shows the major entities and their  relationships
     in  the system catalogs.  (Columns that do not refer
diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml
index 8f2d74117b5ff13099d9691a338e6b49bf4307e1..6e64f7e6026017127d9407dc1c08bb06ae3c93f7 100644
--- a/doc/src/sgml/history.sgml
+++ b/doc/src/sgml/history.sgml
@@ -1,9 +1,9 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.19 2002/01/07 02:29:12 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.20 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <sect1 id="history">
- <title>A Short History of <productname>PostgreSQL</productname></title>
+ <title>A Brief History of <productname>PostgreSQL</productname></title>
 
  <para>
   The object-relational database management system now known as 
@@ -54,7 +54,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.19 2002/01/07 02:29:12 pet
    released  in  June 1990 with the new rule system.  
    Version 3 appeared in 1991 and added support for  multiple
    storage  managers,  an  improved  query executor, and a
-   rewritten rewrite rule  system.   For  the  most  part, subsequent
+   rewritten rule  system.   For  the  most  part, subsequent
    releases  until <productname>Postgres95</productname> (see below)
    focused on portability and reliability.
   </para>
diff --git a/doc/src/sgml/info.sgml b/doc/src/sgml/info.sgml
index a7022e887726b36d8e9a76131783d9e101e19aa7..62d754d1337139d23048fe7e878cdf4cdbf77925 100644
--- a/doc/src/sgml/info.sgml
+++ b/doc/src/sgml/info.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <sect1 id="resources">
@@ -71,8 +71,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjia
       Information for <productname>PostgreSQL</productname>
       developers.  This is intended for those who are contributing to
       the <productname>PostgreSQL</productname> project; application
-      development information appears in the <citetitle>Programmer's
-      Guide</citetitle>.
+      development information appears in the &cite-programmer;.
      </para>
     </listitem>
    </varlistentry>
@@ -88,8 +87,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjia
     <term>man pages</term>
     <listitem>
      <para>
-      The <citetitle>Reference Manual</citetitle>'s pages in the
-      traditional Unix man format.  There is no difference in content.
+      The &cite-reference;'s pages in the traditional Unix man
+      format. There is no difference in content.
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index eb15e5e047b2528b01078cfff1588cb79bbfe7d7..cc247620060593ac00792f8311d55b05ee3ca40e 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.127 2002/12/11 22:27:26 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.128 2003/01/19 00:13:28 momjian Exp $ -->
 
 <chapter id="installation">
  <title><![%standalone-include[<productname>PostgreSQL</>]]>
@@ -656,8 +656,8 @@ JAVACMD=$JAVA_HOME/bin/java
        internal header files and the server header files are installed
        into private directories under
        <varname>includedir</varname>.
-       See the <citetitle>Programmer's Guide</citetitle> for
-       information about how to get at the header files for each interface.
+       See the &cite-programmer; for information about how to get at
+       the header files for each interface.
        Finally, a private subdirectory will also be created, if appropriate,
        under <varname>libdir</varname> for dynamically loadable modules.       
       </para>
@@ -1311,8 +1311,7 @@ export MANPATH
 
   <para>
    The following is a quick summary of how to get <productname>PostgreSQL</> up and
-   running once installed. The <citetitle>Administrator's Guide</>
-   contains more information.
+   running once installed. The &cite-admin; contains more information.
   </para>
 
   <procedure>
@@ -1418,12 +1417,11 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
      </para>
 
      <para>
-      The <citetitle>Tutorial</> should be your first reading if you
-      are completely new to <acronym>SQL</> databases.
-      If you are familiar with database concepts then you want to
-      proceed with the <citetitle>Administrator's Guide</citetitle>,
-      which contains information about how to set up the database
-      server, database users, and authentication.
+      The &cite-tutorial; should be your first reading if you are
+      completely new to <acronym>SQL</> databases.  If you are
+      familiar with database concepts then you want to proceed with
+      the &cite-admin;, which contains information about how to set up
+      the database server, database users, and authentication.
      </para>
     </listitem>
 
@@ -1431,8 +1429,7 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
      <para>
       Usually, you will want to modify your computer so that it will
       automatically start the database server whenever it boots. Some
-      suggestions for this are in the <citetitle>Administrator's
-      Guide</citetitle>.
+      suggestions for this are in the &cite-admin;.
      </para>
     </listitem>
 
@@ -1441,7 +1438,7 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
       Run the regression tests against the installed server (using the
       sequential test method). If you didn't run the tests before
       installation, you should definitely do it now. This is also
-      explained in the <citetitle>Administrator's Guide</citetitle>.
+      explained in the &cite-admin;.
      </para>
     </listitem>
 
diff --git a/doc/src/sgml/jdbc.sgml b/doc/src/sgml/jdbc.sgml
index cb7a94c30e8fda15bb2106ad2f7ee4c31c587116..574e20225ae0cfd3e43ee29e0a7ebb657a7f6066 100644
--- a/doc/src/sgml/jdbc.sgml
+++ b/doc/src/sgml/jdbc.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.41 2002/11/15 03:11:16 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.42 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="jdbc">
@@ -124,9 +124,9 @@ java Finder
    <para>
     Also, the client authentication setup in the
     <filename>pg_hba.conf</filename> file may need to be configured.
-    Refer to the <citetitle>Administrator's Guide</citetitle> for
-    details.  The <acronym>JDBC</acronym> Driver supports the trust,
-    ident, password, md5, and crypt authentication methods.
+    Refer to the &cite-admin; for details.  The
+    <acronym>JDBC</acronym> Driver supports the trust, ident,
+    password, md5, and crypt authentication methods.
    </para>
   </sect2>
  </sect1>
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 6dbc13ede2ff834ef385d28cde6700d42ad7e935..562604f182d00847218ce7ac9e055b78818f0613 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.105 2003/01/07 04:25:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.106 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="libpq">
@@ -952,7 +952,7 @@ strings overlap.
    escape a character, it is converted into the three digit octal number
    equal to the decimal <acronym>ASCII</acronym> value, and preceded by
    two backslashes. The single quote (') and backslash (\) characters have
-   special alternate escape sequences. See the <citetitle>User's Guide</citetitle>
+   special alternate escape sequences. See the &cite-user;
    for more information. <function>PQescapeBytea
    </function> performs this operation, escaping only the minimally
    required characters.
diff --git a/doc/src/sgml/notation.sgml b/doc/src/sgml/notation.sgml
index 197e5cd913eb6bf564e52fe982e7a2765d0408ec..8c995203501c55155a153f0c23a794c713cf201e 100644
--- a/doc/src/sgml/notation.sgml
+++ b/doc/src/sgml/notation.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.20 2002/10/24 17:48:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.21 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <sect1 id="notation">
@@ -18,7 +18,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.20 2002/10/24 17:48:54 pe
   We use <filename>/usr/local/pgsql/</filename> as the root
   directory of the installation and <filename>/usr/local/pgsql/data</filename>
   as the directory with the database files.  These directories may vary
-  on your site, details can be derived in the <citetitle>Administrator's Guide</citetitle>.
+  on your site, details can be derived in the &cite-admin;.
  </para>
 
  <para>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 30adbd1dd9b6745e4b88810d22564b3a4dc0b09a..999b9805a2ede97e6ef5f7343f31183f0eea2744 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.13 2003/01/15 16:40:24 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.14 2003/01/19 00:13:28 momjian Exp $
 -->
 
 <chapter id="plpgsql"> 
@@ -230,7 +230,7 @@ END;
    <para>
     Developing in <application>PL/pgSQL</application> is pretty
     straight forward, especially if you have developed in other
-    database procedural languages, such as Oracle's
+    database procedural languages, such as <productname>Oracle</>'s
     <application>PL/SQL</application>.  One good way to develop in
     <application>PL/pgSQL</> is to simply use the text editor of your
     choice to create your functions, and in another window, use
@@ -1155,84 +1155,109 @@ GET DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>item</replace
     <title>Returning from a function</title>
 
     <para>
+     There are two commands available that allow you to return data
+     from a function: <command>RETURN</command> and <command>RETURN
+     NEXT</command>.
+    </para>
+
+    <sect3>
+     <title><command>RETURN</></title>
+
+     <para>
 <synopsis>
 RETURN <replaceable>expression</replaceable>;
 </synopsis>
 
-     <command>RETURN</command> with an expression is used to return
-     from a <application>PL/pgSQL</> function that does not return a
-     set.  The function terminates and the value of
-     <replaceable>expression</replaceable> is returned to the caller.
-    </para>
+      <command>RETURN</command> with an expression is used to return
+      from a <application>PL/pgSQL</> function that does not return a
+      set.  The function terminates and the value of
+      <replaceable>expression</replaceable> is returned to the caller.
+     </para>
 
-    <para>
-     To return a composite (row) value, you must write a record or row
-     variable as the <replaceable>expression</replaceable>.  When
-     returning a scalar type, any expression can be used.
-     The expression's result will be automatically cast into the
-     function's return type as described for assignments.
-     (If you have declared the function to return <type>void</>,
-     then the expression can be omitted, and will be ignored in any case.)
-    </para>
+     <para>
+      To return a composite (row) value, you must write a record or row
+      variable as the <replaceable>expression</replaceable>.  When
+      returning a scalar type, any expression can be used.
+      The expression's result will be automatically cast into the
+      function's return type as described for assignments.
+     </para>
 
-    <para>
-     The return value of a function cannot be left undefined. If
-     control reaches the end of the top-level block of the function
-     without hitting a <command>RETURN</command> statement, a run-time
-     error will occur.
-    </para>
+     <para>
+      The return value of a function cannot be left undefined. If
+      control reaches the end of the top-level block of the function
+      without hitting a <command>RETURN</command> statement, a run-time
+      error will occur. Note that if you have declared the function to
+      return <type>void</type>, a <command>RETURN</command> statement
+      must still be specified; however, the expression following
+      <command>RETURN</command> is optional, and will be ignored in
+      any case.
+     </para>
+    </sect3>
 
-    <para>
-     When a <application>PL/pgSQL</> function is declared to return
-     <literal>SETOF</literal> <replaceable>sometype</>, the procedure
-     to follow is slightly different.  In that case, the individual
-     items to return are specified in <command>RETURN NEXT</command>
-     commands, and then a final <command>RETURN</command> command with
-     no arguments is used to indicate that the function has finished
-     executing.  <command>RETURN NEXT</command> can be used with both
-     scalar and composite data types; in the later case, an entire
-     "table" of results will be returned.  Functions that use
-     <command>RETURN NEXT</command> should be called in the following
-     fashion:
+    <sect3>
+     <title><command>RETURN NEXT</></title>
+
+<synopsis>
+RETURN NEXT <replaceable>expression</replaceable>;
+</synopsis>
+
+     <para>
+      When a <application>PL/pgSQL</> function is declared to return
+      <literal>SETOF</literal> <replaceable>sometype</>, the procedure
+      to follow is slightly different.  In that case, the individual
+      items to return are specified in <command>RETURN NEXT</command>
+      commands, and then a final <command>RETURN</command> command
+      with no arguments is used to indicate that the function has
+      finished executing.  <command>RETURN NEXT</command> can be used
+      with both scalar and composite data types; in the later case, an
+      entire <quote>table</quote> of results will be returned.
+      Functions that use <command>RETURN NEXT</command> should be
+      called in the following fashion:
 
 <programlisting>
 SELECT * FROM some_func();
 </programlisting>
 
-     That is, the function is used as a table source in a FROM clause.
+      That is, the function is used as a table source in a FROM
+      clause.
+     </para>
 
-<synopsis>
-RETURN NEXT <replaceable>expression</replaceable>;
-</synopsis>
+     <para>
+      <command>RETURN NEXT</command> does not actually return from the
+      function; it simply saves away the value of the expression (or
+      record or row variable, as appropriate for the data type being
+      returned).  Execution then continues with the next statement in
+      the <application>PL/pgSQL</> function.  As successive
+      <command>RETURN NEXT</command> commands are executed, the result
+      set is built up.  A final <command>RETURN</command>, which should
+      have no argument, causes control to exit the function.
+     </para>
 
-     <command>RETURN NEXT</command> does not actually return from the
-     function; it simply saves away the value of the expression (or
-     record or row variable, as appropriate for the data type being
-     returned).  Execution then continues with the next statement in
-     the <application>PL/pgSQL</> function.  As successive
-     <command>RETURN NEXT</command> commands are executed, the result
-     set is built up.  A final <command>RETURN</command>, which need
-     have no argument, causes control to exit the function.
-    </para>
+     <para>
+      For more information on using set-returning functions in
+      <productname>PostgreSQL</productname>, refer to XXX.
+     </para
 
-   <note>
-    <para>
-     The current implementation of <command>RETURN NEXT</command> for
-     <application>PL/pgSQL</> stores the entire result set before
-     returning from the function, as discussed above.  That means that
-     if a <application>PL/pgSQL</> function produces a very large result set,
-     performance may be poor: data will be written to disk to avoid
-     memory exhaustion, but the function itself will not return until
-     the entire result set has been generated.  A future version of
-     <application>PL/pgSQL</> may allow users to allow users to define set-returning
-     functions that do not have this limitation.  Currently, the point
-     at which data begins being written to disk is controlled by the
-     <varname>SORT_MEM</> configuration variable.  Administrators who
-     have sufficient memory to store larger result sets in memory
-     should consider increasing this parameter.
-    </para>
-   </note>
-  </sect2>
+     <note>
+      <para>
+       The current implementation of <command>RETURN NEXT</command>
+       for <application>PL/pgSQL</> stores the entire result set
+       before returning from the function, as discussed above.  That
+       means that if a <application>PL/pgSQL</> function produces a
+       very large result set, performance may be poor: data will be
+       written to disk to avoid memory exhaustion, but the function
+       itself will not return until the entire result set has been
+       generated.  A future version of <application>PL/pgSQL</> may
+       allow users to allow users to define set-returning functions
+       that do not have this limitation.  Currently, the point at
+       which data begins being written to disk is controlled by the
+       <varname>SORT_MEM</> configuration variable.  Administrators
+       who have sufficient memory to store larger result sets in
+       memory should consider increasing this parameter.
+      </para>
+     </note>
+    </sect3>
+   </sect2>
     
    <sect2 id="plpgsql-conditionals">
     <title>Conditionals</title>
@@ -1267,9 +1292,11 @@ IF <replaceable>boolean-expression</replaceable> THEN
 END IF;
 </synopsis>
 
-        IF-THEN statements are the simplest form of IF. The
-        statements between THEN and END IF will be executed if
-        the condition is true. Otherwise, they are skipped.
+        <literal>IF-THEN</literal> statements are the simplest form of
+        <literal>IF</literal>. The statements between
+        <literal>THEN</literal> and <literal>END IF</literal> will be
+        executed if the condition is true. Otherwise, they are
+        skipped.
 
 <programlisting>
 IF v_user_id &lt;&gt; 0 THEN
@@ -1291,9 +1318,10 @@ ELSE
 END IF;
 </synopsis>
 
-        IF-THEN-ELSE statements add to IF-THEN by letting you
-        specify an alternative set of statements that should be executed if
-	the condition evaluates to FALSE.
+        <literal>IF-THEN-ELSE</literal> statements add to
+        <literal>IF-THEN</literal> by letting you specify an
+        alternative set of statements that should be executed if the
+        condition evaluates to FALSE.
 
 <programlisting>
 IF parentid IS NULL or parentid = ''''
@@ -1311,14 +1339,16 @@ ELSE
     return ''f'';
 END IF;
 </programlisting>
-       </para>
-     </sect3>
+     </para>
+    </sect3>
 
      <sect3>
       <title><literal>IF-THEN-ELSE IF</></title>
 
        <para>
-        IF statements can be nested, as in the following example:
+        <literal>IF</literal> statements can be nested, as in the
+        following example:
+
 <programlisting>
 IF demo_row.sex = ''m'' THEN
   pretty_sex := ''man'';
@@ -1331,12 +1361,13 @@ END IF;
        </para>
 
        <para>
-        When you use this form, you are actually
-        nesting an IF statement inside the ELSE part of an outer IF
-        statement. Thus you need one END IF statement for each
-        nested IF and one for the parent IF-ELSE.
-        This is workable but grows tedious when there are many
-	alternatives to be checked.
+        When you use this form, you are actually nesting an
+        <literal>IF</literal> statement inside the
+        <literal>ELSE</literal> part of an outer <literal>IF</literal>
+        statement. Thus you need one <literal>END IF</literal>
+        statement for each nested IF and one for the parent
+        <literal>IF-ELSE</literal>.  This is workable but grows
+        tedious when there are many alternatives to be checked.
        </para>
      </sect3>
 
@@ -1384,7 +1415,7 @@ END IF;
        </para>
 
        <para>
-        The final ELSE section is optional.
+        The final <literal>ELSE</literal> statement is optional.
        </para>
 
      </sect3>
@@ -1399,10 +1430,10 @@ END IF;
      a series of commands.
     </para>
 
-     <sect3>
-      <title>LOOP</title>
+    <sect3>
+     <title>LOOP</title>
 
-       <para>
+     <para>
 <synopsis>
 <optional>&lt;&lt;label&gt;&gt;</optional>
 LOOP
@@ -1410,13 +1441,13 @@ LOOP
 END LOOP;
 </synopsis>
 
-        LOOP defines an unconditional loop that is repeated indefinitely
-	until terminated by an EXIT or RETURN statement.
-	The optional label can be used by
-        EXIT statements in nested loops to specify which level of
-        nesting should be terminated.
-       </para>
-     </sect3>
+      LOOP defines an unconditional loop that is repeated indefinitely
+      until terminated by an EXIT or <command>RETURN</command>
+      statement.  The optional label can be used by EXIT statements in
+      nested loops to specify which level of nesting should be
+      terminated.
+     </para>
+    </sect3>
 
      <sect3>
       <title>EXIT</title>
@@ -1547,9 +1578,9 @@ FOR <replaceable>record | row</replaceable> IN <replaceable>select_query</replac
     <replaceable>statements</replaceable>
 END LOOP;
 </synopsis>
-     The record or row variable is successively assigned all the rows 
-     resulting from the SELECT query and the loop body is executed 
-     for each row. Here is an example:
+     The record or row variable is successively assigned all the rows
+     resulting from the <command>SELECT</command> query and the loop
+     body is executed for each row. Here is an example:
     </para>
 
     <para>
@@ -1639,11 +1670,12 @@ END LOOP;
 <synopsis>
 <replaceable>name</replaceable> CURSOR <optional> ( <replaceable>arguments</replaceable> ) </optional> FOR <replaceable>select_query</replaceable> ;
 </synopsis>
-     (<literal>FOR</> may be replaced by <literal>IS</> for Oracle
-     compatibility.)  <replaceable>arguments</replaceable>, if any,
-     are a comma-separated list of <replaceable>name</replaceable>
-     <replaceable>datatype</replaceable> pairs that define names to
-     be replaced by parameter values in the given query.  The actual
+     (<literal>FOR</> may be replaced by <literal>IS</> for
+     <productname>Oracle</productname> compatibility.)
+     <replaceable>arguments</replaceable>, if any, are a
+     comma-separated list of <replaceable>name</replaceable>
+     <replaceable>datatype</replaceable> pairs that define names to be
+     replaced by parameter values in the given query.  The actual
      values to substitute for these names will be specified later,
      when the cursor is opened.
     </para>
@@ -1685,13 +1717,14 @@ DECLARE
 OPEN <replaceable>unbound-cursor</replaceable> FOR SELECT ...;
 </synopsis>
 
-        The cursor variable is opened and given the specified query
-	to execute.  The cursor cannot be open already, and it must
-	have been declared as an unbound cursor (that is, as a simple
-	<type>refcursor</> variable).  The SELECT query is treated
-	in the same way as other SELECT statements in <application>PL/pgSQL</>:
-	<application>PL/pgSQL</> variable names are substituted,
-	and the query plan is cached for possible re-use.
+    The cursor variable is opened and given the specified query to
+	execute.  The cursor cannot be open already, and it must have been
+	declared as an unbound cursor (that is, as a simple
+	<type>refcursor</> variable).  The <command>SELECT</command> query
+	is treated in the same way as other <command>SELECT</command>
+	statements in <application>PL/pgSQL</>: <application>PL/pgSQL</>
+	variable names are substituted, and the query plan is cached for
+	possible re-use.
 
 <programlisting>
 OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
@@ -1799,8 +1832,8 @@ FETCH curs2 INTO foo,bar,baz;
 CLOSE <replaceable>cursor</replaceable>;
 </synopsis>
 
-        CLOSE closes the Portal underlying an open cursor.
-	This can be used to release resources earlier than end of
+    <command>CLOSE</command> closes the Portal underlying an open
+	cursor.  This can be used to release resources earlier than end of
 	transaction, or to free up the cursor variable to be opened again.
 
 <programlisting>
@@ -1815,11 +1848,12 @@ CLOSE curs1;
        <para>
 
         <application>PL/pgSQL</> functions can return cursors to the
-        caller. This is used to return multiple rows or columns from the
-        function. The function opens the cursor and returns the cursor
-        name to the caller. The caller can then FETCH rows from the
-        cursor. The cursor can be closed by the caller, or it will be
-        closed automatically when the transaction closes.
+        caller. This is used to return multiple rows or columns from
+        the function. The function opens the cursor and returns the
+        cursor name to the caller. The caller can then
+        <command>FETCH</command> rows from the cursor. The cursor can
+        be closed by the caller, or it will be closed automatically
+        when the transaction closes.
 
        </para>
 
@@ -1879,7 +1913,8 @@ COMMIT;
    <title>Errors and Messages</title>
 
    <para>
-    Use the RAISE statement to report messages and raise errors.
+    Use the <command>RAISE</command> statement to report messages and
+    raise errors.
 
 <synopsis>
 RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">variable</replaceable> <optional>...</optional></optional>;
@@ -1896,8 +1931,7 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa
     written to the server log, or both is controlled by the
     <option>LOG_MIN_MESSAGES</option> and
     <option>CLIENT_MIN_MESSAGES</option> configuration variables. See
-    the <citetitle>PostgreSQL Administrator's Guide</citetitle> for more
-    information.
+    the &cite-admin; for more information.
    </para>
 
    <para>
@@ -2029,9 +2063,9 @@ RAISE EXCEPTION ''Inexistent ID --> %'',user_id;
      <term><varname>TG_LEVEL</varname></term>
      <listitem>
       <para>
-       Data type <type>text</type>; a string of either 
-              <literal>ROW</literal> or <literal>STATEMENT</literal> depending on the
-       trigger's definition.
+       Data type <type>text</type>; a string of either
+       <literal>ROW</literal> or <literal>STATEMENT</literal>
+       depending on the trigger's definition.
       </para>
      </listitem>
     </varlistentry>
@@ -2040,10 +2074,10 @@ RAISE EXCEPTION ''Inexistent ID --> %'',user_id;
      <term><varname>TG_OP</varname></term>
      <listitem>
       <para>
-       Data type <type>text</type>; a string of 
-              <literal>INSERT</literal>, <literal>UPDATE</literal> 
-              or <literal>DELETE</literal> telling
-       for which operation the trigger is fired.
+       Data type <type>text</type>; a string of
+       <literal>INSERT</literal>, <literal>UPDATE</literal> or
+       <literal>DELETE</literal> telling for which operation the
+       trigger is fired.
       </para>
      </listitem>
     </varlistentry>
@@ -2282,7 +2316,7 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
 -->
   </sect1info> 
 
-  <title>Porting from Oracle PL/SQL</title>
+  <title>Porting from <productname>Oracle</productname> PL/SQL</title>
 
   <indexterm zone="plpgsql-porting">
    <primary>Oracle</primary>
@@ -2300,7 +2334,7 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
   </note>
 
   <para>
-   This section explains differences between Oracle's PL/SQL and
+   This section explains differences between <productname>Oracle</>'s PL/SQL and
    <productname>PostgreSQL</>'s <application>PL/pgSQL</application> languages in the hopes of helping developers
    port applications from Oracle to <productname>PostgreSQL</>.  Most of the code here
    is from the <ulink url="http://www.arsdigita.com">ArsDigita</ulink>
@@ -2322,7 +2356,8 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
    <title>Main Differences</title>
 
    <para>
-    Some things you should keep in mind when porting from Oracle to <productname>PostgreSQL</>:
+    Some things you should keep in mind when porting from
+    <productname>Oracle</productname> to <productname>PostgreSQL</>:
 
     <itemizedlist>
      <listitem>
@@ -2479,7 +2514,7 @@ a_output := a_output || '' if v_'' ||
     </title>
 
     <para>
-     Here is an Oracle function:
+     Here is an <productname>Oracle</productname> function:
 <programlisting>
 CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name IN varchar, v_version IN varchar)
 RETURN varchar IS
@@ -2508,12 +2543,13 @@ SHOW ERRORS;
 
       <listitem>
        <para>
-        Oracle can have <literal>IN</literal>, <literal>OUT</literal>,
-        and <literal>INOUT</literal> parameters passed to functions.
-        The <literal>INOUT</literal>, for example, means that the
-        parameter will receive a value and return another. <productname>PostgreSQL</>
-        only has <quote>IN</quote> parameters and functions can return
-        only a single value.
+        <productname>Oracle</productname> can have
+        <literal>IN</literal>, <literal>OUT</literal>, and
+        <literal>INOUT</literal> parameters passed to functions.  The
+        <literal>INOUT</literal>, for example, means that the
+        parameter will receive a value and return
+        another. <productname>PostgreSQL</> only has <quote>IN</quote>
+        parameters and functions can return only a single value.
        </para>
       </listitem>
 
@@ -2644,11 +2680,11 @@ END;
  
    <example>
     <title>
-     A Procedure with a lot of String Manipulation and OUT Parameters
+     A Procedure with a lot of String Manipulation and <literal>OUT</> Parameters
     </title>
 
     <para>
-     The following Oracle PL/SQL procedure is used to parse a URL and
+     The following <productname>Oracle</productname> PL/SQL procedure is used to parse a URL and
      return several elements (host, path and query). It is an
      procedure because in <application>PL/pgSQL</application> functions only one value can be returned
      (see <xref linkend="plpgsql-porting-procedures">).  In
@@ -2738,7 +2774,7 @@ END;
      so you can work around it using a combination of other functions.
      I got tired of doing this and created my own
      <function>instr</function> functions that behave exactly like
-     Oracle's (it makes life easier). See the <xref
+     <productname>Oracle</productname>'s (it makes life easier). See the <xref
      linkend="plpgsql-porting-appendix"> for the code.
     </para>
    </note>
@@ -2750,9 +2786,10 @@ END;
    </title>
 
    <para>
-    Oracle procedures give a little more flexibility to the developer
-    because nothing needs to be explicitly returned, but it can be
-    through the use of <literal>INOUT</> or <literal>OUT</> parameters.
+    <productname>Oracle</productname> procedures give a little more
+    flexibility to the developer because nothing needs to be
+    explicitly returned, but it can be through the use of
+    <literal>INOUT</> or <literal>OUT</> parameters.
    </para>
 
    <para>
@@ -2890,12 +2927,13 @@ END;
    </note>
 
    <para>
-    Packages are a way Oracle gives you to encapsulate PL/SQL
-    statements and functions into one entity, like Java classes, where
-    you define methods and objects. You can access these
-    objects/methods with a <quote><literal>.</literal></quote>
-    (dot). Here is an example of an Oracle package from ACS 4 (the
-    <ulink url="http://www.arsdigita.com/doc/">ArsDigita Community
+    Packages are a way <productname>Oracle</productname> gives you to
+    encapsulate PL/SQL statements and functions into one entity, like
+    Java classes, where you define methods and objects. You can access
+    these objects/methods with a <quote><literal>.</literal></quote>
+    (dot). Here is an example of an <productname>Oracle</productname>
+    package from ACS 4 (the <ulink
+    url="http://www.arsdigita.com/doc/">ArsDigita Community
     System</ulink>):
 
 <programlisting>
@@ -2924,10 +2962,11 @@ show errors
    </para>
 
    <para>
-    We port this to <productname>PostgreSQL</> by creating the different objects of
-    the Oracle package as functions with a standard naming
-    convention. We have to pay attention to some other details, like
-    the lack of default parameters in <productname>PostgreSQL</> functions. The above
+    We port this to <productname>PostgreSQL</> by creating the
+    different objects of the <productname>Oracle</productname> package
+    as functions with a standard naming convention. We have to pay
+    attention to some other details, like the lack of default
+    parameters in <productname>PostgreSQL</> functions. The above
     package would become something like this:
  
 <programlisting>
diff --git a/doc/src/sgml/ref/alter_database.sgml b/doc/src/sgml/ref/alter_database.sgml
index 76a4ac014afc40d70ebb30b540872927a1539a36..2282b07a7405d056303a46a0e63c66dd67d5fc07 100644
--- a/doc/src/sgml/ref/alter_database.sgml
+++ b/doc/src/sgml/ref/alter_database.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.3 2002/05/17 01:19:16 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.4 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -71,8 +71,8 @@ ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replacea
 
        <para>
         See <xref linkend="sql-set" endterm="sql-set-title"> and the
-        <citetitle>Administrator's Guide</citetitle> for more
-        information about allowed variable names and values.
+        &cite-admin; for more information about allowed variable names
+        and values.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index a8cbfb5bc68030b3d6d940984ebc2ab5b907f4b8..2287a72cb65c9572b4a345b4fa25fabe04fe444e 100644
--- a/doc/src/sgml/ref/alter_table.sgml
+++ b/doc/src/sgml/ref/alter_table.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.53 2002/12/16 19:08:25 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.54 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -399,9 +399,8 @@ VACUUM FULL table;
 
    <para>
     Refer to <command>CREATE TABLE</command> for a further description
-    of valid arguments.
-    The <citetitle>PostgreSQL User's Guide</citetitle> has further
-    information on inheritance.
+    of valid arguments. The &cite-user; has further information on
+    inheritance.
    </para>
   </refsect2>
  </refsect1>
diff --git a/doc/src/sgml/ref/alter_user.sgml b/doc/src/sgml/ref/alter_user.sgml
index 345379cd3a901a4407e8471c6ed5d3ba2213c69c..e6c5ac54d7acf2487353d33a6833f8531b77cf84 100644
--- a/doc/src/sgml/ref/alter_user.sgml
+++ b/doc/src/sgml/ref/alter_user.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.23 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -145,8 +145,8 @@ ALTER USER <replaceable class="PARAMETER">username</replaceable> RESET <replacea
 
        <para>
         See <xref linkend="sql-set" endterm="sql-set-title"> and the
-        <citetitle>Administrator's Guide</citetitle> for more
-        information about allowed variable names and values.
+        &cite-admin; for more information about allowed variable names
+        and values.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml
index 72dc5cdcdebe79d254ec181a43cf807c0850be80..03b026e52153e1a21e6eac6fc78b56be0ca7ba32 100644
--- a/doc/src/sgml/ref/analyze.sgml
+++ b/doc/src/sgml/ref/analyze.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/analyze.sgml,v 1.9 2002/07/31 17:19:51 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/analyze.sgml,v 1.10 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -152,8 +152,7 @@ ANALYZE [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> [ (<rep
    <command>ANALYZE</command> deems them uninteresting (for example, in
    a unique-key column, there are no common values) or if the column
    data type does not support the appropriate operators.  There is more
-   information about the statistics in the <citetitle>User's
-   Guide</citetitle>.
+   information about the statistics in the &cite-user;.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/begin.sgml b/doc/src/sgml/ref/begin.sgml
index 6a02672e7d0e06c6553d9c6d3e49ef0daa342af6..d8d28389e851675c067e63c643cbaee73dd35b36 100644
--- a/doc/src/sgml/ref/begin.sgml
+++ b/doc/src/sgml/ref/begin.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.20 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.21 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -121,8 +121,7 @@ WARNING:  BEGIN: already a transaction in progress
    <command>SET TRANSACTION ISOLATION LEVEL SERIALIZABLE</command>
    just after <command>BEGIN</command> if you need more rigorous transaction
    isolation.  (Alternatively, you can change the default transaction
-   isolation level; see the <citetitle>PostgreSQL Administrator's
-   Guide</citetitle> for details.)
+   isolation level; see the &cite-admin; for details.)
    In SERIALIZABLE mode queries will see only changes committed before
    the entire
    transaction began (actually, before execution of the first <acronym>DML</> statement
@@ -161,7 +160,7 @@ WARNING:  BEGIN: already a transaction in progress
    </para>
    
    <para>
-    If you turn <literal>autocommit</> mode off, then <command>BEGIN</>
+    If you turn <varname>autocommit</> mode off, then <command>BEGIN</>
     is not required: any SQL command automatically starts a transaction.
    </para>
   </refsect2>
diff --git a/doc/src/sgml/ref/checkpoint.sgml b/doc/src/sgml/ref/checkpoint.sgml
index 2ac485f4c4baea76f9a1a6eaef54c131273cac2b..9023b899982e3419e07518bae0f12c50a3414095 100644
--- a/doc/src/sgml/ref/checkpoint.sgml
+++ b/doc/src/sgml/ref/checkpoint.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.6 2002/04/21 19:02:39 thomas Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.7 2003/01/19 00:13:29 momjian Exp $ -->
 
 <refentry id="sql-checkpoint">
  <refmeta>
@@ -34,8 +34,7 @@ CHECKPOINT
    A checkpoint is a point in the transaction log sequence at which
    all data files have been updated to reflect the information in the
    log.  All data files will be flushed to disk.  Refer to the
-   <citetitle>PostgreSQL Administrator's Guide</citetitle> for more
-   information about the WAL system.
+   &cite-admin; for more information about the WAL system.
   </para>
 
   <para>
@@ -48,7 +47,7 @@ CHECKPOINT
   <title>See Also</title>
 
   <para>
-   <citetitle>PostgreSQL Administrator's Guide</citetitle>
+   &cite-admin;
   </para>
  </refsect1>
 
@@ -61,3 +60,20 @@ CHECKPOINT
   </para>
  </refsect1>
 </refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/create_aggregate.sgml b/doc/src/sgml/ref/create_aggregate.sgml
index 9024152fb3fde08bbf20e30db1fa81cc8a4ddb3d..c5ae96850c2cc18a67bfb000cc7e37a7020f7dde 100644
--- a/doc/src/sgml/ref/create_aggregate.sgml
+++ b/doc/src/sgml/ref/create_aggregate.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_aggregate.sgml,v 1.22 2002/10/21 04:33:39 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_aggregate.sgml,v 1.23 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -271,9 +271,8 @@ CREATE AGGREGATE
    Usage
   </title>
   <para>
-   Refer to the chapter on aggregate functions
-   in the <citetitle>PostgreSQL Programmer's Guide</citetitle> for
-   complete examples of usage.
+   Refer to the chapter on aggregate functions in the
+   &cite-programmer; for complete examples of usage.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml
index 98ed9c3a88285453835a62e851740738ec1fcc4f..74c45328289b8bd1ea0891cf85457ce1d9720f36 100644
--- a/doc/src/sgml/ref/create_cast.sgml
+++ b/doc/src/sgml/ref/create_cast.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.7 2002/11/15 03:11:17 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.8 2003/01/19 00:13:29 momjian Exp $ -->
 
 <refentry id="SQL-CREATECAST">
  <refmeta>
@@ -241,7 +241,7 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
    <xref linkend="sql-createtype" endterm="sql-createtype-title">,
    <xref linkend="sql-dropcast" endterm="sql-dropcast-title">,
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>
+   &cite-programmer;
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_conversion.sgml b/doc/src/sgml/ref/create_conversion.sgml
index bf8ec00ff7b8e9ee3e9a80fcf4af498c3767ff87..1ced20a3d1469c346108deb17072ddb50d390df9 100644
--- a/doc/src/sgml/ref/create_conversion.sgml
+++ b/doc/src/sgml/ref/create_conversion.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.5 2002/11/02 02:33:03 tgl Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.6 2003/01/19 00:13:29 momjian Exp $ -->
 
 <refentry id="SQL-CREATECONVERSION">
  <refmeta>
@@ -158,7 +158,7 @@ CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;
   <para>
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
    <xref linkend="sql-dropconversion" endterm="sql-dropconversion-title">,
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>
+   &cite-programmer;
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index f419a12966f31ef7bb75f8c2fadd09d7e6b17989..c893a47e7d6b6926abcbaa553b804575e1e7d5fa 100644
--- a/doc/src/sgml/ref/create_database.sgml
+++ b/doc/src/sgml/ref/create_database.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.30 2002/11/15 03:11:17 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.31 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -281,7 +281,7 @@ comment from Olly; response from Thomas...
    by specifying its name as the template, this is not (yet) intended as
    a general-purpose COPY DATABASE facility.
    We recommend that databases used as templates be treated as read-only.
-   See the <citetitle>Administrator's Guide</> for more information.
+   See the &cite-admin; for more information.
   </para>
   </refsect2>
  </refsect1>
diff --git a/doc/src/sgml/ref/create_domain.sgml b/doc/src/sgml/ref/create_domain.sgml
index 0d44434b3e5bf9d709dfc4c65aa9abe62c756c19..01d5870a8b9647f27dafe7189f76843328eb9521 100644
--- a/doc/src/sgml/ref/create_domain.sgml
+++ b/doc/src/sgml/ref/create_domain.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.9 2002/12/12 20:35:07 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.10 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -58,7 +58,7 @@ where <replaceable class="PARAMETER">constraint</replaceable> is:
        <para>
         The underlying data type of the domain. This may include array
 	specifiers.
-        Refer to the <citetitle>User's Guide</citetitle> for further
+        Refer to the &cite-user; for further
         information about data types and arrays.
        </para>
       </listitem>
@@ -224,7 +224,7 @@ CREATE TABLE countrylist (id INT4, country country_code);
 
   <simplelist type="inline">
    <member><xref linkend="sql-dropdomain" endterm="sql-dropdomain-title"></member>
-   <member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
+   <member>&cite-programmer;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml
index 6c737f26141528f7377aa5c5381fc714d153a8d6..71c09e6ef5b04ccf53bfa76c4f784fd06db0181e 100644
--- a/doc/src/sgml/ref/create_function.sgml
+++ b/doc/src/sgml/ref/create_function.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.43 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.44 2003/01/19 00:13:29 momjian Exp $
 -->
 
 <refentry id="SQL-CREATEFUNCTION">
@@ -281,8 +281,7 @@ CREATE [ OR REPLACE ] FUNCTION <replaceable class="parameter">name</replaceable>
   <title>Notes</title>
 
    <para>
-    Refer to the chapter in the
-    <citetitle>PostgreSQL Programmer's Guide</citetitle>
+    Refer to the chapter in the &cite-programmer;
     on the topic of extending
     <productname>PostgreSQL</productname> via functions 
     for further information on writing external functions.
@@ -470,7 +469,7 @@ Point * complex_to_point (Complex *z)
    <xref linkend="sql-load" endterm="sql-load-title">,
    <xref linkend="sql-revoke" endterm="sql-revoke-title">,
    <xref linkend="app-createlang">,
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>
+   &cite-programmer;
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_group.sgml b/doc/src/sgml/ref/create_group.sgml
index 7992756cb4819ac89d68ddfa7114d5acef10ffcf..539e2c60540727a775eba13459e38c5dea81ad4f 100644
--- a/doc/src/sgml/ref/create_group.sgml
+++ b/doc/src/sgml/ref/create_group.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.8 2002/04/21 19:02:39 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.9 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -107,10 +107,10 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
    Description
   </title>
   <para>
-   CREATE GROUP will create a new group in the database installation.
-   Refer to the <citetitle>Administrator's Guide</citetitle> for information about using groups
-   for authentication.
-   You must be a database superuser to use this command.
+   <command>CREATE GROUP</command> will create a new group in the
+   database installation.  Refer to the &cite-admin; for information
+   about using groups for authentication. You must be a database
+   superuser to use this command.
   </para>
   <para>
    Use <xref linkend="SQL-ALTERGROUP" endterm="SQL-ALTERGROUP-title">
diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml
index ddf27fd4d7e3903d33b914563a772ba50d6d79d4..ffb615ae5d47e2c8720e6ad9e716927d3a5f08da 100644
--- a/doc/src/sgml/ref/create_language.sgml
+++ b/doc/src/sgml/ref/create_language.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.29 2002/11/21 23:34:43 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.30 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -37,9 +37,8 @@ CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE <replaceable class="parameter">langna
   <para>
    <command>CREATE LANGUAGE</command> effectively associates the
    language name with a call handler that is responsible for executing
-   functions written in the language.  Refer to the
-   <citetitle>Programmer's Guide</citetitle> for more information
-   about language call handlers.
+   functions written in the language.  Refer to the &cite-programmer;
+   for more information about language call handlers.
   </para>
 
   <para>
@@ -301,7 +300,7 @@ CREATE LANGUAGE plsample
     <member><xref linkend="sql-droplanguage" endterm="sql-droplanguage-title"></member>
     <member><xref linkend="sql-grant" endterm="sql-grant-title"></member>
     <member><xref linkend="sql-revoke" endterm="sql-revoke-title"></member>
-    <member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
+    <member>&cite-programmer;</member>
    </simplelist>
   </para>
  </refsect1>
diff --git a/doc/src/sgml/ref/create_opclass.sgml b/doc/src/sgml/ref/create_opclass.sgml
index 48f21435da57d16b6d0158484a3a881c3331ff30..04d2c2d2f91e1b6298724c13222ed5ce3057a927 100644
--- a/doc/src/sgml/ref/create_opclass.sgml
+++ b/doc/src/sgml/ref/create_opclass.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.4 2002/10/04 22:19:29 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.5 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -224,8 +224,7 @@ CREATE OPERATOR CLASS
 
   <para>
     Refer to the chapter on interfacing extensions to indexes in the
-    <citetitle>PostgreSQL Programmer's Guide</citetitle>
-    for further information.
+    &cite-programmer; for further information.
   </para>
   
   <refsect2 id="R2-SQL-CREATEOPCLASS-3">
diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml
index da547718281197f6fedd64307cf7268eb5067e5e..69c8a42033740c62db19d677ab7981e3eceaeb01 100644
--- a/doc/src/sgml/ref/create_operator.sgml
+++ b/doc/src/sgml/ref/create_operator.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.32 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.33 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -436,8 +436,7 @@ MYBOXES.description === box '((0,0), (1,1))'
     Notes
    </title>
    <para>
-    Refer to the chapter on operators in the
-    <citetitle>PostgreSQL User's Guide</citetitle>
+    Refer to the chapter on operators in the &cite-user;
     for further information.
     Refer to <command>DROP OPERATOR</command> to delete
     user-defined operators from a database.
diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml
index 4e36dfbe77139df9612ea643ccdc38a12be1d6d8..a357e434e37fb84f8a055799dfebb9ff9a85226d 100644
--- a/doc/src/sgml/ref/create_sequence.sgml
+++ b/doc/src/sgml/ref/create_sequence.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.29 2002/11/10 00:10:20 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.30 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -256,7 +256,7 @@ ERROR:  DefineSequence: MINVALUE (<replaceable class="parameter">min</replaceabl
    <function>currval</function> and
    <function>setval</function>
    to operate on the sequence.  These functions are documented in
-   the <citetitle>User's Guide</citetitle>.
+   the &cite-user;.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index db51a26469faa650949188494e832b5d00b12bed..3439c73115068c04ae8e58a1440a0d574012429a 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.60 2002/12/16 19:08:25 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.61 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -147,8 +147,8 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
     <listitem>
      <para>
       The data type of the column. This may include array specifiers.
-      Refer to the <citetitle>User's Guide</citetitle> for further
-      information about data types and arrays.
+      Refer to the &cite-user; for further information about data
+      types and arrays.
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml
index 2917050b789774a45f2c383c9b408e98f985906f..0c69b90da8e286369af545cedd18a3e787c81c33 100644
--- a/doc/src/sgml/ref/create_trigger.sgml
+++ b/doc/src/sgml/ref/create_trigger.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.31 2002/12/17 17:41:30 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.32 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -202,9 +202,8 @@ CREATE TRIGGER
   </para>
 
   <para>
-   Refer to the chapters on SPI and Triggers in the
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>  for  more
-   information.
+   Refer to the chapters on SPI and Triggers in the &cite-programmer;
+   for more information.
   </para>
  </refsect1>
 
@@ -349,7 +348,7 @@ CREATE TABLE distributors (
    <member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
    <member><xref linkend="sql-altertrigger" endterm="sql-altertrigger-title"></member>
    <member><xref linkend="sql-droptrigger" endterm="sql-droptrigger-title"></member>
-   <member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
+   <member>&cite-programmer;</member>
   </simplelist>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/create_type.sgml b/doc/src/sgml/ref/create_type.sgml
index da22aa8696c3b5de383198285fe2da5118c660e7..651409b245565e8f7427ac28c73d55153bc3cbb9 100644
--- a/doc/src/sgml/ref/create_type.sgml
+++ b/doc/src/sgml/ref/create_type.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.37 2002/11/21 23:34:43 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.38 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -468,7 +468,7 @@ CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS 'SELECT fooid, fooname FROM fo
   <simplelist type="inline">
    <member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
    <member><xref linkend="sql-droptype" endterm="sql-droptype-title"></member>
-   <member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
+   <member>&cite-programmer;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_user.sgml b/doc/src/sgml/ref/create_user.sgml
index 04a596ef745bbe54b905b799e8f7b48d9590b6af..856abbf830db1784c611402d40fb1d3dd22770e8 100644
--- a/doc/src/sgml/ref/create_user.sgml
+++ b/doc/src/sgml/ref/create_user.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.23 2002/02/27 21:14:53 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -34,10 +34,9 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
 
   <para>
    <command>CREATE USER</command> will add a new user to an instance
-   of <productname>PostgreSQL</productname>. Refer to the
-   <citetitle>Administrator's Guide</citetitle> for information about
-   managing users and authentication.  You must be a database
-   superuser to use this command.
+   of <productname>PostgreSQL</productname>. Refer to the &cite-admin;
+   for information about managing users and authentication.  You must
+   be a database superuser to use this command.
   </para>
 
   <refsect2>
@@ -102,12 +101,11 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
        </para>
 
        <para>
-        See the chapter on client authentication in the
-        <citetitle>Administrator's Guide</citetitle> for details on
-        how to set up authentication mechanisms.  Note that older
-        clients may lack support for the MD5 authentication mechanism
-        that is needed to work with passwords that are stored
-        encrypted.
+        See the chapter on client authentication in the &cite-admin;
+        for details on how to set up authentication mechanisms.  Note
+        that older clients may lack support for the MD5 authentication
+        mechanism that is needed to work with passwords that are
+        stored encrypted.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/drop_aggregate.sgml b/doc/src/sgml/ref/drop_aggregate.sgml
index 9913e5d8ed363cc30da2c1e9fc8310cb4ecd1c4b..fb95a3c605ca72b632fdf543c9f1d3f93ddbe231 100644
--- a/doc/src/sgml/ref/drop_aggregate.sgml
+++ b/doc/src/sgml/ref/drop_aggregate.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.19 2002/07/12 18:43:12 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.20 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -47,10 +47,7 @@ DROP AGGREGATE <replaceable class="PARAMETER">name</replaceable> ( <replaceable
        <para>
 	The input data type of the aggregate function,
 	or <literal>*</literal> if the function accepts any input type.
-	(Refer to the <citetitle>PostgreSQL User's Guide</citetitle> for
-	further information about data types.)
-	<comment>This should become a cross-reference rather than a
-	 hard-coded chapter number</comment>
+	(Refer to the &cite-user; for further information about data types.)
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/ecpg-ref.sgml b/doc/src/sgml/ref/ecpg-ref.sgml
index 2a5f0f6ac6dc52c3c665e1af1e791a0b51daa22e..a38d731b94431ecec3ad19b22ffce834cd37bcc6 100644
--- a/doc/src/sgml/ref/ecpg-ref.sgml
+++ b/doc/src/sgml/ref/ecpg-ref.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.23 2002/11/15 03:11:18 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -49,7 +49,7 @@ PostgreSQL documentation
 
   <para>
    This reference page does not describe the embedded SQL language.
-   See the &cite-programmer; for that.
+   See the &cite-programmer; for more information on that topic.
   </para>
  </refsect1>
 
@@ -196,8 +196,8 @@ cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg
   <title>See Also</title>
 
   <para>
-   <citetitle>PostgreSQL Programmer's Guide</citetitle> for a more
-   detailed description of the embedded SQL interface
+   &cite-programmer; for a more detailed description of the embedded
+   SQL interface
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/execute.sgml b/doc/src/sgml/ref/execute.sgml
index 67035572e742373acd55f86af4108f12567b60e8..2302ef99a328a0617486aa5e022e34cebf492e05 100644
--- a/doc/src/sgml/ref/execute.sgml
+++ b/doc/src/sgml/ref/execute.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/execute.sgml,v 1.1 2002/08/27 04:55:07 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/execute.sgml,v 1.2 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -21,7 +21,7 @@ PostgreSQL documentation
    <date>2002-08-12</date>
   </refsynopsisdivinfo>
   <synopsis>
-   EXECUTE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">parameter</replaceable> [, ...] ) ]
+   EXECUTE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">parameter</replaceable> [, ...] ) ] [ INTO [ TEMPORARY | TEMP ] <replaceable class="PARAMETER">table</replaceable> ]
   </synopsis>
 
   <refsect2 id="R2-SQL-EXECUTE-1">
@@ -42,16 +42,28 @@ PostgreSQL documentation
        </para>
       </listitem>
      </varlistentry>
+
      <varlistentry>
       <term><replaceable class="PARAMETER">parameter</replaceable></term>
       <listitem>
        <para>
-		The actual value of a parameter to the prepared query.
-		This must be an expression yielding a value of a type
-		compatible with
-		the data-type specified for this parameter position in the
-		<command>PREPARE</command> statement that created the prepared
-		query.
+		The actual value of a parameter to the prepared query.  This
+		must be an expression yielding a value of a type compatible
+		with the data-type specified for this parameter position in
+		the <command>PREPARE</command> statement that created the
+		prepared query.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term><replaceable class="PARAMETER">table</replaceable></term>
+      <listitem>
+       <para>
+        The name of the table in which to store the results of
+        executing the query (if it is a <command>SELECT</command>). If
+        no table is specified, the results are returned to the client
+        (as normal).
        </para>
       </listitem>
      </varlistentry>
@@ -85,6 +97,13 @@ PostgreSQL documentation
    name of a prepared query must be unique within a database session.
   </para>
 
+  <para>
+   Like <command>SELECT INTO</command>, <command>EXECUTE</command> can
+   be used to store the results of executing the query in a table by
+   specifying an INTO clause. For more information on this behabior,
+   consult the reference for <xref linkend="sql-selectinto">.
+  </para>
+
   <para>
    For more information on the creation and usage of prepared queries,
    see <xref linkend="sql-prepare" endterm="sql-prepare-title">.
diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml
index cd9e1fba35c5d8d17202b85f0afeaa2913787cc8..7e7f43f50ea380592c928c5669fe7ab0dbe3ec29 100644
--- a/doc/src/sgml/ref/explain.sgml
+++ b/doc/src/sgml/ref/explain.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/explain.sgml,v 1.21 2002/11/15 03:11:18 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/explain.sgml,v 1.22 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -87,9 +87,10 @@ EXPLAIN [ ANALYZE ] [ VERBOSE ] <replaceable class="PARAMETER">query</replaceabl
 
    <note>
     <para>
-     Prior to <productname>PostgreSQL</productname> 7.3, the query plan
-     was emitted in the form of a NOTICE message.  Now it appears as a
-     query result (formatted like a table with a single text column).
+     Prior to <productname>PostgreSQL</productname> 7.3, the query
+     plan was emitted in the form of a <literal>NOTICE</literal>
+     message.  Now it appears as a query result (formatted like a
+     table with a single text column).
     </para>
    </note>
   </refsect2>
@@ -127,12 +128,26 @@ EXPLAIN [ ANALYZE ] [ VERBOSE ] <replaceable class="PARAMETER">query</replaceabl
    costs to estimate which plan is really the cheapest.
   </para>
 
+  <note>
+   <para>
+    In order to allow the <productname>PostgreSQL</productname> query
+    planner to make reasonably informed decisions when optimizing
+    queries, the <command>ANALYZE</command> statement should be used
+    to record statistics about the distribution of data within the
+    table. If you have not done this (or the statistical distribution
+    of the data in the table has changed significantly since the last
+    time <command>ANALYZE</command> was run), the estimated costs and
+    the resulting query plan displayed by <command>EXPLAIN</command>
+    are unlikely to conform to the real properties of the query.
+   </para>
+  </note>
+
   <para>
    The ANALYZE option causes the query to be actually executed, not only
    planned.  The total elapsed time expended within each plan node (in
    milliseconds) and total number of rows it actually returned are added to
    the display.  This is useful for seeing whether the planner's estimates
-   are close to reality.
+   are close to the actual performance of the query.
   </para>
 
   <caution>
@@ -171,8 +186,7 @@ ROLLBACK;
    <para>
     There is only sparse documentation on the optimizer's use of cost
     information in <productname>PostgreSQL</productname>.
-    Refer to the <citetitle>User's Guide</citetitle> and
-    <citetitle>Programmer's Guide</citetitle> for more information.
+    Refer to the &cite-user; and &cite-programmer; for more information.
    </para>
   </refsect2>
  </refsect1>
@@ -233,7 +247,12 @@ EXPLAIN SELECT sum(i) FROM foo WHERE i &lt; 10;
   <para>
    Note that the specific numbers shown, and even the selected query
    strategy, may vary between <productname>PostgreSQL</productname>
-   releases due to planner improvements.
+   releases due to planner improvements. In addition, the algorithm
+   used by <command>ANALYZE</command> to generate statistics is not
+   completely deterministic; therefore, it is possible (although not
+   likely) for cost estimations to change between runs of
+   <command>ANALYZE</command>, even if the actual distribution of data
+   in the table has not changed.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index b6565d0f2f8a7aa5bcf6294c7f0b68ae97fd85d1..7d63df874d9a531f2bdb978d487b0ec40ecce94f 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.23 2002/10/11 23:03:48 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -253,7 +253,7 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-postgres"></member>
    <member><xref linkend="app-postmaster"></member>
-   <member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
+   <member>&cite-admin;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/initlocation.sgml b/doc/src/sgml/ref/initlocation.sgml
index b89acd883890cb5b62a27af5104ec9ee268cc1e9..01c018a3b46d4778cdadab88037957787caef9db 100644
--- a/doc/src/sgml/ref/initlocation.sgml
+++ b/doc/src/sgml/ref/initlocation.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.17 2002/10/11 23:03:48 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.18 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -69,7 +69,7 @@ PostgreSQL documentation
   <title>See Also</title>
 
   <simplelist type="inline">
-   <member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
+   <member>&cite-admin;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml
index 054570c9ce79771c2588496922281d61bbdae37d..eeac298fb6914e9b0e10a3d053caecb68429299a 100644
--- a/doc/src/sgml/ref/insert.sgml
+++ b/doc/src/sgml/ref/insert.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.19 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.20 2003/01/19 00:13:29 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -216,8 +216,7 @@ INSERT INTO films SELECT * FROM tmp;
   </para>
 
   <para>
-   Insert into arrays (refer to the
-   <citetitle>PostgreSQL User's Guide</citetitle> for further
+   Insert into arrays (refer to the &cite-user; for further
    information about arrays):
 
    <programlisting>
diff --git a/doc/src/sgml/ref/load.sgml b/doc/src/sgml/ref/load.sgml
index 1c5d871d89ab36205f7295faaf4628ed150c7be9..895f071e16729d21545bd275059a7a1bcd240ce1 100644
--- a/doc/src/sgml/ref/load.sgml
+++ b/doc/src/sgml/ref/load.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.14 2002/11/21 23:34:43 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.15 2003/01/19 00:13:29 momjian Exp $
 -->
 
 <refentry id="SQL-LOAD">
@@ -37,8 +37,8 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
    The file name is specified in the same way as for shared library
    names in <xref linkend="sql-createfunction" endterm="sql-createfunction-title">; in particular, one
    may rely on a search path and automatic addition of the system's standard
-   shared library file name extension.  See the
-   <citetitle>Programmer's Guide</citetitle> for more detail.
+   shared library file name extension.  See the &cite-programmer; for
+   more information on this topic.
   </para>
  </refsect1>
 
@@ -57,7 +57,7 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
 
   <para>
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>
+   &cite-programmer;
   </para>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/pg_config-ref.sgml b/doc/src/sgml/ref/pg_config-ref.sgml
index e9adeb2c5e0edccf11051740b69e7db4f04eeda0..9b26e2f527520e90e3443b233f9353080e4a6e91 100644
--- a/doc/src/sgml/ref/pg_config-ref.sgml
+++ b/doc/src/sgml/ref/pg_config-ref.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.12 2002/11/15 03:11:18 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.13 2003/01/19 00:13:29 momjian Exp $ -->
 
 <refentry id="app-pgconfig">
  <refmeta>
@@ -160,7 +160,24 @@
   <title>See Also</title>
 
   <para>
-   <citetitle>PostgreSQL Programmer's Guide</citetitle>
+   &cite-programmer;
   </para>
  </refsect1>
 </refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml
index 1c5c84251345be25cd389587ce06551ded249507..1ce8cfc9f20b814a2ce3d65cbae2ab75470ddd99 100644
--- a/doc/src/sgml/ref/pg_ctl-ref.sgml
+++ b/doc/src/sgml/ref/pg_ctl-ref.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.17 2002/10/11 23:03:48 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.18 2003/01/19 00:13:30 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -368,7 +368,7 @@ Command line was:
   <title>See Also</title>
 
   <para>
-   <xref linkend="app-postmaster">, <citetitle>PostgreSQL Administrator's Guide</citetitle>
+   <xref linkend="app-postmaster">, &cite-admin;
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 66a2e00073baedea3f8443a92a800ac3070d82be..072237589ddb17d8d3b95aeb66a57106ff505103 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.54 2003/01/06 18:53:24 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.55 2003/01/19 00:13:30 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -705,7 +705,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
    <member><xref linkend="app-pg-dumpall"></member>
    <member><xref linkend="app-pgrestore"></member>
    <member><xref linkend="app-psql"></member>
-   <member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
+   <member>&cite-admin;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index 9430ec580ae809498705a1ca1529feeaf65c3102..be76f55a36cbffc3ce0f78116c094cc9c74c3e60 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.34 2003/01/06 18:53:24 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.35 2003/01/19 00:13:31 momjian Exp $ -->
 
 <refentry id="APP-PGRESTORE">
  <docinfo>
@@ -697,7 +697,7 @@ CREATE DATABASE foo WITH TEMPLATE = template0;
    <member><xref linkend="app-pgdump"></member>
    <member><xref linkend="app-pg-dumpall"></member>
    <member><xref linkend="app-psql"></member>
-   <member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
+   <member>&cite-admin;</member>
   </simplelist>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/pgtclsh.sgml b/doc/src/sgml/ref/pgtclsh.sgml
index 4b8546fbc10726b338cb6940793fe37d9341e428..21ac402ff399ad3e5d704c611f0c0f5f7263c1fa 100644
--- a/doc/src/sgml/ref/pgtclsh.sgml
+++ b/doc/src/sgml/ref/pgtclsh.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtclsh.sgml,v 1.5 2002/04/21 19:02:39 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtclsh.sgml,v 1.6 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -55,7 +55,7 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-pgtksh"></member>
    <member>
-    <citetitle>PostgreSQL Programmer's Guide</citetitle> (description of <filename>libpgtcl</filename>)
+    &cite-programmer; (description of <filename>libpgtcl</filename>)
    </member>
    <member>
     <citerefentry><refentrytitle>tclsh</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
diff --git a/doc/src/sgml/ref/pgtksh.sgml b/doc/src/sgml/ref/pgtksh.sgml
index af8f483cb431790d42782770d830afd4841593f2..b06892597880713302e999623e779cf8209023de 100644
--- a/doc/src/sgml/ref/pgtksh.sgml
+++ b/doc/src/sgml/ref/pgtksh.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtksh.sgml,v 1.5 2002/04/21 19:02:39 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtksh.sgml,v 1.6 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -55,7 +55,7 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-pgtclsh"></member>
    <member>
-    <citetitle>PostgreSQL Programmer's Guide</citetitle> (description of <filename>libpgtcl</filename>)
+    &cite-programmer; (description of <filename>libpgtcl</filename>)
    </member>
    <member>
     <citerefentry><refentrytitle>tclsh</refentrytitle> <manvolnum>1</manvolnum></citerefentry>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index fa9f29462c4e7763835580ad284c90474b557b90..7b282eb295ab6aa9d0a281c9ffa79e5fcb908f09 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.29 2002/10/23 23:33:08 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.30 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -123,11 +123,11 @@ PostgreSQL documentation
 
    <para>
     You can avoid having to type these options by setting up a
-    configuration file.  See the <citetitle>Administrator's
-    Guide</citetitle> for details.  Some (safe) options can also be
-    set from the connecting client in an application-dependent way.
-    For example, if the environment variable <envar>PGOPTIONS</envar>
-    is set, then <application>libpq</>-based clients will pass that string to the
+    configuration file.  See the &cite-admin; for details.  Some
+    (safe) options can also be set from the connecting client in an
+    application-dependent way.  For example, if the environment
+    variable <envar>PGOPTIONS</envar> is set, then
+    <application>libpq</>-based clients will pass that string to the
     server, which will interpret it as
     <application>postgres</application> command-line options.
    </para>
@@ -153,8 +153,7 @@ PostgreSQL documentation
 	means that the <quote>day before month</quote> (rather than
 	month before day) rule is used to interpret ambiguous date
 	input, and that the day is printed before the month in certain
-	date output formats.  See the <citetitle>PostgreSQL User's
-	Guide</citetitle> for more information.
+	date output formats.  See the &cite-user; for more information.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml
index fa2eec8312a0bc1bb3c217302b7cca07667ecbc5..e22c5b9d16b31d6f7f94b1605777d76cdac1b61c 100644
--- a/doc/src/sgml/ref/postmaster.sgml
+++ b/doc/src/sgml/ref/postmaster.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.33 2002/10/11 23:03:48 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.34 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -80,9 +80,8 @@ PostgreSQL documentation
    <para>
     <application>postmaster</application> accepts the following
     command line arguments.  For a detailed discussion of the options
-    consult the <citetitle>Administrator's Guide</citetitle>.  You can
-    also save typing most of these options by setting up a
-    configuration file.
+    consult the &cite-admin;.  You can also save typing most of these
+    options by setting up a configuration file.
     
     <variablelist>
      <varlistentry>
@@ -111,11 +110,11 @@ PostgreSQL documentation
       <term>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></term>
       <listitem>
        <para>
-        Sets a named run-time parameter. Consult the
-        <citetitle>Administrator's Guide</citetitle> for a list and
-        descriptions.  Most of the other command line options are in
-        fact short forms of such a parameter assignment.  <option>-c</>
-	can appear multiple times to set multiple parameters.
+        Sets a named run-time parameter. Consult the &cite-admin; for
+        a list and descriptions.  Most of the other command line
+        options are in fact short forms of such a parameter
+        assignment.  <option>-c</> can appear multiple times to set
+        multiple parameters.
        </para>
       </listitem>
      </varlistentry>
@@ -219,9 +218,9 @@ PostgreSQL documentation
 	default, this value is 32, but it can be set as high as your
 	system will support.  (Note that
 	<option>-B</option> is required to be at least twice
-	<option>-N</option>.  See the <citetitle>Administrator's
-	Guide</citetitle> for a discussion of system resource requirements
-	for large numbers of client connections.)
+	<option>-N</option>.  See the &cite-admin; for a discussion of
+	system resource requirements for large numbers of client
+	connections.)
        </para>
       </listitem>
      </varlistentry>
@@ -404,8 +403,8 @@ PostgreSQL documentation
     <listitem>
      <para>
       Other environment variables may be used to designate alternative
-      data storage locations.  See the <citetitle>Administrator's
-      Guide</citetitle> for more information.
+      data storage locations.  See the &cite-admin; for more
+      information.
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/ref/reset.sgml b/doc/src/sgml/ref/reset.sgml
index ed36d549c52cb2e5d6b59f9a3fe9e0b5e4b6884e..97234134237543c7ff6bee24ce2b930df7b761e1 100644
--- a/doc/src/sgml/ref/reset.sgml
+++ b/doc/src/sgml/ref/reset.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/reset.sgml,v 1.17 2002/10/13 16:55:05 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/reset.sgml,v 1.18 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -64,7 +64,7 @@ SET <replaceable class="parameter">variable</replaceable> TO DEFAULT
    current session.  The actual source of this value might be a
    compiled-in default, the postmaster's configuration file or command-line
    switches, or per-database or per-user default settings.  See the
-   <citetitle>Administrator's Guide</citetitle> for details.
+   &cite-admin; for details.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 9ace534bc310b7cc055fe5d15aed90979569b17f..0f8a3dbcc925659a6788374ac9d01cf5941744c0 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.63 2002/10/24 21:19:15 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.64 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -291,19 +291,17 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
   </para>
 
   <para>
-   <command>DISTINCT</command> will eliminate duplicate rows from the
-   result.
-   <command>ALL</command> (the default) will return all candidate rows,
-   including duplicates.
+   DISTINCT will eliminate duplicate rows from the result.  ALL (the
+   default) will return all candidate rows, including duplicates.
   </para>
 
   <para>
-   <command>DISTINCT ON</command> eliminates rows that match on all the
+   DISTINCT ON eliminates rows that match on all the
    specified expressions, keeping only the first row of each set of
    duplicates.  The DISTINCT ON expressions are interpreted using the
    same rules as for ORDER BY items; see below.
    Note that the <quote>first row</quote> of each set is unpredictable
-   unless <command>ORDER BY</command> is used to ensure that the desired
+   unless ORDER BY is used to ensure that the desired
    row appears first.  For example,
    <programlisting>
         SELECT DISTINCT ON (location) location, time, report
@@ -336,9 +334,9 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
   </para>
    
   <para>
-   SELECT queries can be combined using UNION, INTERSECT, and EXCEPT
-   operators.  Use parentheses if necessary to determine the ordering
-   of these operators.
+   <command>SELECT</command> queries can be combined using UNION,
+   INTERSECT, and EXCEPT operators.  Use parentheses if necessary to
+   determine the ordering of these operators.
   </para>
    
   <para>
@@ -368,8 +366,8 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
   </para>
 
   <para>
-   The FOR UPDATE clause causes the SELECT statement to lock the selected
-   rows against concurrent updates.
+   The FOR UPDATE clause causes the <command>SELECT</command>
+   statement to lock the selected rows against concurrent updates.
   </para>
    
   <para>
@@ -387,11 +385,12 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
    </title>
 
    <para>
-    The FROM clause specifies one or more source tables for the SELECT.
-    If multiple sources are specified, the result is conceptually the
-    Cartesian product of all the rows in all the sources --- but usually
-    qualification conditions are added to restrict the returned rows to
-    a small subset of the Cartesian product.
+    The FROM clause specifies one or more source tables for the
+    <command>SELECT</command>.  If multiple sources are specified, the
+    result is conceptually the Cartesian product of all the rows in
+    all the sources --- but usually qualification conditions are added
+    to restrict the returned rows to a small subset of the Cartesian
+    product.
    </para>
 
    <para>
@@ -407,10 +406,11 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
    </para>
 
    <para>
-    A FROM item can also be a parenthesized sub-SELECT (note that an
-    alias clause is required for a sub-SELECT!).  This is an extremely
-    handy feature since it's the only way to get multiple levels of
-    grouping, aggregation, or sorting in a single query.
+    A FROM item can also be a parenthesized
+    sub-<command>SELECT</command> (note that an alias clause is
+    required for a sub-<command>SELECT</command>!).  This is an
+    extremely useful feature since it's the only way to get multiple
+    levels of grouping, aggregation, or sorting in a single query.
    </para>
 
    <para>
@@ -542,23 +542,25 @@ GROUP BY <replaceable class="PARAMETER">expression</replaceable> [, ...]
    </para>
 
    <para>
-    GROUP BY will condense into a single row all selected rows that share the
-    same values for the grouped columns.  Aggregate functions, if any,
-    are computed across all rows making up each group, producing a
-    separate value for each group (whereas without GROUP BY, an
-    aggregate produces a single value computed across all the selected
-    rows).  When GROUP BY is present, it is not valid for the SELECT
-    output expression(s) to refer to
+    GROUP BY will condense into a single row all selected rows that
+    share the same values for the grouped columns.  Aggregate
+    functions, if any, are computed across all rows making up each
+    group, producing a separate value for each group (whereas without
+    GROUP BY, an aggregate produces a single value computed across all
+    the selected rows).  When GROUP BY is present, it is not valid for
+    the <command>SELECT</command> output expression(s) to refer to
     ungrouped columns except within aggregate functions, since there
-    would be more than one possible value to return for an ungrouped column.
+    would be more than one possible value to return for an ungrouped
+    column.
    </para>
 
    <para>
-    A GROUP BY item can be an input column name, or the name or ordinal
-    number of an output column (SELECT expression), or it can be an arbitrary
-    expression formed from input-column values.  In case of ambiguity, a GROUP
-    BY name will 
-    be interpreted as an input-column name rather than an output column name.
+    A GROUP BY item can be an input column name, or the name or
+    ordinal number of an output column (<command>SELECT</command>
+    expression), or it can be an arbitrary expression formed from
+    input-column values.  In case of ambiguity, a GROUP BY name will
+    be interpreted as an input-column name rather than an output
+    column name.
    </para>
   </refsect2>
 
@@ -610,10 +612,11 @@ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC |
     </synopsis></para>
     
    <para>
-    An ORDER BY item can be the name or ordinal
-    number of an output column (SELECT expression), or it can be an arbitrary
-    expression formed from input-column values.  In case of ambiguity, an
-    ORDER BY name will be interpreted as an output-column name.
+    An ORDER BY item can be the name or ordinal number of an output
+    column (<command>SELECT</command> expression), or it can be an
+    arbitrary expression formed from input-column values.  In case of
+    ambiguity, an ORDER BY name will be interpreted as an
+    output-column name.
    </para>
    <para>
     The ordinal number refers to the ordinal (left-to-right) position
@@ -697,10 +700,10 @@ SELECT name FROM distributors ORDER BY code;
     
    <para>
     The UNION operator computes the collection (set union) of the rows
-    returned by the queries involved.
-    The two SELECT statements that represent the direct operands of the UNION must
-    produce the same number of columns, and corresponding columns must be
-    of compatible data types.
+    returned by the queries involved.  The two
+    <command>SELECT</command> statements that represent the direct
+    operands of the UNION must produce the same number of columns, and
+    corresponding columns must be of compatible data types.
    </para>
     
    <para>
@@ -710,8 +713,9 @@ SELECT name FROM distributors ORDER BY code;
    </para>
     
    <para>
-    Multiple UNION operators in the same SELECT statement are
-    evaluated left to right, unless otherwise indicated by parentheses.
+    Multiple UNION operators in the same <command>SELECT</command>
+    statement are evaluated left to right, unless otherwise indicated
+    by parentheses.
    </para>
     
    <para>
@@ -864,22 +868,26 @@ SELECT name FROM distributors ORDER BY code;
    </para>
 
    <para>
-    FOR UPDATE causes the rows retrieved by the query to be locked as though
-    for update.  This prevents them from being modified or deleted by other
-    transactions until the current transaction ends; that is, other
-    transactions that attempt UPDATE, DELETE, or SELECT FOR UPDATE of these
-    rows will be blocked until the current transaction ends.  Also, if an
-    UPDATE, DELETE, or SELECT FOR UPDATE from another transaction has already
-    locked a selected row or rows, SELECT FOR UPDATE will wait for the other
-    transaction to complete, and will then lock and return the updated row
-    (or no row, if the row was deleted).  For further discussion see the
-    concurrency chapter of the <citetitle>User's Guide</citetitle>.
+    FOR UPDATE causes the rows retrieved by the query to be locked as
+    though for update.  This prevents them from being modified or
+    deleted by other transactions until the current transaction ends;
+    that is, other transactions that attempt
+    <command>UPDATE</command>, <command>DELETE</command>, or
+    <command>SELECT FOR UPDATE</command> of these rows will be blocked
+    until the current transaction ends.  Also, if an
+    <command>UPDATE</command>, <command>DELETE</command>, or
+    <command>SELECT FOR UPDATE</command> from another transaction has
+    already locked a selected row or rows, <command>SELECT FOR
+    UPDATE</command> will wait for the other transaction to complete,
+    and will then lock and return the updated row (or no row, if the
+    row was deleted).  For further discussion see the concurrency
+    chapter of the &cite-user;.
    </para>
 
    <para>
-    If specific tables are named in FOR UPDATE, then only rows coming from
-    those tables are locked; any other tables used in the SELECT are simply
-    read as usual.
+    If specific tables are named in FOR UPDATE, then only rows coming
+    from those tables are locked; any other tables used in the
+    <command>SELECT</command> are simply read as usual.
    </para>
 
    <para>
@@ -1097,9 +1105,9 @@ SELECT 2+2;
         4
   </programlisting>
 
-Some other SQL databases cannot do this except by introducing a dummy one-row
-table to do the select from.  A less obvious use is to abbreviate a
-normal select from one or more tables:
+Some other <acronym>SQL</acronym> databases cannot do this except by
+introducing a dummy one-row table to do the select from.  A less
+obvious use is to abbreviate a normal select from one or more tables:
 
   <programlisting>
 SELECT distributors.* WHERE distributors.name = 'Westward';
diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml
index f8f08f761accdc7c5075519d065813dfb890f8a6..abf913614d4188148b17b15b952af94077fa43e0 100644
--- a/doc/src/sgml/ref/set.sgml
+++ b/doc/src/sgml/ref/set.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.71 2003/01/12 01:33:00 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.72 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -80,11 +80,11 @@ SET [ SESSION | LOCAL ] TIME ZONE { <replaceable class="PARAMETER">timezone</rep
   <para>
    The <command>SET</command> command changes run-time configuration
    parameters.  Many of the run-time parameters listed in the
-   <citetitle>Administrator's Guide</citetitle> can be changed on-the-fly
-   with <command>SET</command>.  (But some require superuser privileges
-   to change, and others cannot be changed after server or session start.)
-   Note that <command>SET</command> only affects the value used by the
-   current session.
+   &cite-admin; can be changed on-the-fly with <command>SET</command>.
+   (But some require superuser privileges to change, and others cannot
+   be changed after server or session start.)  Note that
+   <command>SET</command> only affects the value used by the current
+   session.
   </para>
 
   <para>
@@ -109,10 +109,9 @@ SET [ SESSION | LOCAL ] TIME ZONE { <replaceable class="PARAMETER">timezone</rep
   </para>
 
   <para>
-   Even with <literal>autocommit</> set to <literal>off</>, <command>SET</>
+   Even with <varname>autocommit</> set to <literal>off</>, <command>SET</>
    does not start a new transaction block. See the
-   <literal>autocommit</> section of the <citetitle>Administrator's
-   Guide</citetitle> for details.
+   <varname>autocommit</> section of the &cite-admin; for details.
   </para>
 
   <para>
@@ -517,8 +516,8 @@ SELECT CURRENT_TIMESTAMP AS today;
 
   <para>
     The function <function>set_config</function> provides the equivalent
-    capability. See <citetitle>Miscellaneous Functions</citetitle> in the
-    <citetitle>PostgreSQL User's Guide</citetitle>.
+    capability. See <citetitle>Miscellaneous Functions</citetitle> in
+    the &cite-user;.
   </para>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/set_transaction.sgml b/doc/src/sgml/ref/set_transaction.sgml
index 72e62ad3cb32d39ecfff7c25acff25682c1d99c0..d88274d3ad5f4bdf932c4e95cbbd3dfafc7fa980 100644
--- a/doc/src/sgml/ref/set_transaction.sgml
+++ b/doc/src/sgml/ref/set_transaction.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.11 2003/01/11 00:00:03 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.12 2003/01/19 00:13:31 momjian Exp $ -->
 <refentry id="SQL-SET-TRANSACTION">
  <docinfo>
   <date>2000-11-24</date>
@@ -109,9 +109,8 @@ SET SESSION CHARACTERISTICS AS TRANSACTION
 <programlisting>
 SET default_transaction_isolation = '<replaceable>value</replaceable>'
 </programlisting>
-   and in the
-   configuration file.  Consult the <citetitle>Administrator's
-   Guide</citetitle> for more information.
+   and in the configuration file.  Consult the &cite-admin; for more
+   information.
   </para>
  </refsect1>
 
@@ -127,8 +126,7 @@ SET default_transaction_isolation = '<replaceable>value</replaceable>'
     not provide the isolation levels <option>READ UNCOMMITTED</option> 
     and <option>REPEATABLE READ</option>. Because of multiversion
     concurrency control, the <option>SERIALIZABLE</option> level is not
-    truly serializable. See the <citetitle>User's Guide</citetitle> for
-    details.
+    truly serializable. See the &cite-user; for details.
    </para>
 
    <para>
diff --git a/doc/src/sgml/ref/show.sgml b/doc/src/sgml/ref/show.sgml
index 2f086ee8a2d24915d3572c79b6a86ed46d1e2169..c97c2a04c5332c2d33930e7bb8515d66615772dd 100644
--- a/doc/src/sgml/ref/show.sgml
+++ b/doc/src/sgml/ref/show.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.22 2002/10/13 16:55:05 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.23 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -62,10 +62,9 @@ SHOW ALL
   </para>
 
   <para>
-   Even with <literal>autocommit</> set to <literal>off</>, <command>SHOW</>
+   Even with <varname>autocommit</> set to <literal>off</>, <command>SHOW</>
    does not start a new transaction block. See the
-   <literal>autocommit</> section of the <citetitle>Administrator's
-   Guide</citetitle> for details.
+   <varname>autocommit</> section of the &cite-admin; for details.
   </para>
  </refsect1>
 
@@ -91,7 +90,7 @@ SHOW ALL
  <refsect1 id="R1-SQL-SHOW-2">
   <title>Examples</title>
   <para>
-   Show the current <literal>DateStyle</literal> setting:
+   Show the current <varname>DateStyle</varname> setting:
 
 <programlisting>
 SHOW DateStyle;
@@ -103,7 +102,8 @@ SHOW DateStyle;
   </para>
 
   <para>
-   Show the current genetic optimizer (<literal>geqo</literal>) setting:
+   Show whether the genetic query optimizer is enabled by displaying
+   the <varname>geqo</varname> setting:
 <programlisting>
 SHOW GEQO;
  geqo
@@ -148,7 +148,7 @@ SHOW ALL;
   <para>
     The function <function>current_setting</function> produces equivalent
     output. See <citetitle>Miscellaneous Functions</citetitle> in the
-    <citetitle>PostgreSQL User's Guide</citetitle>.
+    &cite-user;.
   </para>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml
index 5f7b76285fbff5391fe5dcb0b9fed170f178d464..07dbbaed2a7838569b51e6fca02a9c9f8656197d 100644
--- a/doc/src/sgml/ref/vacuum.sgml
+++ b/doc/src/sgml/ref/vacuum.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.27 2002/10/09 16:27:48 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.28 2003/01/19 00:13:31 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -206,7 +206,7 @@ INFO:  Index <replaceable class="PARAMETER">index</replaceable>: Pages 28;
    intended usage is in connection with preparation of user-defined template
    databases, or other databases that are completely read-only and will not
    receive routine maintenance <command>VACUUM</> operations.
-   See the <citetitle>Administrator's Guide</> for details.
+   See the &cite-admin; for details.
   </para>
 
   <refsect2 id="R2-SQL-VACUUM-3">
diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml
index 4496b45c5f6e48a5e25e6b136c70ec3e40b2255b..8494eaa504dc8818d21d4b4c256b37e8b728ed45 100644
--- a/doc/src/sgml/xaggr.sgml
+++ b/doc/src/sgml/xaggr.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/xaggr.sgml,v 1.17 2002/09/21 18:32:54 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xaggr.sgml,v 1.18 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="xaggr">
@@ -114,8 +114,7 @@ CREATE AGGREGATE avg (
 
   <para>
    For further details see the description of the <command>CREATE
-   AGGREGATE</command> command in the <citetitle>Reference
-   Manual</citetitle>.
+   AGGREGATE</command> command in the &cite-reference;.
   </para>
  </chapter>
 
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index ff301cc6674eea48e9d02f52e34f228d1ddd5081..62b7564f0fb5738aa6d8829715449290c45f452c 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.63 2003/01/17 03:28:18 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.64 2003/01/19 00:13:28 momjian Exp $
 -->
 
  <chapter id="xfunc">
@@ -2051,8 +2051,8 @@ CREATE FUNCTION test(smallint, double precision) RETURNS ...
     it is not immediately clear which function would be called with
     some trivial input like <literal>test(1, 1.5)</literal>.  The
     currently implemented resolution rules are described in the
-    <citetitle>User's Guide</citetitle>, but it is unwise to design a
-    system that subtly relies on this behavior.
+    &cite-user;, but it is unwise to design a system that subtly
+    relies on this behavior.
    </para>
 
    <para>