diff --git a/doc/src/Makefile b/doc/src/Makefile
index a6729e31387583e05781a4f2c51a12fda9109474..a487707c09447a4eef465824495a0acffd3c7ec8 100644
--- a/doc/src/Makefile
+++ b/doc/src/Makefile
@@ -1,39 +1,19 @@
 # Postgres documentation makefile
-# $Header: /cvsroot/pgsql/doc/src/Makefile,v 1.30 2002/11/30 00:22:39 tgl Exp $
+# $Header: /cvsroot/pgsql/doc/src/Makefile,v 1.31 2003/03/25 16:15:35 petere Exp $
 
 subdir = doc/src
 top_builddir = ../..
 include $(top_builddir)/src/Makefile.global
 
-ZIPSUFFIX= gz
-
-BOOKS = admin developer reference programmer tutorial user  postgres
-
-TARGETS= $(BOOKS:%=%.tar.$(ZIPSUFFIX))
-
-.PRECIOUS:
-.PHONY: install all sources clean distclean maintainer-clean
-
-install: all
-	cp -f *.$(ZIPSUFFIX) ..
-
 clean distclean maintainer-clean:
-	rm -f *.tar *.$(ZIPSUFFIX)
+	rm -f *.tar *.gz
 	$(MAKE) -C sgml $@
 
-all: $(TARGETS)
-
-sources:
-	$(MAKE) sources.tar.$(ZIPSUFFIX)
-
-sources.tar:
-	$(TAR) -cf $@ sgml graphics
-
 # Build twice to resolve index entries
-$(addsuffix .tar, $(BOOKS)):
+postgres.tar:
 	$(MAKE) -C sgml clean
-	$(MAKE) -C sgml $(basename $@).html
-	$(MAKE) -C sgml $(basename $@).html JADEFLAGS='-V html-manifest'
+	$(MAKE) -C sgml html
+	$(MAKE) -C sgml html JADEFLAGS='-V html-manifest'
 	cd sgml && $(TAR) -cf ../$@ `cat HTML.manifest` `echo *.gif | grep -v '\*'` *.css
 
 man.tar:
diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile
index 1bbf18b079a564c116d3148938b10cbd0ab88d2e..e1ba2796c336f8d2580125389c45bdf9cc5a3f2f 100644
--- a/doc/src/sgml/Makefile
+++ b/doc/src/sgml/Makefile
@@ -1,14 +1,8 @@
 #----------------------------------------------------------------------------
 #
-# Makefile
-#	Postgres documentation makefile
-#	Thomas Lockhart
+# PostgreSQL documentation makefile
 #
-# Copyright (c) 1994, Regents of the University of California
-#
-#
-# IDENTIFICATION
-#    $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.55 2003/01/14 23:19:34 petere Exp $
+# $Header: /cvsroot/pgsql/doc/src/sgml/Makefile,v 1.56 2003/03/25 16:15:35 petere Exp $
 #
 #----------------------------------------------------------------------------
 
@@ -26,7 +20,7 @@ endif
 ifndef JADE
 JADE = jade
 endif
-SGMLINCLUDE = -D $(srcdir) -D $(srcdir)/ref
+SGMLINCLUDE = -D $(srcdir)
 
 ifndef NSGMLS
 NSGMLS = nsgmls
@@ -39,20 +33,11 @@ endif
 CONVERT = convert
 EPSTOPDF = epstopdf
 
-
 # docbook2man generates man pages from docbook refentry source code.
-
-ifndef D2MDIR
-# This is where the (patched) docbook2man perl scripts reside on hub.org.
-D2MDIR= /home/users/t/thomas/d2x/docbook2man
-endif
 D2MSCRIPT= $(D2MDIR)/docbook2man-spec.pl
 
-vpath %.sgml ./ref
-
-ALLBOOKS = admin developer programmer reference tutorial user
 
-GENERATED_SGML = bookindex.sgml setindex.sgml version.sgml \
+GENERATED_SGML = bookindex.sgml version.sgml \
 	features-supported.sgml features-unsupported.sgml
 
 ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML)
@@ -75,12 +60,10 @@ endif
 
 DEFAULTSECTION := $(sqlmansect_dummy)
 
-man: $(ALLSGML)
-	$(NSGMLS) $(NSGMLS_FLAGS) $(srcdir)/book-decl.sgml $(srcdir)/reference.sgml \
-	  | $(SGMLSPL) $(D2MSCRIPT) --lowercase --section $(DEFAULTSECTION) --date "`date '+%Y-%m-%d'`"
+man: postgres.sgml $(ALLSGML)
+	$(NSGMLS) $(NSGMLS_FLAGS) $< | $(SGMLSPL) $(D2MSCRIPT) --lowercase --section $(DEFAULTSECTION) --date "`date '+%Y-%m-%d'`"
 # One more time, to resolve cross-references
-	$(NSGMLS) $(NSGMLS_FLAGS) $(srcdir)/book-decl.sgml $(srcdir)/reference.sgml \
-	  | $(SGMLSPL) $(D2MSCRIPT) --lowercase --section $(DEFAULTSECTION) --date "`date '+%Y-%m-%d'`"
+	$(NSGMLS) $(NSGMLS_FLAGS) $< | $(SGMLSPL) $(D2MSCRIPT) --lowercase --section $(DEFAULTSECTION) --date "`date '+%Y-%m-%d'`"
 	$(mkinstalldirs) man1 man$(DEFAULTSECTION)
 	mv *.1 man1/
 	mv *.$(DEFAULTSECTION) man$(DEFAULTSECTION)/
@@ -90,36 +73,23 @@ man: $(ALLSGML)
 ## HTML
 ##
 
-JADE.html = $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -i output-html -t sgml
+all: html
 
-postgres.html: postgres.sgml $(ALLSGML) stylesheet.dsl
-	@rm -f *.html
-	$(JADE.html) $<
-	ln -sf index.html $@
+.PHONY: html
 
-$(addsuffix .html, $(ALLBOOKS)): %.html: %.sgml $(ALLSGML) stylesheet.dsl
+html: postgres.sgml $(ALLSGML) stylesheet.dsl catalogs.gif connections.gif
 	@rm -f *.html
-	$(JADE.html) book-decl.sgml $<
-	ln -sf index.html $@
+	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -i output-html -t sgml $<
 
-programmer.html: catalogs.gif connections.gif
-postgres.html: catalogs.gif connections.gif
 
-
-COLLATEINDEX := $(PERL) $(COLLATEINDEX) -f -g -t 'Index'
+COLLATEINDEX := $(PERL) $(COLLATEINDEX) -f -g
 
 ifeq (,$(wildcard HTML.index))
 bookindex.sgml:
 	$(COLLATEINDEX) -o $@ -N
-
-setindex.sgml:
-	$(COLLATEINDEX) -x -o $@ -N
 else
 bookindex.sgml: HTML.index
 	$(COLLATEINDEX) -i 'bookindex' -o $@ $<
-
-setindex.sgml: HTML.index
-	$(COLLATEINDEX) -i 'setindex' -x -o $@ $<
 endif
 
 version.sgml: $(top_builddir)/src/Makefile.global
@@ -140,22 +110,25 @@ features-unsupported.sgml: $(top_srcdir)/src/backend/catalog/sql_feature_package
 ##
 
 # RTF to allow minor editing for hardcopy
-$(addsuffix .rtf, $(ALLBOOKS)): %.rtf: %.sgml $(ALLSGML) stylesheet.dsl
-	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t rtf -V rtf-backend -i output-print book-decl.sgml $<
+
+%.rtf: %.sgml $(ALLSGML) stylesheet.dsl
+	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t rtf -V rtf-backend -i output-print $<
+
+postgres.rtf: catalogs.gif connections.gif
 
 # TeX
 # Regular TeX and pdfTeX have slightly differing requirements, so we
 # need to distinguish the path we're taking.
 
-$(addsuffix .tex-ps, $(ALLBOOKS)): %.tex-ps: %.sgml $(ALLSGML) stylesheet.dsl
-	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t tex -V tex-backend -i output-print -V texdvi-output -o $@ book-decl.sgml $<
+%.tex-ps: %.sgml $(ALLSGML) stylesheet.dsl
+	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t tex -V tex-backend -i output-print -V texdvi-output -o $@ $<
 
-programmer.tex-ps: catalogs.eps connections.eps
+postgres.tex-ps: catalogs.eps connections.eps
 
-$(addsuffix .tex-pdf, $(ALLBOOKS)): %.tex-pdf: %.sgml $(ALLSGML) stylesheet.dsl
-	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t tex -V tex-backend -i output-print -V texpdf-output -o $@ book-decl.sgml $<
+%.tex-pdf: %.sgml $(ALLSGML) stylesheet.dsl
+	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t tex -V tex-backend -i output-print -V texpdf-output -o $@ $<
 
-programmer.tex-pdf: catalogs.pdf connections.pdf
+postgres.tex-pdf: catalogs.pdf connections.pdf
 
 %.dvi: %.tex-ps
 	@rm -f $*.aux $*.log
@@ -177,8 +150,8 @@ programmer.tex-pdf: catalogs.pdf connections.pdf
 # This generates an XML version of the flow-object tree.  It's useful
 # for debugging DSSSL code, and possibly to interface to some other
 # tools that can make use of this.
-$(addsuffix .fot, $(ALLBOOKS)): %.fot: %.sgml $(ALLSGML) stylesheet.dsl
-	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t fot -i output-print -o $@ book-decl.sgml $<
+%.fot: %.sgml $(ALLSGML) stylesheet.dsl
+	$(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -t fot -i output-print -o $@ $<
 
 
 # Graphics
@@ -224,13 +197,8 @@ regress_README.html: regress.sgml
 ## Check
 ##
 
-check: $(addprefix check-, $(ALLBOOKS)) check-postgres
-
 # Quick syntax check without style processing
-$(addprefix check-, $(ALLBOOKS)): check-%: %.sgml $(ALLSGML)
-	$(NSGMLS) $(SGMLINCLUDE) -s book-decl.sgml $<
-
-check-postgres: postgres.sgml $(ALLSGML)
+check: postgres.sgml $(ALLSGML)
 	$(NSGMLS) $(SGMLINCLUDE) -s $<
 
 
diff --git a/doc/src/sgml/admin.sgml b/doc/src/sgml/admin.sgml
deleted file mode 100644
index fccd8c2b21433baeef164a6bda91473d74bf5ecd..0000000000000000000000000000000000000000
--- a/doc/src/sgml/admin.sgml
+++ /dev/null
@@ -1,107 +0,0 @@
-<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/admin.sgml,v 1.41 2002/11/15 03:11:15 momjian Exp $
--->
-
-<book id="admin">
-
-<!-- Title information -->
-
- <title>PostgreSQL &version; Administrator's Guide</title>
-
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
- </bookinfo>
-
- <preface id="admin-preface">
-  <title>Preface</title>
-
-<![%single-book;[
-  &intro;
-  &history;
-]]>
-
-  <sect1 id="admin-preface-thisbook">
-   <title>What's In This Book</title>
-
-   <para>
-    This book covers topics that are of interest to a
-    <productname>PostgreSQL</> database administrator.  This includes
-    installation of the software, set up and configuration of the
-    server, management of users and databases, and maintenance tasks.
-    Anyone who runs a <productname>PostgreSQL</> server, either for
-    personal use, but especially in production, should be familiar
-    with the topics covered in this book.
-   </para>
-
-   <para>
-    The information in this book is arranged approximately in the
-    order in which a new user should read it.  But the chapters are
-    self-contained and can be read individually as desired.  The
-    information in this book is presented in a narrative fashion in
-    topical units.  Readers looking for a complete description of a
-    particular command should look into the &cite-reference;.
-   </para>
-
-   <para>
-    The first few chapters are written so that they can be understood
-    without prerequisite knowledge, so that new users who need to set
-    up their own server can begin their exploration with this book.
-    The rest of this book which is about tuning and management
-    presupposes that the reader is familiar with the general use of
-    the <productname>PostgreSQL</> database system.  Readers are
-    encouraged to look at the &cite-tutorial; and the &cite-user; for
-    additional information.
-   </para>
-
-   <para>
-    This book covers <productname>PostgreSQL &version;</productname>
-    only.  For information on other versions, please read the
-    documentation that accompanies that release.
-   </para>
-  </sect1>
-
-<![%single-book;[
-  &info;
-  &notation;
-  &problems;
-]]>
- </preface>
-
-  &installation;
-  &installw;
-  &runtime;
-  &user-manag;
-  &manage-ag;
-  &client-auth;
-  &charset;
-  &maintenance;
-  &backup;
-  &monitoring;
-  &diskusage;
-  &wal;
-  &regress;
-  &release;
-
-<![%single-book;[
-  &biblio;
-  &bookindex;
-]]>
-</book>
-
-<!-- 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/advanced.sgml b/doc/src/sgml/advanced.sgml
index 48957596cd11da8a6d20c487dba72758a7bd5f5d..d6d7881ef389076d2b1a91f8db7bf4511266baa3 100644
--- a/doc/src/sgml/advanced.sgml
+++ b/doc/src/sgml/advanced.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.33 2003/03/13 01:30:24 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.34 2003/03/25 16:15:35 petere Exp $
 -->
 
  <chapter id="tutorial-advanced">
@@ -130,7 +130,7 @@ ERROR:  &lt;unnamed&gt; referential integrity violation - key referenced from we
    <para>
     The behavior of foreign keys can be finely tuned to your
     application.  We will not go beyond this simple example in this
-    tutorial, but just refer you to the &cite-user;
+    tutorial, but just refer you to <xref linkend="ddl">
     for more information.  Making correct use of
     foreign keys will definitely improve the quality of your database
     applications, so you are strongly encouraged to learn about them.
@@ -394,8 +394,8 @@ SELECT name, altitude
     <productname>PostgreSQL</productname> has many features not
     touched upon in this tutorial introduction, which has been
     oriented toward newer users of <acronym>SQL</acronym>.  These
-    features are discussed in more detail in both the &cite-user;
-    and the &cite-programmer;.
+    features are discussed in more detail in the remainder of this
+    book.
    </para>
 
    <para>
diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml
index d9619643e947cf914e44cec9c269a4fbfbd06220..9e8483ad2e24a74b753272c6a85f793a80919d19 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.18 2003/02/19 04:06:27 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.19 2003/03/25 16:15:35 petere Exp $
 -->
 
  <chapter id="overview">
@@ -480,8 +480,7 @@ current context are performed.
 
    <para>
     For information on the syntax and creation of rules in the
-    <productname>PostgreSQL</productname> system refer to the
-    &cite-user;.
+    <productname>PostgreSQL</productname> system refer to <xref linkend="sql">.
    </para>
 
    <sect2>
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index ddac7b384204f9f5ecf8fb88d82880733289526c..3c0c30c939a0f517f03d6c3098f8caacb2884169 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.67 2003/03/23 05:14:36 tgl Exp $
+ $Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.68 2003/03/25 16:15:35 petere Exp $
  -->
 
 <chapter id="catalogs">
@@ -288,7 +288,7 @@
 
   <para>
    New aggregate functions are registered with the <command>CREATE
-   AGGREGATE</command> command.  See the &cite-programmer; for more
+   AGGREGATE</command> command.  See <xref linkend="xaggr"> for more
    information about writing aggregate functions and the meaning of
    the transition functions, etc.
   </para>
@@ -1452,8 +1452,8 @@
   <para>
    The <structname>pg_database</structname> catalog stores information
    about the available databases.  Databases are created with the
-   <command>CREATE DATABASE</command> command.  Consult the
-   &cite-admin; for details about the meaning of some of the
+   <command>CREATE DATABASE</command> command.  Consult
+   <xref linkend="managing-databases"> for details about the meaning of some of the
    parameters.
   </para>
 
@@ -1798,7 +1798,7 @@
   <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 &cite-admin; for information
+   GROUP</command> command.  Consult <xref linkend="user-manag"> for information
    about user permission management.
   </para>
 
@@ -2028,8 +2028,8 @@
   <para>
    <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
-   &cite-programmer; for more information about language handlers.
+   See under <command>CREATE LANGUAGE</command> and in
+   <xref linkend="server-programming"> for more information about language handlers.
   </para>
 
   <table>
@@ -2304,7 +2304,7 @@
   </para>
 
   <para>
-   Operator classes are described at length in the &cite-programmer;.
+   Operator classes are described at length in <xref linkend="server-programming">.
   </para>
 
   <table>
@@ -2392,7 +2392,7 @@
   <title>pg_operator</title>
 
   <para>
-   See <command>CREATE OPERATOR</command> and the &cite-programmer;
+   See <command>CREATE OPERATOR</command> and <xref linkend="xoper">
    for details on these operator parameters.
   </para>
 
@@ -2562,8 +2562,8 @@
 
   <para>
    This catalog stores information about functions (or procedures).
-   The description of <command>CREATE FUNCTION</command> and the
-   &cite-programmer; contain more information about the meaning of
+   The description of <command>CREATE FUNCTION</command> and
+   <xref linkend="xfunc"> contain more information about the meaning of
    some fields.
   </para>
 
@@ -2836,7 +2836,7 @@
   </para>
 
   <para>
-   The &cite-admin; contains detailed information about user and
+   <xref linkend="user-manag"> contains detailed information about user and
    permission management.
   </para>
 
diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml
index 5c2c2aee34c80b343f97c7afc4f37f141511ebd5..f8816125ebba202e5151ecead374cf83721dd252 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.33 2003/03/24 14:32:50 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.34 2003/03/25 16:15:35 petere Exp $ -->
 
 <chapter id="charset">
  <title>Localization</>
@@ -279,7 +279,7 @@ initdb --locale=sv_SE
     <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 &cite-developer; or write to the developers'
+    help, refer to the <xref linkend="nls"> or write to the developers'
     mailing list.
    </para>
   </sect2>
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 417186cc3c1c61d64ab7e00c3e651e6033f402a8..e0d39654bbdb91a33b4149f7f966550a55715f67 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ddl.sgml,v 1.13 2003/03/13 01:30:28 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ddl.sgml,v 1.14 2003/03/25 16:15:35 petere Exp $ -->
 
 <chapter id="ddl">
  <title>Data Definition</title>
@@ -13,7 +13,7 @@
   schemas, and how privileges can be assigned to tables.  Finally,
   we will briefly look at other features that affect the data storage,
   such as views, functions, and triggers.  Detailed information on
-  these topics is found in the &cite-programmer;.
+  these topics is found in <xref linkend="server-programming">.
  </para>
 
  <sect1 id="ddl-basics">
@@ -274,7 +274,7 @@ DROP TABLE products;
     Transaction identifiers are also 32-bit quantities.  In a long-lived
     database it is possible for transaction IDs to wrap around.  This
     is not a fatal problem given appropriate maintenance procedures;
-    see the &cite-admin; for details.  However, it is
+    see <xref linkend="maintenance"> for details.  However, it is
     unwise to depend on uniqueness of transaction IDs over the long term
     (more than one billion transactions).
    </para>
@@ -819,7 +819,7 @@ CREATE TABLE order_items (
     If the foreign key references a unique constraint, there are some
     additional possibilities regarding how null values are matched.
     These are explained in the <literal>CREATE TABLE</literal> entry
-    in the &cite-reference;.
+    in <xref linkend="reference">.
    </para>
   </sect2>
  </sect1>
diff --git a/doc/src/sgml/developer.sgml b/doc/src/sgml/developer.sgml
deleted file mode 100644
index d853a03ba2f447f199b00c5e91d55eea15dcdf6a..0000000000000000000000000000000000000000
--- a/doc/src/sgml/developer.sgml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/Attic/developer.sgml,v 1.7 2002/09/21 18:32:52 petere Exp $ -->
-<!-- PostgreSQL Developer's Guide -->
-
-<book id="developer">
- <title>PostgreSQL &version; Developer's Guide</title>
-
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
-
-  <abstract>
-   <para>
-    This document contains assorted information that can be of use to
-    <productname>PostgreSQL</> developers.
-   </para>
-  </abstract>
- </bookinfo>
- 
- &sources;
- &arch-dev;
- &catalogs;
- &protocol;
- &compiler;
- &bki;
- &page;
- &geqo;
- &gist;
- &nls;
-<!-- appendices -->
- &cvs;
- &docguide;
-<![%single-book;[
- &biblio;
-]]>
-</book>
diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml
index 86758f83978fcebbc8dfb43546c5c44d029ae9a0..ae30dd1fa967eaf9a54d5b5d259e38d5e23fd8ba 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.23 2003/01/19 00:13:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.24 2003/03/25 16:15:35 petere Exp $
 -->
 
 <sect2 id="dfunc">
@@ -318,9 +318,6 @@ 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 &cite-user; for an explanation of
-this procedure.
-
   -->
 
 </sect2>
diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml
index 59fcd78b63bddee732701ebbd118d9a69aab54a4..655af76fe5bb19014276e7c57683badd8e716703 100644
--- a/doc/src/sgml/dml.sgml
+++ b/doc/src/sgml/dml.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/dml.sgml,v 1.3 2002/11/11 20:14:02 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/dml.sgml,v 1.4 2003/03/25 16:15:35 petere Exp $ -->
 
 <chapter id="dml">
  <title>Data Manipulation</title>
@@ -89,7 +89,7 @@ INSERT INTO products DEFAULT VALUES;
    <para>
     To do <quote>bulk loads</quote>, that is, inserting a lot of data,
     take a look at the <command>COPY</command> command (see
-    &cite-reference;).  It is not as flexible as the
+    <xref linkend="reference">).  It is not as flexible as the
     <command>INSERT</command> command, but more efficient.
    </para>
   </tip>
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 2ce4ae625b16d95716442c16dcd7ca6a0ac58571..8cb4874912ddf99c6f6f7e3b5738adaf19194b7c 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.42 2003/03/13 01:30:28 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.43 2003/03/25 16:15:35 petere Exp $
 -->
 
 <chapter id="ecpg">
@@ -802,7 +802,7 @@ ECPG = ecpg
 
   <para>
    The complete syntax of the <command>ecpg</command> command is
-   detailed in the &cite-reference;.
+   detailed in <xref linkend="app-ecpg">.
   </para>
  </sect1>
 
diff --git a/doc/src/sgml/entities.sgml b/doc/src/sgml/entities.sgml
deleted file mode 100644
index 66e4092cdb882e34a8c2c9116eddf801fd5c902a..0000000000000000000000000000000000000000
--- a/doc/src/sgml/entities.sgml
+++ /dev/null
@@ -1,20 +0,0 @@
-<![%single-book;[
-
-<!entity cite-admin "<citetitle>PostgreSQL Administrator's Guide</citetitle>">
-<!entity cite-developer "<citetitle>PostgreSQL Developer's Guide</citetitle>">
-<!entity cite-programmer "<citetitle>PostgreSQL Programmer's Guide</citetitle>">
-<!entity cite-reference "<citetitle>PostgreSQL Reference Manual</citetitle>">
-<!entity cite-tutorial "<citetitle>PostgreSQL Tutorial</citetitle>">
-<!entity cite-user "<citetitle>PostgreSQL User's Guide</citetitle>">
-
-]]>
-<![%set-of-books;[
-
-<!entity cite-admin "<xref linkend='admin'>">
-<!entity cite-developer "<xref linkend='developer'>">
-<!entity cite-programmer "<xref linkend='programmer'>">
-<!entity cite-reference "<xref linkend='reference'>">
-<!entity cite-tutorial "<xref linkend='tutorial'>">
-<!entity cite-user "<xref linkend='user'>">
-
-]]>
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index 22cf5a0ac7ed622839e5fe07b1102653f992d5ea..1367f16d784f080d06f25da0c891cb958c569fd5 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.19 2003/01/19 00:13:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.20 2003/03/25 16:15:36 petere Exp $
 -->
 
  <chapter id="extend">
@@ -214,7 +214,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.19 2003/01/19 00:13:28 momj
      </mediaobject>
     </figure>
 
-    The &cite-developer; gives a more detailed explanation of these
+    <xref linkend="catalogs"> gives a more detailed explanation of these
     catalogs and their columns.  However,
     <xref linkend="EXTEND-CATALOGS">
     shows the major entities and their  relationships
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml
index 1e3efd913202811f0de2e2e2a0159ab7517bee88..01f09431454c006768d8553d3fa0a4fb906b501c 100644
--- a/doc/src/sgml/filelist.sgml
+++ b/doc/src/sgml/filelist.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.26 2003/01/14 23:19:34 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.27 2003/03/25 16:15:36 petere Exp $ -->
 
 <!entity history    SYSTEM "history.sgml">
 <!entity info       SYSTEM "info.sgml">
@@ -8,7 +8,6 @@
 <!entity problems   SYSTEM "problems.sgml">
 
 <!entity bookindex  SYSTEM "bookindex.sgml">
-<!entity setindex   SYSTEM "setindex.sgml">
 
 <!-- tutorial -->
 <!entity advanced   SYSTEM "advanced.sgml">
diff --git a/doc/src/sgml/func-ref.sgml b/doc/src/sgml/func-ref.sgml
deleted file mode 100644
index 129a9d2473a7be1db70a30363c6d912603abcfb3..0000000000000000000000000000000000000000
--- a/doc/src/sgml/func-ref.sgml
+++ /dev/null
@@ -1,19 +0,0 @@
-<Chapter Id="func-ref">
-<Title>Functions</Title>
-
-<Abstract>
-<Para>
-Reference information for user-callable functions.
-</Para>
-</Abstract>
-
-<Note>
-<Para>
-This section needs to be written. Volunteers?
-</Para>
-</Note>
-
-<Para>
-</Para>
-
-</Chapter>
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 926a82a353efdf349fa16f3e9810d4f3c64435b4..25db8b37c100377e4721b608e15e88a350809330 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.147 2003/03/24 14:32:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.148 2003/03/25 16:15:36 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -17,8 +17,8 @@ PostgreSQL documentation
   <para>
    <productname>PostgreSQL</productname> provides a large number of
    functions and operators for the built-in data types.  Users can also
-   define their own functions and operators, as described in the
-   &cite-programmer;.  The
+   define their own functions and operators, as described in
+   <xref linkend="server-programming">.  The
    <application>psql</application> commands <command>\df</command> and
    <command>\do</command> can be used to show the list of all actually
    available functions and operators, respectively.
@@ -2680,8 +2680,8 @@ substring('foobar' from 'o(.)b')   <lineannotation>o</lineannotation>
    <note>
     <para>
      The form of regular expressions accepted by <productname>PostgreSQL</>
-     can be chosen by setting the <varname>REGEX_FLAVOR</> run-time parameter
-     (described in the &cite-admin;).  The usual setting is
+     can be chosen by setting the <varname>regex_flavor</> run-time parameter
+     (described in <xref linkend="runtime-config">).  The usual setting is
      <literal>advanced</>, but one might choose <literal>extended</> for
      maximum backwards compatibility with pre-7.4 releases of
      <productname>PostgreSQL</>.
@@ -6950,7 +6950,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
    linkend="functions-aggregate-table"> shows the built-in aggregate
    functions.  The special syntax considerations for aggregate
    functions are explained in <xref linkend="syntax-aggregates">.
-   Consult the &cite-tutorial; for additional introductory
+   Consult <xref linkend="tutorial"> for additional introductory
    information.
   </para>
 
diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml
index 6bf10180698ef90d87476fb71dd8f250e5dc05ec..d900b941fa96eda42fc62f3fd96ead48bc8135c2 100644
--- a/doc/src/sgml/indices.sgml
+++ b/doc/src/sgml/indices.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.39 2003/03/13 01:30:28 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.40 2003/03/25 16:15:36 petere Exp $ -->
 
 <chapter id="indexes">
  <title id="indexes-title">Indexes</title>
@@ -715,7 +715,7 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
     <para>
      When indexes are not used, it can be useful for testing to force
      their use.  There are run-time parameters that can turn off
-     various plan types (described in the &cite-admin;).
+     various plan types (described in <xref linkend="runtime-config">).
      For instance, turning off sequential scans
      (<varname>enable_seqscan</>) and nested-loop joins
      (<varname>enable_nestloop</>), which are the most basic plans,
@@ -745,7 +745,7 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
      again, two possibilities.  The total cost is computed from the
      per-row costs of each plan node times the selectivity estimate of
      the plan node.  The costs of the plan nodes can be tuned with
-     run-time parameters (described in the &cite-admin;).
+     run-time parameters (described in <xref linkend="runtime-config">).
      An inaccurate selectivity estimate is due to
      insufficient statistics.  It may be possible to help this by
      tuning the statistics-gathering parameters (see <command>ALTER
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index fcd2a1a9f2d0001605e0e862649b2cbb997bb3a7..4a606bcdfb074eeb1855e112daf0c9cd88b837c0 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.131 2003/03/25 15:11:53 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.132 2003/03/25 16:15:36 petere Exp $ -->
 
 <chapter id="installation">
  <title><![%standalone-include[<productname>PostgreSQL</>]]>
@@ -398,7 +398,7 @@ JAVACMD=$JAVA_HOME/bin/java
     <para>
      <command>pg_dumpall</command> does not
      save large objects.  Check
-     <![%standalone-include[the <citetitle>Administrator's Guide</>]]>
+     <![%standalone-include[the documentation]]>
      <![%standalone-ignore[<xref linkend="backup-dump-caveats">]]>
      if you need to do this.
     </para>
@@ -474,7 +474,7 @@ JAVACMD=$JAVA_HOME/bin/java
 
   <para>
    These topics are discussed at length in <![%standalone-include[the
-   <citetitle>Administrator's Guide</>,]]> <![%standalone-ignore[<xref
+   documentation,]]> <![%standalone-ignore[<xref
    linkend="migration">,]]> which you are encouraged to read in any
    case.
   </para>
@@ -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 &cite-programmer; for information about how to get at
-       the header files for each interface.
+       See the documentation of each interface for information about how to get at
+       the its header files.
        Finally, a private subdirectory will also be created, if appropriate,
        under <varname>libdir</varname> for dynamically loadable modules.       
       </para>
@@ -705,8 +705,7 @@ JAVACMD=$JAVA_HOME/bin/java
        <listitem>
         <para>
          Enables single-byte character set recode support. See
-         <![%standalone-include[the <citetitle>Administrator's
-         Guide</citetitle>]]> <![%standalone-ignore[<xref
+         <![%standalone-include[the documentation]]> <![%standalone-ignore[<xref
          linkend="recode">]]> about this feature.  Note that a more
          general form of character set conversion is supported in the
          default configuration; this feature is obsolete.
@@ -1029,7 +1028,7 @@ All of PostgreSQL is successfully made. Ready to install.
     message wording or floating point results.
     <![%standalone-include[The file
     <filename>src/test/regress/README</> and the
-    <citetitle>Administrator's Guide</citetitle> contain]]>
+    documentation contain]]>
     <![%standalone-ignore[<xref linkend="regress"> contains]]>
     detailed information about interpreting the test results. You can
     repeat this test at any later time by issuing the same command.
@@ -1311,7 +1310,7 @@ export MANPATH
 
   <para>
    The following is a quick summary of how to get <productname>PostgreSQL</> up and
-   running once installed. The &cite-admin; contains more information.
+   running once installed. The main documentation contains more information.
   </para>
 
   <procedure>
@@ -1417,10 +1416,11 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
      </para>
 
      <para>
-      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 first few chapters of the main documentation are the Tutorial,
+      which 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 part on server
+      administration, which contains information about how to set up
       the database server, database users, and authentication.
      </para>
     </listitem>
@@ -1429,7 +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 &cite-admin;.
+      suggestions for this are in the documentation.
      </para>
     </listitem>
 
@@ -1438,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 &cite-admin;.
+      explained in the documentation.
      </para>
     </listitem>
 
@@ -1450,16 +1450,16 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
   <para>
    The documentation is also available in Postscript format. If you
    have a Postscript printer, or have your machine already set up to
-   accept Postscript files using a print filter, then to print, for
-   example the <citetitle>User's Guide</> simply type
+   accept Postscript files using a print filter, then to print, the
+   documentation simply type
 <programlisting>
 cd /usr/local/pgsql/doc
-gunzip -c user.ps.gz | lpr
+gunzip -c postgres.ps.gz | lpr
 </programlisting>
    Here is how you might do it if you have <productname>Ghostscript</>
    installed on your system and are writing to a Laserjet printer.
 <programlisting>
-gunzip -c user.ps.gz \
+gunzip -c postgres.ps.gz \
     | gs -sDEVICE=laserjet -r300 -q -dNOPAUSE -sOutputFile=- \
     | lpr
 </programlisting>
@@ -1774,7 +1774,7 @@ gunzip -c user.ps.gz \
 	Dave Page (<email>dpage@vale-housing.co.uk</email>)</entry>
        <entry>
 	native is client-side only;
-<![%standalone-include[see Administrator's Guide]]>
+<![%standalone-include[see documentation]]>
 <![%standalone-ignore[see <xref linkend="install-win32">]]>
        </entry>
       </row>
diff --git a/doc/src/sgml/jdbc.sgml b/doc/src/sgml/jdbc.sgml
index 574e20225ae0cfd3e43ee29e0a7ebb657a7f6066..817a0a7e2f66158a152e495df29fd96c588b1c86 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.42 2003/01/19 00:13:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.43 2003/03/25 16:15:37 petere Exp $
 -->
 
  <chapter id="jdbc">
@@ -124,7 +124,7 @@ java Finder
    <para>
     Also, the client authentication setup in the
     <filename>pg_hba.conf</filename> file may need to be configured.
-    Refer to the &cite-admin; for details.  The
+    Refer to <xref linkend="client-authentication"> for details.  The
     <acronym>JDBC</acronym> Driver supports the trust, ident,
     password, md5, and crypt authentication methods.
    </para>
diff --git a/doc/src/sgml/legal.sgml b/doc/src/sgml/legal.sgml
index 2bba7a6e78bcde7e2fe746c974b967cba44b230f..49b5bd8ecf6f66169a7cf758886324341b14ea3c 100644
--- a/doc/src/sgml/legal.sgml
+++ b/doc/src/sgml/legal.sgml
@@ -1,13 +1,13 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/legal.sgml,v 1.14 2002/06/20 20:29:24 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/legal.sgml,v 1.15 2003/03/25 16:15:37 petere Exp $
 -->
 
 <copyright>
- <year>1996-2002</year>
+ <year>1996-2003</year>
  <holder>The PostgreSQL Global Development Group</holder>
 </copyright>
 
-<legalnotice>
+<legalnotice id="legalnotice">
  <title>Legal Notice</title>
 
  <para>
@@ -46,45 +46,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/legal.sgml,v 1.14 2002/06/20 20:29:24 momji
   UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  </para>
 
-<!--
-How to keep track of all the trademarks? I'll try the strategy used at
-www.qnx.com - thomas
---
-
---
-There is no legal requirement to make trademark acknowledgements in
-references to third party products that happen to have trademarked
-names.
-
-The exception would be if <productname>PostgreSQL</>
- were to license a particular
-trademark and the trademark holder makes this requirement (as in the
-case of UNIX and Java).
-
-What is not allowed, however, is to use a trademark name in a way that
-could lead people to believe that they label <productname>PostgreSQL</> products.
-E.g., "the <productname>PostgreSQL</> UNIX database system" would probably be illegal,
-whereas "<productname>PostgreSQL</>, which runs on many UNIX computer systems" is
-fine.  This is independent of whether a trademark acknowledgement is
-made.
-
-- petere
-
- <para>
-  <acronym>Unix</acronym> is a trademark of X/Open, Ltd.  Sun4,  SPARC,  SunOS
-  and  Solaris  are trademarks of Sun Microsystems, Inc.  DEC,
-  DECstation, Alpha AXP and ULTRIX are trademarks  of Compaq, formerly Digital
-  Equipment   Corp.   PA-RISC  and  HP-UX  are  trademarks  of
-  Hewlett-Packard Co.  OSF/1 is a trademark of the Open  
-  Software Foundation.
- </para>
--->
-
-<!--
- <para>
-  All trademarks are the property of their respective owners.
- </para>
--->
 </legalnotice>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 40d4f1fee9f9fdc5862cc7b1adf883663068d68e..4d9c249c83945b2273e325bd2c6c64790efa739b 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.116 2003/03/25 02:44:36 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.117 2003/03/25 16:15:37 petere Exp $
 -->
 
  <chapter id="libpq">
@@ -1098,7 +1098,7 @@ unsigned char *PQescapeBytea(const unsigned char *from,
    three digit octal number equal to the octet value, and preceded by
    two backslashes. The single quote (<literal>'</>) and backslash
    (<literal>\</>) characters have special alternative escape
-   sequences. See the &cite-user; for more
+   sequences. See <xref linkend="datatype-binary"> for more
    information. <function>PQescapeBytea</function> performs this
    operation, escaping only the minimally required bytes.
   </para>
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index a2fb9f35996e44c2b7cb35c02b58ea8f221c7892..353b8cf2f361ad4d1a908d109794d758de21ebe7 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.21 2003/03/24 14:32:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.22 2003/03/25 16:15:37 petere Exp $
 -->
 
 <chapter id="maintenance">
@@ -99,7 +99,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.21 2003/03/24 14:32:50
     <command>UPDATE</> or <command>DELETE</> of a row does not
     immediately remove the old <firstterm>tuple</> (version of the row).
     This approach is necessary to gain the benefits of multiversion
-    concurrency control (see the &cite-user;): the tuple
+    concurrency control (see <xref linkend="mvcc">): the tuple
     must not be deleted while it is still potentially visible to other
     transactions. But eventually, an outdated or deleted tuple is no
     longer of interest to any transaction. The space it occupies must be
diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml
index 783aee1a62934cc8e19913f50e5c07d1713c98d5..dd0b390230c5fa999341977af8bf78783cdffec6 100644
--- a/doc/src/sgml/manage-ag.sgml
+++ b/doc/src/sgml/manage-ag.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.26 2003/03/18 22:19:46 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.27 2003/03/25 16:15:37 petere Exp $
 -->
 
 <chapter id="managing-databases">
@@ -49,7 +49,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.26 2003/03/18 22:19:46 p
    or users are interrelated and should be able to use each other's
    resources they should be put in the same databases but possibly
    into separate schemas.  More information about managing schemas is
-   in the &cite-user;.
+   in <xref linkend="ddl-schemas">.
   </para>
 
   <note>
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 112cc5c35b41b3e59b5f5728cfaf250af8fca954..231a099cd1afa8767ce9d3ee325806bb3b5db68c 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.18 2003/03/24 14:32:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.19 2003/03/25 16:15:37 petere Exp $
 -->
 
 <chapter id="monitoring">
@@ -19,7 +19,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.18 2003/03/24 14:32:50
    <command>ps</> and <command>top</>.  Also, once one has identified a
    poorly-performing query, further investigation may be needed using
    <productname>PostgreSQL</productname>'s <command>EXPLAIN</> command.
-   The &cite-user; discusses <command>EXPLAIN</>
+   <xref linkend="using-explain"> discusses <command>EXPLAIN</>
    and other methods for understanding the behavior of an individual
    query.
   </para>
@@ -624,7 +624,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
    </itemizedlist>
 
    For more information on locking and managing concurrency with
-   <productname>PostgreSQL</productname>, refer to the &cite-user;.
+   <productname>PostgreSQL</productname>, refer to <xref linkend="mvcc">.
   </para>
 
   <note>
@@ -727,7 +727,7 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
        The mode of the requested or held lock on the lockable
        object. For more information on the different lock modes
        available in <productname>PostgreSQL</productname>, refer to
-       the &cite-user;.
+       <xref linkend="mvcc">.
       </entry>
      </row>
 
diff --git a/doc/src/sgml/mvcc.sgml b/doc/src/sgml/mvcc.sgml
index 4e65a1944e05e2ca339a5b81888befc49db76ff6..b5cda133ef221f6fa316d9e7d89b2314d8326028 100644
--- a/doc/src/sgml/mvcc.sgml
+++ b/doc/src/sgml/mvcc.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.34 2003/03/13 01:30:29 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.35 2003/03/25 16:15:37 petere Exp $
 -->
 
  <chapter id="mvcc">
@@ -421,7 +421,7 @@ ERROR:  Can't serialize access due to concurrent update
     To examine a list of the currently outstanding locks in a database
     server, use the <literal>pg_locks</literal> system view. For more
     information on monitoring the status of the lock manager
-    subsystem, refer to the &cite-admin;.
+    subsystem, refer to <xref linkend="monitoring">.
    </para>
 
      <variablelist>
diff --git a/doc/src/sgml/notation.sgml b/doc/src/sgml/notation.sgml
index 8c995203501c55155a153f0c23a794c713cf201e..263a2c27d4c3187e2c2c09ceae3f97f2b979bf60 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.21 2003/01/19 00:13:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.22 2003/03/25 16:15:37 petere Exp $
 -->
 
 <sect1 id="notation">
@@ -18,7 +18,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.21 2003/01/19 00:13:28 mo
   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 &cite-admin;.
+  on your site, details can be derived in <xref linkend="installation">.
  </para>
 
  <para>
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index dc4804d755aa9ba1b97da4dc784b160070a1ce0b..326c7e6134a88155660c1dd5ec2fc2529e2e6b39 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/perform.sgml,v 1.27 2003/03/13 01:30:29 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/perform.sgml,v 1.28 2003/03/25 16:15:37 petere Exp $
 -->
 
  <chapter id="performance-tips">
@@ -65,8 +65,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/perform.sgml,v 1.27 2003/03/13 01:30:29 pet
     The costs are measured in units of disk page fetches.  (CPU effort
     estimates are converted into disk-page units using some
     fairly arbitrary fudge factors. If you want to experiment with these
-    factors, see the list of run-time configuration parameters in the
-    &cite-admin;.)
+    factors, see the list of run-time configuration parameters in
+    <xref linkend="runtime-config">.)
    </para>
 
    <para>
@@ -572,7 +572,7 @@ SELECT * FROM a, b, c WHERE a.id = b.id AND b.ref = c.id;
    search to a <firstterm>genetic</firstterm> probabilistic search
    through a limited number of possibilities.  (The switch-over threshold is
    set by the <varname>geqo_threshold</varname> run-time
-   parameter described in the &cite-admin;.)
+   parameter.)
    The genetic search takes less time, but it won't
    necessarily find the best possible plan.
   </para>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index dc394ffa4f50eca7409b797bc480cce171362c5f..84862b041d11c126026c72965c982a7446189035 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.15 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.16 2003/03/25 16:15:37 petere Exp $
 -->
 
 <chapter id="plpgsql"> 
@@ -1931,7 +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 &cite-admin; for more information.
+    <xref linkend="runtime-config"> for more information.
    </para>
 
    <para>
diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml
index 9d2f14dbbbd2ce1290578c0ab1f7139a6e84b3fc..30849fb9e3c5692e92667241688e2e4376c79db5 100644
--- a/doc/src/sgml/postgres.sgml
+++ b/doc/src/sgml/postgres.sgml
@@ -1,61 +1,273 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.48 2002/08/05 19:43:31 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.49 2003/03/25 16:15:38 petere Exp $
 -->
 
-<!doctype set PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
 
 <!entity % version SYSTEM "version.sgml">
 %version;
 <!entity % filelist SYSTEM "filelist.sgml">
 %filelist;
 
-<!entity % set-of-books "INCLUDE">
-<!entity % single-book "IGNORE">
-
-<!entity % entities SYSTEM "entities.sgml">
-%entities;
-
-<!entity admin      SYSTEM "admin.sgml">
-<!entity developer  SYSTEM "developer.sgml">
-<!entity programmer SYSTEM "programmer.sgml">
 <!entity reference  SYSTEM "reference.sgml">
-<!entity tutorial   SYSTEM "tutorial.sgml">
-<!entity user       SYSTEM "user.sgml">
 
 ]>
 
-<set id="postgres">
+<book id="postgres">
  <title>PostgreSQL &version; Documentation</title>
 
- <setinfo>
+ <bookinfo>
   <corpauthor>The PostgreSQL Global Development Group</corpauthor>
   &legal;
- </setinfo>
+ </bookinfo>
+
+ <preface id="preface">
+  <title>Preface</title>
+
+  &intro;
+  &history;
+  &notation;
+  &problems;
+
+ </preface>
+
+ <part id="tutorial">
+  <title>Tutorial</title>
+
+  <partintro>
+   <para>
+    Welcome to <productname>PostgreSQL</productname> Tutorial.  The
+    following few chapters are intended to give a simple introduction
+    to <productname>PostgreSQL</productname>, relational database
+    concepts, and the SQL language to those who are new to any one of
+    these aspects.  We only assume some general knowledge about how to
+    use computers.  No particular Unix or programming experience is
+    required.  This part is mainly intended to give you a hands-on
+    experience with important aspects of the
+    <productname>PostgreSQL</productname> system.  It makes no attempt
+    to be a complete or thorough treatment of the topics it covers.
+   </para>
+
+   <para>
+    After you have worked through this tutorial you might want to move
+    on to reading <xref linkend="sql"> to gain a more formal knowledge
+    of the SQL language, or <xref linkend="client-interfaces"> for
+    information about developing applications for
+    <productname>PostgreSQL</productname>.  Those who set up and
+    manage their own server should also read <xref linkend="admin">.
+   </para>
+  </partintro>
+
+  &start;
+  &query;
+  &advanced;
+
+ </part>
+
+ <part id="sql">
+  <title>The SQL Language</title>
+
+  <partintro>
+   <para>
+    This part describes the use of the <acronym>SQL</acronym> language
+    in <productname>PostgreSQL</productname>.  We start with
+    describing the general syntax of <acronym>SQL</acronym>, then
+    explain how to create the structures to hold data, how to populate
+    the database, and how to query it.  The middle part lists the
+    available data types and functions for use in
+    <acronym>SQL</acronym> data commands.  The rest treats several
+    aspects that are important for tuning a database for optimal
+    performance.
+   </para>
+
+   <para>
+    The information in this part is arranged so that a novice user can
+    follow it start to end to gain a full understanding of the topics
+    without having to refer forward too many times.  The chapters are
+    intended to be self-contained, so that advanced users can read the
+    chapters individually as they choose.  The information in this
+    part is presented in a narrative fashion in topical units.
+    Readers looking for a complete description of a particular command
+    should look into <xref linkend="reference">.
+   </para>
+
+   <para>
+    Readers of this book should know how to connect to a
+    <productname>PostgreSQL</> database and issue
+    <acronym>SQL</acronym> commands.  Readers that are unfamiliar with
+    these issues are encouraged to read <xref linkend="tutorial">
+    first.  <acronym>SQL</acronym> commands are typically entered
+    using the <productname>PostgreSQL</> interactive terminal
+    <application>psql</application>, but other programs that have
+    similar functionality can be used as well.
+   </para>
+  </partintro>
+
+  &syntax;
+  &ddl;
+  &dml;
+  &queries;
+  &datatype;
+  &func;
+  &typeconv;
+  &indices;
+  &mvcc;
+  &perform;
+
+ </part>
+
+ <part id="admin">
+  <title>Server Administration</title>
+
+  <partintro>
+   <para>
+    This part covers topics that are of interest to a
+    <productname>PostgreSQL</> database administrator.  This includes
+    installation of the software, set up and configuration of the
+    server, management of users and databases, and maintenance tasks.
+    Anyone who runs a <productname>PostgreSQL</> server, either for
+    personal use, but especially in production, should be familiar
+    with the topics covered in this part.
+   </para>
+
+   <para>
+    The information in this part is arranged approximately in the
+    order in which a new user should read it.  But the chapters are
+    self-contained and can be read individually as desired.  The
+    information in this part is presented in a narrative fashion in
+    topical units.  Readers looking for a complete description of a
+    particular command should look into <xref linkend="reference">.
+   </para>
+
+   <para>
+    The first few chapters are written so that they can be understood
+    without prerequisite knowledge, so that new users who need to set
+    up their own server can begin their exploration with this part.
+    The rest of this part which is about tuning and management
+    presupposes that the reader is familiar with the general use of
+    the <productname>PostgreSQL</> database system.  Readers are
+    encouraged to look at <xref linkend="tutorial"> and <xref
+    linkend="sql"> for additional information.
+   </para>
+  </partintro>
+
+  &installation;
+  &installw;
+  &runtime;
+  &user-manag;
+  &manage-ag;
+  &client-auth;
+  &charset;
+  &maintenance;
+  &backup;
+  &monitoring;
+  &diskusage;
+  &wal;
+  &regress;
+
+ </part>
+
+ <part id="client-interfaces">
+  <title>Client Interfaces</title>
+
+  <partintro>
+   <para>
+    This part describes the client programming interfaces distributed
+    with <productname>PostgreSQL</>.  Each of these chapters can be
+    read independently.  Note that there are many other programming
+    interfaces for client programs that are distributed separately and
+    contain their own documentation.  Readers of this part should be
+    familiar with using <acronym>SQL</acronym> commands to manipulate
+    and query the database (see <xref linkend="sql">) and of course
+    with the programming language that the interface uses.
+   </para>
+  </partintro>
+
+  &libpq;
+  &lobj;
+  &libpgtcl;
+  &ecpg;
+  &jdbc;
+  &pygresql;
+
+ </part>
+
+ <part id="server-programming">
+  <title>Server Programming</title>
+
+  <partintro>
+   <para>
+    This part is about extending the server functionality with
+    user-defined functions, data types, triggers, etc.  These are
+    advanced topics which should probably be approached only after all
+    the other user documentation about <productname>PostgreSQL</> has
+    been understood.  This part also describes the server-side
+    programming languages available in the
+    <productname>PostgreSQL</productname> distribution as well as
+    general issues concerning server-side programming languages.  This
+    information is only useful to readers that have read at least the
+    first few chapters of this part.
+   </para>
+  </partintro>
+
+  &arch-pg;
+  &extend;
+  &xfunc;
+  &xtypes;
+  &xoper;
+  &xaggr;
+  &rules;
+  &xindex;
+  &indexcost;
+  &trigger;
+  &spi;
+
+  &xplang;
+  &plsql;
+  &pltcl;
+  &plperl;
+  &plpython;
+
+ </part>
 
- &tutorial;
- &user;
- &admin;
- &programmer;
  &reference;
- &developer; 
- &setindex;
-
-</set>
-
-<!-- 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-tabs-mode:nil
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-default-dtd-file:"./reference.ced"
-sgml-exposed-tags:nil
-sgml-local-catalogs:("/usr/share/sgml/catalog")
-sgml-local-ecat-files:nil
-End:
--->
+
+ <part id="internals">
+  <title>Internals</title>
+
+  <partintro>
+   <para>
+    This part contains assorted information that can be of use to
+    <productname>PostgreSQL</> developers.
+   </para>
+  </partintro>
+
+  &sources;
+  &arch-dev;
+  &catalogs;
+  &protocol;
+  &compiler;
+  &bki;
+  &page;
+  &geqo;
+  &gist;
+  &nls;
+
+ </part>
+
+ <part id="appendixes">
+  <title>Appendixes</title>
+
+  &datetime;
+  &keywords;
+  &features;
+  &release;
+  &cvs;
+  &docguide;
+
+ </part>
+
+ &biblio;
+ &bookindex;
+
+</book>
diff --git a/doc/src/sgml/programmer.sgml b/doc/src/sgml/programmer.sgml
deleted file mode 100644
index b872bc371a6ed1222b33d040515a93aef7e0cbc3..0000000000000000000000000000000000000000
--- a/doc/src/sgml/programmer.sgml
+++ /dev/null
@@ -1,160 +0,0 @@
-<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.44 2002/11/15 03:11:17 momjian Exp $
-
-PostgreSQL Programmer's Guide.
--->
-
-<book id="programmer">
-
- <title>PostgreSQL &version; Programmer's Guide</title>
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
- </bookinfo>
-
- <preface id="programmer-preface">
-  <title>Preface</title>
-
-<![%single-book;[
-  &intro;
-  &history;
-]]>
-
-  <sect1 id="programmer-preface-thisbook">
-   <title>What's In This Book</title>
-
-   <para>
-    This book is for <productname>PostgreSQL</> application
-    programmers.  It is divided into three parts.
-   </para>
-
-   <para>
-    The first part of this book describes the client programming
-    interfaces distributed with <productname>PostgreSQL</>.  Each of
-    these chapters can be read independently.  Note that there are
-    many other programming interfaces for client programs that are
-    distributed separately and contain their own documentation.
-    Readers of the first part should be familiar with using
-    <acronym>SQL</acronym> commands to manipulate and query the
-    database (see the &cite-user;) and of course with the programming
-    language that the interface uses.
-   </para>
-
-   <para>
-    The second part of this book is about extending the server
-    functionality with user-defined functions, data types, triggers,
-    etc.  These are advanced topics which should probably be
-    approached only after all the other user documentation about
-    <productname>PostgreSQL</> has been understood.
-   </para>
-
-   <para>
-    The third part of this book described the available server-side
-    programming languages.  This information is related to the second
-    part and is only useful to readers that have read at least the
-    first few chapters thereof.
-   </para>
-
-   <para>
-    This book covers <productname>PostgreSQL &version;</productname>
-    only.  For information on other versions, please read the
-    documentation that accompanies that release.
-   </para>
-  </sect1>
-
-<![%single-book[
-  &info;
-  &notation;
-  &problems;
-]]>
- </preface>
-
- <part id="programmer-client">
-  <title>Client Interfaces</title>
-
-  <partintro>
-   <para>
-    This part of the manual is the description of the client-side
-    programming interfaces and support libraries for various
-    languages.
-   </para>
-  </partintro>
-
-  &libpq;
-  &lobj;
-  &libpgtcl;
-  &ecpg;
-  &jdbc;
-  &pygresql;
- </part>
-
- <part id="programmer-server">
-  <title>Server Programming</title>
-
-  <partintro>
-   <para>
-    This second part of the manual explains the
-    <productname>PostgreSQL</productname> approach to extensibility
-    and describe how users can extend
-    <productname>PostgreSQL</productname> by adding user-defined
-    types, operators, aggregates, and both query language and
-    programming language functions.  After a discussion of the
-    <productname>PostgreSQL</productname> rule system, we discuss the
-    trigger and SPI interfaces.
-   </para>
-  </partintro>
-
-  &arch-pg;
-  &extend;
-  &xfunc;
-  &xtypes;
-  &xoper;
-  &xaggr;
-  &rules;
-  &xindex;
-  &indexcost;
-  &trigger;
-  &spi;
- </part>
-
- <part id="programmer-pl">
-  <title>Procedural Languages</title>
-
-  <partintro>
-   <para>
-    This part documents the procedural languages available in the
-    <productname>PostgreSQL</productname> distribution as well as
-    general issues concerning procedural languages.
-   </para>
-  </partintro>
-
-  &xplang;
-  &plsql;
-  &pltcl;
-  &plperl;
-  &plpython;
- </part>
-
-<![%single-book;[
- &biblio;
- &bookindex;
-]]>
-
-</book>
-
-<!-- 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/query.sgml b/doc/src/sgml/query.sgml
index 575b2db9d5042b5fb061950f9ac1995ec94a8636..fe3490fb41936f476b4556ef59a0dce7975fc9ae 100644
--- a/doc/src/sgml/query.sgml
+++ b/doc/src/sgml/query.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/query.sgml,v 1.29 2003/03/13 01:30:29 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/query.sgml,v 1.30 2003/03/25 16:15:38 petere Exp $
 -->
 
  <chapter id="tutorial-sql">
@@ -259,7 +259,7 @@ COPY weather FROM '/home/user/weather.txt';
     where the file name for the source file must be available to the
     backend server machine, not the client, since the backend server
     reads the file directly.  You can read more about the
-    <command>COPY</command> command in the &cite-reference;.
+    <command>COPY</command> command in <xref linkend="sql-copy">.
    </para>
   </sect1>
 
@@ -692,7 +692,7 @@ SELECT city, max(temp_lo)
     <callout arearefs="co.tutorial-agg-like">
      <para>
       The <literal>LIKE</literal> operator does pattern matching and
-      is explained in the &cite-user;.
+      is explained in <xref linkend="functions-matching">.
      </para>
     </callout>
    </calloutlist>
diff --git a/doc/src/sgml/ref/alter_database.sgml b/doc/src/sgml/ref/alter_database.sgml
index 2282b07a7405d056303a46a0e63c66dd67d5fc07..6118737176fbd1ce98ecf1a8860bf1a17e470278 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.4 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.5 2003/03/25 16:15:38 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -70,8 +70,8 @@ ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replacea
        </para>
 
        <para>
-        See <xref linkend="sql-set" endterm="sql-set-title"> and the
-        &cite-admin; for more information about allowed variable names
+        See <xref linkend="sql-set" endterm="sql-set-title"> and <xref linkend="runtime-config">
+        for more information about allowed variable names
         and values.
        </para>
       </listitem>
diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml
index 06c9653e226a0899c841a58fce03b36f69e150af..578dcf59d68e9f4f07486130106ab4239d32276d 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.57 2003/03/20 18:52:47 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.58 2003/03/25 16:15:38 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -437,7 +437,7 @@ VACUUM FULL table;
 
    <para>
     Refer to <command>CREATE TABLE</command> for a further description
-    of valid arguments. The &cite-user; has further information on
+    of valid arguments. <xref linkend="ddl"> has further information on
     inheritance.
    </para>
   </refsect2>
diff --git a/doc/src/sgml/ref/alter_user.sgml b/doc/src/sgml/ref/alter_user.sgml
index a37424cd26de415527f3bcb263292072acb696e5..f67292517bfc9b730fe14532a551eb32fd35db02 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.25 2003/03/20 20:05:32 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.26 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -145,8 +145,8 @@ ALTER USER <replaceable class="PARAMETER">username</replaceable> RESET <replacea
        </para>
 
        <para>
-        See <xref linkend="sql-set" endterm="sql-set-title"> and the
-        &cite-admin; for more information about allowed variable names
+        See <xref linkend="sql-set" endterm="sql-set-title"> and <xref linkend="runtime-config">
+        for more information about allowed variable names
         and values.
        </para>
       </listitem>
diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml
index 03b026e52153e1a21e6eac6fc78b56be0ca7ba32..fdfc0f18bf23d811c214cd3db7f461742aefdcac 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.10 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/analyze.sgml,v 1.11 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -152,7 +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 &cite-user;.
+   information about the statistics in <xref linkend="maintenance">.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/begin.sgml b/doc/src/sgml/ref/begin.sgml
index d8d28389e851675c067e63c643cbaee73dd35b36..921792a386f49877fa59c5f68ed3630bc0b23304 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.21 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.22 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -121,7 +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 &cite-admin; for details.)
+   isolation level; see <xref linkend="runtime-config"> 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
diff --git a/doc/src/sgml/ref/checkpoint.sgml b/doc/src/sgml/ref/checkpoint.sgml
index 9023b899982e3419e07518bae0f12c50a3414095..badcaa4dacf42f409300c6bc68bbcc1d499afca5 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.7 2003/01/19 00:13:29 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.8 2003/03/25 16:15:39 petere Exp $ -->
 
 <refentry id="sql-checkpoint">
  <refmeta>
@@ -34,7 +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
-   &cite-admin; for more information about the WAL system.
+   <xref linkend="wal"> for more information about the WAL system.
   </para>
 
   <para>
@@ -43,14 +43,6 @@ CHECKPOINT
   </para>
  </refsect1>
 
- <refsect1>
-  <title>See Also</title>
-
-  <para>
-   &cite-admin;
-  </para>
- </refsect1>
-
  <refsect1>
   <title>Compatibility</title>
 
diff --git a/doc/src/sgml/ref/cluster.sgml b/doc/src/sgml/ref/cluster.sgml
index 1c3874c8d1a35401f0f6c1a52f537cec6b58bd5c..52a895b12bc47ab54b82ba9d92f084f1a6902810 100644
--- a/doc/src/sgml/ref/cluster.sgml
+++ b/doc/src/sgml/ref/cluster.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/cluster.sgml,v 1.24 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/cluster.sgml,v 1.25 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -126,8 +126,8 @@ CLUSTER
    When a table is being clustered, an <literal>ACCESS
    EXCLUSIVE</literal> lock is acquired on it. This prevents any other
    database operations (both reads and writes) from preceding on the
-   table until the <command>CLUSTER</command> is finished. See the
-   &cite-user; for more information on database locking.
+   table until the <command>CLUSTER</command> is finished. See
+   <xref linkend="explicit-locking"> for more information on database locking.
   </para>
 
   <refsect2 id="R2-SQL-CLUSTER-3">
diff --git a/doc/src/sgml/ref/create_aggregate.sgml b/doc/src/sgml/ref/create_aggregate.sgml
index c5ae96850c2cc18a67bfb000cc7e37a7020f7dde..d53daa45ddddbe5b4a274e058322bc87d81e3bc8 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.23 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_aggregate.sgml,v 1.24 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -267,12 +267,10 @@ CREATE AGGREGATE
  </refsect1>
 
  <refsect1 id="R1-SQL-CREATEAGGREGATE-2">
-  <title>
-   Usage
-  </title>
+  <title>Examples</title>
+
   <para>
-   Refer to the chapter on aggregate functions in the
-   &cite-programmer; for complete examples of usage.
+   See <xref linkend="xaggr">.
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml
index bc3894ab1c40b59c35518a95c4be0b66aeae80a7..a76a417671e2d2226556274eadf6d97411a88e3f 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.9 2003/02/01 22:09:25 tgl Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.10 2003/03/25 16:15:39 petere Exp $ -->
 
 <refentry id="SQL-CREATECAST">
  <refmeta>
@@ -240,8 +240,7 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
   <para>
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
    <xref linkend="sql-createtype" endterm="sql-createtype-title">,
-   <xref linkend="sql-dropcast" endterm="sql-dropcast-title">,
-   &cite-programmer;
+   <xref linkend="sql-dropcast" endterm="sql-dropcast-title">
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_conversion.sgml b/doc/src/sgml/ref/create_conversion.sgml
index 1ced20a3d1469c346108deb17072ddb50d390df9..f0706585084956e2e81ee8dc3d34c330694430d8 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.6 2003/01/19 00:13:29 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.7 2003/03/25 16:15:39 petere Exp $ -->
 
 <refentry id="SQL-CREATECONVERSION">
  <refmeta>
@@ -157,8 +157,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">,
-   &cite-programmer;
+   <xref linkend="sql-dropconversion" endterm="sql-dropconversion-title">
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index 86114a1a079d78cb72c0f199846990975a477187..29e49d850e118e341d5b9995327531e9fd880e68 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.32 2003/02/13 05:37:43 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.33 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -259,7 +259,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
     specified with absolute path names, and by default
     only an environment variable known to the backend may be
     specified for an alternate location.
-    See the Administrator's Guide for more information.
+    See <xref linkend="manage-ag-alternate-locs"> for more information.
    </para>
 
 <!--
@@ -280,7 +280,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 &cite-admin; for more information.
+   See <xref linkend="user-manag"> 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 fcb6253e2a84a7a9c18190cfcb2ed582451287fc..adcd81303f88b41a0b1a3ed7852d59266d46c8cc 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.11 2003/02/13 05:32:42 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.12 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -58,8 +58,6 @@ where <replaceable class="PARAMETER">constraint</replaceable> is:
        <para>
         The underlying data type of the domain. This may include array
 	specifiers.
-        Refer to the &cite-user; for further
-        information about data types and arrays.
        </para>
       </listitem>
      </varlistentry>
@@ -224,7 +222,6 @@ CREATE TABLE countrylist (id INT4, country country_code);
 
   <simplelist type="inline">
    <member><xref linkend="sql-dropdomain" endterm="sql-dropdomain-title"></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 2a6ca11c4b909bd57b0c290133b1705f812007ed..5db8f8efb1d55acccab3d5308d7367d055b66a53 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.45 2003/03/20 04:41:13 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.46 2003/03/25 16:15:39 petere Exp $
 -->
 
 <refentry id="SQL-CREATEFUNCTION">
@@ -289,10 +289,8 @@ CREATE [ OR REPLACE ] FUNCTION <replaceable class="parameter">name</replaceable>
   <title>Notes</title>
 
    <para>
-    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.
+    Refer to <xref linkend="xfunc"> for further information on writing
+    external functions.
    </para>
 
    <para>
@@ -476,8 +474,7 @@ Point * complex_to_point (Complex *z)
    <xref linkend="sql-grant" endterm="sql-grant-title">,
    <xref linkend="sql-load" endterm="sql-load-title">,
    <xref linkend="sql-revoke" endterm="sql-revoke-title">,
-   <xref linkend="app-createlang">,
-   &cite-programmer;
+   <xref linkend="app-createlang">
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_group.sgml b/doc/src/sgml/ref/create_group.sgml
index 539e2c60540727a775eba13459e38c5dea81ad4f..4be903241f09275ac099f124aeaee4568c350009 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.9 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.10 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -108,8 +108,7 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
   </title>
   <para>
    <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
+   database installation.  You must be a database
    superuser to use this command.
   </para>
   <para>
diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml
index ffb615ae5d47e2c8720e6ad9e716927d3a5f08da..ba90f38bb2ec61572c978e6bd21442ccc37488b8 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.30 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.31 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -37,7 +37,7 @@ 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 &cite-programmer;
+   functions written in the language.  Refer to <xref linkend="xfunc">
    for more information about language call handlers.
   </para>
 
@@ -300,7 +300,6 @@ 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>&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 04d2c2d2f91e1b6298724c13222ed5ce3057a927..dcf8259d4be4ee1364feafb0a36efaf28ef23876 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.5 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.6 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -223,8 +223,7 @@ CREATE OPERATOR CLASS
   </para>
 
   <para>
-    Refer to the chapter on interfacing extensions to indexes in the
-    &cite-programmer; for further information.
+   Refer to <xref linkend="xindex"> 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 69c8a42033740c62db19d677ab7981e3eceaeb01..b3c4d00405ce297ec1eb0d5a24801c9fc1bab75a 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.33 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.34 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -436,9 +436,8 @@ MYBOXES.description === box '((0,0), (1,1))'
     Notes
    </title>
    <para>
-    Refer to the chapter on operators in the &cite-user;
-    for further information.
-    Refer to <command>DROP OPERATOR</command> to delete
+    Refer to <xref linkend="xoper"> for further information.
+    Use <command>DROP OPERATOR</command> to delete
     user-defined operators from a database.
    </para>
 
diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml
index 550605447fbbe5c0a86f6b757cddceef7fd88cdb..8e5ca32962cb76476fe8adba63e5e87dd0dd215e 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.31 2003/03/20 07:02:07 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.32 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -260,7 +260,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 &cite-user;.
+   <xref linkend="functions-sequence">.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 3c0a9fc3a8bc03239fd76af42c6019f2487dbc43..c693c0ae6f55574f778f9f40c3b0582432e1b29c 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.62 2003/02/19 03:13:25 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.63 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -147,8 +147,6 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
     <listitem>
      <para>
       The data type of the column. This may include array specifiers.
-      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 0c69b90da8e286369af545cedd18a3e787c81c33..a671e6c430ef07bdccc8c26ea1ba8a890d63dcca 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.32 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.33 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -202,8 +202,7 @@ CREATE TRIGGER
   </para>
 
   <para>
-   Refer to the chapters on SPI and Triggers in the &cite-programmer;
-   for more information.
+   Refer to <xref linkend="server-programming"> for more information.
   </para>
  </refsect1>
 
@@ -348,7 +347,6 @@ 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>&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 a8e8c5929170608ffa8ace7efb5b62a01db95957..6d6d8e30bcd1fe50eb9e2100efd173a3154c0f1b 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.39 2003/02/19 03:13:25 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.40 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -469,7 +469,6 @@ 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>&cite-programmer;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/create_user.sgml b/doc/src/sgml/ref/create_user.sgml
index 856abbf830db1784c611402d40fb1d3dd22770e8..522ea5acfbc20eeb7783d34c7a8ff949305c82f9 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.24 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.25 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -34,7 +34,7 @@ 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 &cite-admin;
+   of <productname>PostgreSQL</productname>. Refer to <xref linkend="user-manag">
    for information about managing users and authentication.  You must
    be a database superuser to use this command.
   </para>
@@ -101,7 +101,7 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
        </para>
 
        <para>
-        See the chapter on client authentication in the &cite-admin;
+        See <xref linkend="client-authentication">
         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
diff --git a/doc/src/sgml/ref/drop_aggregate.sgml b/doc/src/sgml/ref/drop_aggregate.sgml
index fb95a3c605ca72b632fdf543c9f1d3f93ddbe231..b671fa5c14576d5952398d61d0d6803739700bcf 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.20 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.21 2003/03/25 16:15:39 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -47,7 +47,6 @@ 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 &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 995fe88aca0ab6edb2643877a2589569be901942..ffb5ed419450e817983624fe370c2ff8473097d4 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.25 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.26 2003/03/25 16:15:39 petere 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 more information on that topic.
+   See <xref linkend="ecpg"> for more information on that topic.
   </para>
  </refsect1>
 
@@ -191,16 +191,6 @@ cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg
   </para>
  </refsect1>
 
-
- <refsect1>
-  <title>See Also</title>
-
-  <para>
-   &cite-programmer; for a more detailed description of the embedded
-   SQL interface
-  </para>
- </refsect1>
-
 </refentry>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml
index be812bebf294bc877040e21ab9120be86600a378..02a6a63c42e18469c7bfbe8001a1e8dab9e65eb8 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.24 2003/03/10 03:53:49 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/explain.sgml,v 1.25 2003/03/25 16:15:41 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -188,7 +188,7 @@ ROLLBACK;
    <para>
     There is only sparse documentation on the optimizer's use of cost
     information in <productname>PostgreSQL</productname>.
-    Refer to the &cite-user; and &cite-programmer; for more information.
+    Refer to <xref linkend="using-explain"> for more information.
    </para>
   </refsect2>
  </refsect1>
diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index 5009fa1ff9eee4ea62aaa933a81c673861bad95f..ccab2e9442254f4ac6b610327f60338035c0d5e8 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.25 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.26 2003/03/25 16:15:41 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -251,7 +251,6 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-postgres"></member>
    <member><xref linkend="app-postmaster"></member>
-   <member>&cite-admin;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/initlocation.sgml b/doc/src/sgml/ref/initlocation.sgml
index 1b62aeeba054074393d2979e12b4ea940899c15e..8211e635cd2a3c922d54f8ef73e41b71ab16cb7c 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.19 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.20 2003/03/25 16:15:42 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -65,14 +65,6 @@ PostgreSQL documentation
    </para>
  </refsect1>
 
- <refsect1>
-  <title>See Also</title>
-
-  <simplelist type="inline">
-   <member>&cite-admin;</member>
-  </simplelist>
- </refsect1>
-
 </refentry>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/ref/insert.sgml b/doc/src/sgml/ref/insert.sgml
index eeac298fb6914e9b0e10a3d053caecb68429299a..fa1f945068b7f3bf429e6c7abb660889701afb6e 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.20 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.21 2003/03/25 16:15:42 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -216,8 +216,7 @@ INSERT INTO films SELECT * FROM tmp;
   </para>
 
   <para>
-   Insert into arrays (refer to the &cite-user; for further
-   information about arrays):
+   Insert into arrays:
 
    <programlisting>
 -- Create an empty 3x3 gameboard for noughts-and-crosses
diff --git a/doc/src/sgml/ref/load.sgml b/doc/src/sgml/ref/load.sgml
index 895f071e16729d21545bd275059a7a1bcd240ce1..0c80e0f0245c4e64c4f750fafd8f2300bff73c33 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.15 2003/01/19 00:13:29 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.16 2003/03/25 16:15:42 petere Exp $
 -->
 
 <refentry id="SQL-LOAD">
@@ -37,7 +37,7 @@ 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 &cite-programmer; for
+   shared library file name extension.  See <xref linkend="xfunc"> for
    more information on this topic.
   </para>
  </refsect1>
@@ -56,8 +56,7 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
   <title>See Also</title>
 
   <para>
-   <xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
-   &cite-programmer;
+   <xref linkend="sql-createfunction" endterm="sql-createfunction-title">
   </para>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/pg_config-ref.sgml b/doc/src/sgml/ref/pg_config-ref.sgml
index 755faa429c5e3e72a541588aebb0b3f826925a60..084d78b95d048d897f6573bc63972e736965ef0a 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.14 2003/03/24 14:32:51 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.15 2003/03/25 16:15:42 petere Exp $ -->
 
 <refentry id="app-pgconfig">
  <refmeta>
@@ -154,15 +154,6 @@
    <productname>PostgreSQL</> 7.1.
   </para>
  </refsect1>
-
-
- <refsect1>
-  <title>See Also</title>
-
-  <para>
-   &cite-programmer;
-  </para>
- </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml
index c74f9d603b526feb97d901bc63700d0c613a935f..8aabb33934f09696c195bc587e166d66083a4703 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.21 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.22 2003/03/25 16:15:42 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -437,7 +437,7 @@ Command line was:
   <title>See Also</title>
 
   <para>
-   <xref linkend="app-postmaster">, &cite-admin;
+   <xref linkend="app-postmaster">
   </para>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 0c279db427ce2445acc017af85b1639b9bb17119..b8c9694ea5b024c815d01e5c5681138a44d33fb9 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.59 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.60 2003/03/25 16:15:42 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -713,7 +713,6 @@ 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>&cite-admin;</member>
   </simplelist>
  </refsect1>
 
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index f1b90871d19cabf5d3c19ae376086302751ccede..ffc019b3e5522fd79db045df1a6ae549619f6c7e 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.37 2003/03/24 14:32:51 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.38 2003/03/25 16:15:43 petere Exp $ -->
 
 <refentry id="APP-PGRESTORE">
  <refmeta>
@@ -654,7 +654,6 @@ 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>&cite-admin;</member>
   </simplelist>
  </refsect1>
 </refentry>
diff --git a/doc/src/sgml/ref/pgtclsh.sgml b/doc/src/sgml/ref/pgtclsh.sgml
index d915ffe00de73b435f758b08239f186422321de2..2a32d6305e06d50f1ee9f312ac8ea6fffd17bcbf 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.7 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtclsh.sgml,v 1.8 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -55,7 +55,7 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-pgtksh"></member>
    <member>
-    &cite-programmer; (description of <filename>libpgtcl</filename>)
+    <xref linkend="pgtcl"> (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 5d2513afbaf06f061c4d08fe708c37ccf686f1f4..bcc052bfdbf14fb0a42e6488c718ffaea2432928 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.7 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtksh.sgml,v 1.8 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -55,7 +55,7 @@ PostgreSQL documentation
   <simplelist type="inline">
    <member><xref linkend="app-pgtclsh"></member>
    <member>
-    &cite-programmer; (description of <filename>libpgtcl</filename>)
+    <xref linkend="pgtcl"> (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 8d1bc512ebfe00f9d2cd6b2c74c441d7f6b7be1c..6532cc1c8942c59cba93930ffecf635c964445ed 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.31 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.32 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -123,7 +123,7 @@ PostgreSQL documentation
 
    <para>
     You can avoid having to type these options by setting up a
-    configuration file.  See the &cite-admin; for details.  Some
+    configuration file.  See <xref linkend="runtime-config"> 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
@@ -153,7 +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 &cite-user; for more information.
+	date output formats.  See <xref linkend="datatype-datetime"> for more information.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/ref/postmaster.sgml b/doc/src/sgml/ref/postmaster.sgml
index 36bd38f8c1fbb1a90f7f1658f481f3b2cd1f62d0..ed431c6b54b0139219b8f5e07f7f970f5bb9fe59 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.35 2003/03/24 14:32:51 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.36 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -80,7 +80,7 @@ PostgreSQL documentation
    <para>
     <command>postmaster</command> accepts the following
     command line arguments.  For a detailed discussion of the options
-    consult the &cite-admin;.  You can also save typing most of these
+    consult <xref linkend="runtime-config">.  You can also save typing most of these
     options by setting up a configuration file.
     
     <variablelist>
@@ -110,7 +110,7 @@ PostgreSQL documentation
       <term><option>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></option></term>
       <listitem>
        <para>
-        Sets a named run-time parameter. Consult the &cite-admin; for
+        Sets a named run-time parameter. Consult <xref linkend="runtime-config"> 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
@@ -218,7 +218,7 @@ 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 &cite-admin; for a discussion of
+	<option>-N</option>.  See <xref linkend="kernel-resources"> for a discussion of
 	system resource requirements for large numbers of client
 	connections.)
        </para>
@@ -404,7 +404,7 @@ PostgreSQL documentation
     <listitem>
      <para>
       Other environment variables may be used to designate alternative
-      data storage locations.  See the &cite-admin; for more
+      data storage locations.  See <xref linkend="manage-ag-alternate-locs"> for more
       information.
      </para>
     </listitem>
@@ -423,7 +423,7 @@ PostgreSQL documentation
       <listitem>
        <para>
 	If you see this message, you probably need to configure
-	your kernel for shared memory and semaphores as described in the &cite-admin;.
+	your kernel for shared memory and semaphores as described in <xref linkend="kernel-resources">.
 	If you run multiple instances of
 	<command>postmaster</command>
 	on a single host, or have a kernel with particularly small shared memory
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index b00038fed51871c4265f5978e1d97fd3745ff2ce..49e4f998da0948a7d2139ddd2ce3ee78931f6314 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.87 2003/03/24 18:33:52 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.88 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -2489,16 +2489,6 @@ Field separator is "oo".
  <refsect1 id="APP-PSQL-examples">
   <title id="APP-PSQL-examples-title">Examples</title>
 
-  <note>
-  <para>
-  This section only shows a few examples specific to
-  <application>psql</application>. If you want to learn
-  <acronym>SQL</acronym> or get familiar with
-  <productname>PostgreSQL</productname>, you might wish to read the
-  &cite-tutorial;.
-  </para>
-  </note>
-
   <para>
   The first example shows how to spread a command over several lines of
   input. Notice the changing prompt:
diff --git a/doc/src/sgml/ref/reindex.sgml b/doc/src/sgml/ref/reindex.sgml
index e146fe53928b27ccf31eaa72c87d30a9377a8c03..cd666c82162c6f278c2ab421c17887f0350d3ba5 100644
--- a/doc/src/sgml/ref/reindex.sgml
+++ b/doc/src/sgml/ref/reindex.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/reindex.sgml,v 1.15 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/reindex.sgml,v 1.16 2003/03/25 16:15:43 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -139,8 +139,7 @@ REINDEX
       under certain access patterns. <command>REINDEX</command>
       provides a way to reduce the space consumption of the index by
       writing a new version of the index without the dead pages. See
-      the <quote>Routine Reindexing</quote> section in the
-      &cite-admin; for more information. The rest of this section
+      <xref linkend="routine-reindex"> for more information. The rest of this reference page
       mostly discusses how to use <command>REINDEX</command> to
       recover from index corruption.
      </para>
diff --git a/doc/src/sgml/ref/reset.sgml b/doc/src/sgml/ref/reset.sgml
index 97234134237543c7ff6bee24ce2b930df7b761e1..bb6860657d202929b97e32814f74c55a9168a74e 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.18 2003/01/19 00:13:31 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/reset.sgml,v 1.19 2003/03/25 16:15:44 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -63,8 +63,8 @@ SET <replaceable class="parameter">variable</replaceable> TO DEFAULT
    have had, had no <command>SET</> ever been issued for it in the
    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
-   &cite-admin; for details.
+   switches, or per-database or per-user default settings.  See
+   <xref linkend="runtime-config"> for details.
   </para>
 
   <para>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 42281e5cf00084fc9b88583b065657a93500e0e9..6362840ec03d103e165a7b6dd8f54fdf0692f6cd 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.65 2003/03/20 19:00:01 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.66 2003/03/25 16:15:44 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -885,8 +885,7 @@ SELECT name FROM distributors ORDER BY code;
     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;.
+    row was deleted).  For further discussion see <xref linkend="mvcc">.
    </para>
 
    <para>
diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml
index abf913614d4188148b17b15b952af94077fa43e0..23b77dff5c5a723d813967afa0607d436c1769af 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.72 2003/01/19 00:13:31 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.73 2003/03/25 16:15:44 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -80,7 +80,7 @@ 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
-   &cite-admin; can be changed on-the-fly with <command>SET</command>.
+   <xref linkend="runtime-config"> 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
@@ -111,7 +111,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { <replaceable class="PARAMETER">timezone</rep
   <para>
    Even with <varname>autocommit</> set to <literal>off</>, <command>SET</>
    does not start a new transaction block. See the
-   <varname>autocommit</> section of the &cite-admin; for details.
+   <varname>autocommit</> section in <xref linkend="runtime-config"> for details.
   </para>
 
   <para>
@@ -443,6 +443,14 @@ SELECT setseed(<replaceable>value</replaceable>);
   </para>
  </refsect1>
 
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   The function <function>set_config</function> provides the equivalent
+   capability. See <xref linkend="functions-misc">.
+  </para>
+ </refsect1>
  
  <refsect1>
   <title>Examples</title>
@@ -513,12 +521,6 @@ SELECT CURRENT_TIMESTAMP AS today;
    <xref linkend="sql-set-session-authorization" endterm="sql-set-session-authorization-title">,
    <xref linkend="sql-set-transaction" endterm="sql-set-transaction-title">
   </simpara>
-
-  <para>
-    The function <function>set_config</function> provides the equivalent
-    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 d88274d3ad5f4bdf932c4e95cbbd3dfafc7fa980..f43802d2e01a141ab88ac5aa9b2e286a3d80583a 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.12 2003/01/19 00:13:31 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.13 2003/03/25 16:15:44 petere Exp $ -->
 <refentry id="SQL-SET-TRANSACTION">
  <docinfo>
   <date>2000-11-24</date>
@@ -109,7 +109,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION
 <programlisting>
 SET default_transaction_isolation = '<replaceable>value</replaceable>'
 </programlisting>
-   and in the configuration file.  Consult the &cite-admin; for more
+   and in the configuration file.  Consult <xref linkend="runtime-config"> for more
    information.
   </para>
  </refsect1>
@@ -126,7 +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 &cite-user; for details.
+    truly serializable. See <xref linkend="mvcc"> for details.
    </para>
 
    <para>
diff --git a/doc/src/sgml/ref/show.sgml b/doc/src/sgml/ref/show.sgml
index c97c2a04c5332c2d33930e7bb8515d66615772dd..832c4392cbf27d003baa4614b1d0cd1e7d4d5f68 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.23 2003/01/19 00:13:31 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.24 2003/03/25 16:15:44 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -64,7 +64,7 @@ SHOW ALL
   <para>
    Even with <varname>autocommit</> set to <literal>off</>, <command>SHOW</>
    does not start a new transaction block. See the
-   <varname>autocommit</> section of the &cite-admin; for details.
+   <varname>autocommit</> section in <xref linkend="runtime-config"> for details.
   </para>
  </refsect1>
 
@@ -87,6 +87,15 @@ SHOW ALL
    </para>
  </refsect1>
 
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   The function <function>current_setting</function> produces
+   equivalent output. See <xref linkend="functions-misc">.
+  </para>
+ </refsect1>
+
  <refsect1 id="R1-SQL-SHOW-2">
   <title>Examples</title>
   <para>
@@ -141,16 +150,6 @@ SHOW ALL;
    <productname>PostgreSQL</productname> extension.
   </para>
  </refsect1>
-
- <refsect1>
-  <title>See Also</title>
-
-  <para>
-    The function <function>current_setting</function> produces equivalent
-    output. See <citetitle>Miscellaneous Functions</citetitle> in the
-    &cite-user;.
-  </para>
- </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml
index b8ab33cbe4a4eada9ecb357d96048d0d9d4b833e..c55f23945e0e9d80cd8ff663e226da3d18cc63d9 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.29 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.30 2003/03/25 16:15:44 petere 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 &cite-admin; for details.
+   See <xref linkend="maintenance"> for details.
   </para>
 
   <refsect2 id="R2-SQL-VACUUM-3">
diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml
index 84221dc2157e83e10ffdc7b8d233d235455c1db0..9799489b77e48b4a9a928f397ea93d81ad932d5c 100644
--- a/doc/src/sgml/reference.sgml
+++ b/doc/src/sgml/reference.sgml
@@ -1,35 +1,27 @@
 <!-- reference.sgml
-$Header: /cvsroot/pgsql/doc/src/sgml/reference.sgml,v 1.43 2003/03/24 14:32:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/reference.sgml,v 1.44 2003/03/25 16:15:38 petere Exp $
 
 PostgreSQL Reference Manual
 -->
 
-<book id="reference">
-
- <title>PostgreSQL &version; Reference Manual</title>
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
- </bookinfo>
-
- <preface id="reference-preface">
-  <title>Preface</title>
+<part id="reference">
+ <title>Reference</title>
 
+ <partintro>
   <para>
-   The entries in this <citetitle>Reference Manual</citetitle> are
-   meant to provide in reasonable length an authoritative, complete, and
-   formal summary about their respective subjects.  More information
-   about the use of <productname>PostgreSQL</productname>, in
-   narrative, tutorial, or example form, may be found in other parts
-   of the <productname>PostgreSQL</productname> documentation set.
-   See the cross-references listed on each reference page.
+   The entries in this Reference are meant to provide in reasonable
+   length an authoritative, complete, and formal summary about their
+   respective subjects.  More information about the use of
+   <productname>PostgreSQL</productname>, in narrative, tutorial, or
+   example form, may be found in other parts of this book.  See the
+   cross-references listed on each reference page.
   </para>
 
   <para>
-   The <citetitle>Reference Manual</citetitle> entries are also
-   available as traditional <quote>man</quote> pages.
+   The reference entries are also available as traditional
+   <quote>man</quote> pages.
   </para>
- </preface>
+ </partintro>
 
  <reference id="sql-commands">
   <title>SQL Commands</title>
@@ -192,7 +184,7 @@ PostgreSQL Reference Manual
 
  </reference>
 
-</book>
+</part>
 
 <!-- Keep this comment at the end of the file
 Local variables:
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 8a0c9915275d58c7e5cf13660588a8d74ffbb018..cc6efab0cfc44bb23199e37d10763569e30bd00d 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.173 2003/03/24 14:32:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.174 2003/03/25 16:15:38 petere Exp $
 -->
 
 <Chapter Id="runtime">
@@ -144,7 +144,7 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
 The database cluster will be initialized with locale de_DE.
 This locale setting will prevent the use of indexes for pattern matching
 operations.  If that is a concern, rerun initdb with the collation order
-set to "C".  For more information see the Administrator's Guide.
+set to "C".  For more information see the documentation.
 </screen>
    This is intended to warn you that the currently selected locale
    will cause indexes to be sorted in an order that prevents them from
@@ -1180,7 +1180,7 @@ SET ENABLE_SEQSCAN TO OFF;
         visible to the superuser, so it should not represent a
         security risk. This data can be accessed via the
         <structname>pg_stat_activity</structname> system view; refer
-        to the &cite-admin; for more information.
+        to <xref linkend="monitoring"> for more information.
        </para>
       </listitem>
      </varlistentry>
@@ -1195,7 +1195,7 @@ SET ENABLE_SEQSCAN TO OFF;
         default. This data can be accessed via the
         <structname>pg_stat</structname> and
         <structname>pg_statio</structname> family of system views;
-        refer to the &cite-admin; for more information.
+        refer to <xref linkend="monitoring"> for more information.
        </para>
       </listitem>
      </varlistentry>
@@ -1470,8 +1470,7 @@ SET ENABLE_SEQSCAN TO OFF;
        </para>
 
        <para>
-        Consult the &cite-user; and
-        the command <command>SET TRANSACTION</command> for more
+        Consult <xref linkend="mvcc"> and <xref linkend="sql-set-transaction"> for more
         information.
        </para>
       </listitem>
@@ -1894,7 +1893,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
        </para>
 
        <para>
-        For more information on schema handling, see the &cite-user;.
+        For more information on schema handling, see <xref linkend="ddl-schemas">.
        </para>
       </listitem>
      </varlistentry>
@@ -1978,8 +1977,8 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
         not included in versions prior to 7.1. If you need the old
         behavior you can set this variable to off, but in the long run
         you are encouraged to change your applications to use the
-        <literal>ONLY</literal> key word to exclude subtables. See the
-        SQL language reference and the &cite-user; for more information about inheritance.
+        <literal>ONLY</literal> key word to exclude subtables. See
+        <xref linkend="sql"> for more information about inheritance.
        </para>
       </listitem>
      </varlistentry>
@@ -2083,7 +2082,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
        </para>
 
        <para>
-        Refer to the &cite-user; for related information.
+        Refer to <xref linkend="functions-comparison"> for related information.
        </para>
       </listitem>
      </varlistentry>
diff --git a/doc/src/sgml/standalone-install.sgml b/doc/src/sgml/standalone-install.sgml
index 2e657acb93afde5ad43642a257c3d4307670c476..349e5d2972d80dfee0becba8a5fd3ae68ac930cd 100644
--- a/doc/src/sgml/standalone-install.sgml
+++ b/doc/src/sgml/standalone-install.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/standalone-install.sgml,v 2.3 2001/09/21 18:37:05 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/standalone-install.sgml,v 2.4 2003/03/25 16:15:38 petere Exp $ -->
 
 <!--
 This file helps in generating the INSTALL text file that lives in the
@@ -26,7 +26,7 @@ Running 'make INSTALL' in the doc/src/sgml directory will do 1 through
 
 <!--
 The standalone version has some portions that are different from the
-version that is integrated into the Administrator's Guide, in
+version that is integrated into the full documentation set, in
 particular as regards links. The following are essentially SGML's
 equivalent of C's #ifdef and friends. The other end of this is in
 installation.sgml.
@@ -36,7 +36,7 @@ installation.sgml.
  <!entity % standalone-include "INCLUDE">
 
 <!--
-When you're building the Administrator's Guide, you want to flip the
+When you're building the full documentation set, you want to flip the
 IGNORE and INCLUDE.
 -->
 ]>
diff --git a/doc/src/sgml/start.sgml b/doc/src/sgml/start.sgml
index 89abd3cf85446ca4cc9f7ace8b26ac5fad68f97a..88a53f0efbea8b9e3d85adf17edd63fb0ee34ba3 100644
--- a/doc/src/sgml/start.sgml
+++ b/doc/src/sgml/start.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.28 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.29 2003/03/25 16:15:38 petere Exp $
 -->
 
  <chapter id="tutorial-start">
@@ -31,7 +31,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.28 2003/02/19 04:06:28 momji
 
    <para>
     If you are installing <productname>PostgreSQL</productname>
-    yourself, then refer to the &cite-admin;
+    yourself, then refer to <xref linkend="installation">
     for instructions on installation, and return to
     this guide when the installation is complete.  Be sure to follow
     closely the section about setting up the appropriate environment
@@ -292,7 +292,7 @@ createdb: database creation failed
       <para>
        Writing a custom application, using one of the several
        available language bindings.  These possibilities are discussed
-       further in the &cite-programmer;.
+       further in <xref linkend="client-interfaces">.
       </para>
      </listitem>
     </itemizedlist>
@@ -391,7 +391,7 @@ mydb=#
     command shell. (For more internal commands, type
     <literal>\?</literal> at the <command>psql</command> prompt.)  The
     full capabilities of <command>psql</command> are documented in
-    the &cite-reference;.  If <productname>PostgreSQL</> is
+    <xref linkend="reference">.  If <productname>PostgreSQL</> is
     installed correctly you can also type <literal>man psql</literal>
     at the operating system shell prompt to see the documentation.  In
     this tutorial we will not use these features explicitly, but you
diff --git a/doc/src/sgml/stylesheet.dsl b/doc/src/sgml/stylesheet.dsl
index 55a97078f969af283b12ae78207f0174847099cf..52e43edc7818d6a828c168f6a2e5115a7d669640 100644
--- a/doc/src/sgml/stylesheet.dsl
+++ b/doc/src/sgml/stylesheet.dsl
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/stylesheet.dsl,v 1.22 2002/10/12 16:33:43 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/stylesheet.dsl,v 1.23 2003/03/25 16:15:38 petere Exp $ -->
 <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
 
 <!-- must turn on one of these with -i on the jade command line -->
@@ -147,7 +147,7 @@
 
 ;; Returns the depth of auto TOC that should be made at the nd-level
 (define (toc-depth nd)
-  (cond ((string=? (gi nd) (normalize "book")) 3)
+  (cond ((string=? (gi nd) (normalize "book")) 2)
 	((string=? (gi nd) (normalize "set")) 2)
 	((string=? (gi nd) (normalize "part")) 2)
 	((string=? (gi nd) (normalize "chapter")) 2)
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index c17bba1ac41a51f87767849b1e414994b0bc2475..b6ebb1cc43480c3d9d446cfbacbb0586c5d2e590 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.76 2003/03/13 01:30:29 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.77 2003/03/25 16:15:38 petere Exp $
 -->
 
 <chapter id="sql-syntax">
@@ -73,8 +73,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
    a <token>SET</token> token to appear in a certain position, and
    this particular variation of <command>INSERT</command> also
    requires a <token>VALUES</token> in order to be complete.  The
-   precise syntax rules for each command are described in the
-   &cite-reference;.
+   precise syntax rules for each command are described in <xref linkend="reference">.
   </para>
 
   <sect2 id="sql-syntax-identifiers">
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index b24663aa7a086e76c7f9461280d5adafe02f7864..c2f952aaa92f4e1a226f82348d91798de0db9c06 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/trigger.sgml,v 1.26 2002/11/23 03:59:06 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/trigger.sgml,v 1.27 2003/03/25 16:15:38 petere Exp $
 -->
 
  <chapter id="triggers">
@@ -38,7 +38,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/trigger.sgml,v 1.26 2002/11/23 03:59:06 mom
    </para>
 
    <para>
-    The syntax for creating triggers is described in &cite-reference;.
+    The syntax for creating triggers is described in <xref linkend="reference">.
    </para>
 
    <para>
diff --git a/doc/src/sgml/tutorial.sgml b/doc/src/sgml/tutorial.sgml
deleted file mode 100644
index 7e2b87c28ceceac03eff93068a6472c10933d538..0000000000000000000000000000000000000000
--- a/doc/src/sgml/tutorial.sgml
+++ /dev/null
@@ -1,80 +0,0 @@
-<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/tutorial.sgml,v 1.18 2002/11/15 03:11:17 momjian Exp $
--->
-
-<book id="tutorial">
-
- <title>PostgreSQL &version; Tutorial</title>
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
- </bookinfo>
-
- <preface id="tutorial-preface">
-  <title>Preface</title>
-
-<![%single-book;[
-  &intro;
-  &history;
-]]>
-
-  <sect1 id="tutorial-preface-thisbook">
-   <title>What's In This Book</title>
-
-   <para>
-    Welcome to <productname>PostgreSQL</productname> and the
-    <citetitle>PostgreSQL Tutorial</citetitle>.  The following few
-    chapters are intended to give a simple introduction to
-    <productname>PostgreSQL</productname>, relational database
-    concepts, and the SQL language to those who are new to any one of
-    these aspects.  We only assume some general knowledge about how to
-    use computers.  No particular Unix or programming experience is
-    required.  This book is mainly intended to give you a hands-on
-    experience with important aspects of the
-    <productname>PostgreSQL</productname> system.  It makes no attempt
-    to be a complete or thorough treatment of the topics it covers.
-   </para>
-
-   <para>
-    After you have worked through this tutorial you might want to move
-    on to reading the &cite-user; to gain a more formal knowledge of
-    the SQL language, or the &cite-programmer; for information about
-    developing applications for <productname>PostgreSQL</productname>.
-    Those who set up and manage their own server should also read the
-    &cite-admin;.
-   </para>
-  </sect1>
-
-<![%single-book;[
-  &info;
-  &notation;
-  &problems;
-]]>
- </preface>
-
-  &start;
-  &query;
-  &advanced;
-<![%single-book;[
-  &biblio;
-  &bookindex;
-]]>
-
-</book>
-
-<!-- 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/typeconv.sgml b/doc/src/sgml/typeconv.sgml
index 3aaffdc05dc40225ad94207058b836ff34fddbce..0a85ea1230f61596760ac0f78649991ab3517a19 100644
--- a/doc/src/sgml/typeconv.sgml
+++ b/doc/src/sgml/typeconv.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/typeconv.sgml,v 1.29 2003/03/20 16:17:32 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/typeconv.sgml,v 1.30 2003/03/25 16:15:38 petere Exp $
 -->
 
 <chapter Id="typeconv">
@@ -29,11 +29,6 @@ for more information on specific data types and allowed functions and
 operators.
 </para>
 
-<para>
-The &cite-programmer; has more details on the exact algorithms used for
-implicit type conversion and conversion.
-</para>
-
 <sect1 id="typeconv-overview">
 <title>Overview</title>
 
diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml
index 3e236fcba4f503067439f6dd7c33df5addaf3a4d..5f8f13a86d983cb4bc3546bc9415b06c82619ecb 100644
--- a/doc/src/sgml/user-manag.sgml
+++ b/doc/src/sgml/user-manag.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/user-manag.sgml,v 1.19 2003/03/13 01:30:29 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/user-manag.sgml,v 1.20 2003/03/25 16:15:38 petere Exp $
 -->
 
 <chapter id="user-manag">
@@ -16,8 +16,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/user-manag.sgml,v 1.19 2003/03/13 01:30:29
  <para>
   This chapter describes how to create and manage users and introduces
   the privilege system.  More information about the various types of
-  database objects and the effects of privileges can be found in the
-  &cite-user;.
+  database objects and the effects of privileges can be found in <xref linkend="ddl">.
  </para>
 
  <sect1 id="database-users">
@@ -185,7 +184,7 @@ ALTER GROUP <replaceable>name</replaceable> DROP USER <replaceable>uname1</repla
  <sect1 id="privileges">
   <title>Privileges</title>
 
-  <comment>Being moved to User's Guide.  Will eventually disappear here.</comment>
+  <comment>Being moved to the DDL chapter.  Will eventually disappear here.</comment>
 
   <para>
    When a database object is created, it is assigned an owner. The
@@ -205,7 +204,7 @@ ALTER GROUP <replaceable>name</replaceable> DROP USER <replaceable>uname1</repla
    <literal>USAGE</>, and <literal>ALL PRIVILEGES</>. For more
    information on the different types of privileges support by
    <productname>PostgreSQL</productname>, refer to the
-   <command>GRANT</command> page in the &cite-reference;. The right to modify or
+   <command>GRANT</command> page in <xref linkend="reference">. The right to modify or
    destroy an object is always the privilege of the owner only. To
    assign privileges, the <command>GRANT</command> command is
    used. So, if <literal>joe</literal> is an existing user, and
diff --git a/doc/src/sgml/user.sgml b/doc/src/sgml/user.sgml
deleted file mode 100644
index 14fb80aa2eadadf9fe9a0b7db7db32e7697466db..0000000000000000000000000000000000000000
--- a/doc/src/sgml/user.sgml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/user.sgml,v 1.35 2002/11/15 03:11:17 momjian Exp $
--->
-
-<book id="user">
-
-<!-- Title information -->
-
- <title>PostgreSQL &version; User's Guide</title>
-
- <bookinfo>
-  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
-  &legal;
- </bookinfo>
-
- <preface id="user-preface">
-  <title>Preface</title>
-
-  &intro;
-  &history;
-
-  <sect1 id="user-preface-thisbook">
-   <title>What's In This Book</title>
-
-   <para>
-    This book describes the use of the <acronym>SQL</acronym> language
-    in <productname>PostgreSQL</productname>.  We start with
-    describing the general syntax of <acronym>SQL</acronym>, then
-    explain how to create the structures to hold data, how to populate
-    the database, and how to query it.  The middle part lists the
-    available data types and functions for use in
-    <acronym>SQL</acronym> data commands.  The rest of the book treats
-    several aspects that are important for tuning a database for
-    optimal performance.
-   </para>
-
-   <para>
-    The information in this book is arranged so that a novice user can
-    follow it start to end to gain a full understanding of the topics
-    without having to refer forward too many times.  The chapters are
-    intended to be self-contained, so that advanced users can read the
-    chapters individually as they choose.  The information in this
-    book is presented in a narrative fashion in topical units.
-    Readers looking for a complete description of a particular command
-    should look into the &cite-reference;.
-   </para>
-
-   <para>
-    Readers of this book should know how to connect to a <productname>PostgreSQL</>
-    database and issue <acronym>SQL</acronym> commands.  Readers that are unfamiliar with
-    these issues are encouraged to read the &cite-tutorial; first.  <acronym>SQL</acronym>
-    commands are typically entered using the <productname>PostgreSQL</> interactive
-    terminal <application>psql</application>, but other programs that
-    have similar functionality can be used as well.
-   </para>
-
-   <para>
-    This book covers <productname>PostgreSQL &version;</productname>
-    only.  For information on other versions, please read the
-    documentation that accompanies that release.
-   </para>
-  </sect1>
-
-  &info;
-  &notation;
-  &problems;
- </preface>
- 
- &syntax;
- &ddl;
- &dml;
- &queries;
- &datatype;
- &func;
- &typeconv;
- &indices;
- &mvcc;
- &perform;
-
- <!-- appendices -->
-
- &datetime;
- &keywords;
- &features;
-
- &biblio;
-
- <![%single-book;[
- &bookindex;
- ]]>
-
-</book>
-
-<!-- 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/xaggr.sgml b/doc/src/sgml/xaggr.sgml
index 8494eaa504dc8818d21d4b4c256b37e8b728ed45..33bfd9622993122391837c53301cf8b2684f2077 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.18 2003/01/19 00:13:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xaggr.sgml,v 1.19 2003/03/25 16:15:38 petere Exp $
 -->
 
  <chapter id="xaggr">
@@ -114,7 +114,7 @@ CREATE AGGREGATE avg (
 
   <para>
    For further details see the description of the <command>CREATE
-   AGGREGATE</command> command in the &cite-reference;.
+   AGGREGATE</command> command in <xref linkend="reference">.
   </para>
  </chapter>
 
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 0ae9531f56a57e98f450d885d8a479e11e471939..5398df7ad9229c8474fe78bffb6117cb99856951 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.65 2003/02/19 04:06:28 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.66 2003/03/25 16:15:38 petere Exp $
 -->
 
  <chapter id="xfunc">
@@ -2051,7 +2051,7 @@ 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
-    &cite-user;, but it is unwise to design a system that subtly
+    <xref linkend="typeconv">, but it is unwise to design a system that subtly
     relies on this behavior.
    </para>
 
diff --git a/src/backend/port/sysv_sema.c b/src/backend/port/sysv_sema.c
index cef6cc064682326e7ef68c9db29d108827b9fc04..a555a22a82f2cd88121e58032699f98d36786c6c 100644
--- a/src/backend/port/sysv_sema.c
+++ b/src/backend/port/sysv_sema.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_sema.c,v 1.4 2002/09/04 20:31:24 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_sema.c,v 1.5 2003/03/25 16:15:44 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -128,7 +128,7 @@ InternalIpcSemaphoreCreate(IpcSemaphoreKey semKey, int numSems)
 					"consumption of semaphores by reducing its max_connections parameter\n"
 					"(currently %d).\n"
 					"\n"
-					"The PostgreSQL Administrator's Guide contains more information about\n"
+					"The PostgreSQL documentation contains more information about\n"
 					"configuring your system for PostgreSQL.\n\n",
 					MaxBackends);
 
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index 60e5d0b478bb23c56e003f8a2a916003a726a4cb..fc5c6e83c192de2629e451fc935020df80780844 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.4 2002/09/04 20:31:24 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.5 2003/03/25 16:15:44 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -96,7 +96,7 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, uint32 size)
 					"\nThis error usually means that PostgreSQL's request for a shared memory\n"
 					"segment exceeded your kernel's SHMMAX parameter.  You can either\n"
 					"reduce the request size or reconfigure the kernel with larger SHMMAX.\n"
-			  "To reduce the request size (currently %u bytes), reduce\n"
+					"To reduce the request size (currently %u bytes), reduce\n"
 					"PostgreSQL's shared_buffers parameter (currently %d) and/or\n"
 					"its max_connections parameter (currently %d).\n"
 					"\n"
@@ -104,20 +104,20 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, uint32 size)
 					"your kernel's SHMMIN parameter, in which case raising the request size or\n"
 					"reconfiguring SHMMIN is called for.\n"
 					"\n"
-					"The PostgreSQL Administrator's Guide contains more information about\n"
-					"shared memory configuration.\n\n",
+					"The PostgreSQL documentation contains more information about shared\n"
+					"memory configuration.\n\n",
 					size, NBuffers, MaxBackends);
 
 		else if (errno == ENOMEM)
 			fprintf(stderr,
 					"\nThis error usually means that PostgreSQL's request for a shared\n"
-			  "memory segment exceeded available memory or swap space.\n"
-			  "To reduce the request size (currently %u bytes), reduce\n"
+					"memory segment exceeded available memory or swap space.\n"
+					"To reduce the request size (currently %u bytes), reduce\n"
 					"PostgreSQL's shared_buffers parameter (currently %d) and/or\n"
 					"its max_connections parameter (currently %d).\n"
 					"\n"
-					"The PostgreSQL Administrator's Guide contains more information about\n"
-					"shared memory configuration.\n\n",
+					"The PostgreSQL documentation contains more information about shared\n"
+					"memory configuration.\n\n",
 					size, NBuffers, MaxBackends);
 
 		else if (errno == ENOSPC)
@@ -132,8 +132,8 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, uint32 size)
 					"by reducing its shared_buffers parameter (currently %d) and/or\n"
 					"its max_connections parameter (currently %d).\n"
 					"\n"
-					"The PostgreSQL Administrator's Guide contains more information about\n"
-					"shared memory configuration.\n\n",
+					"The PostgreSQL documentation contains more information about shared\n"
+					"memory configuration.\n\n",
 					size, NBuffers, MaxBackends);
 
 		proc_exit(1);
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 646b941cfa5367235e314f761c7c5e36f86f4b17..473b2786cf1aa7fbc9720ce6a17e3417a6c8dd7f 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -27,7 +27,7 @@
 # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.186 2003/03/20 03:34:56 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.187 2003/03/25 16:15:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -483,7 +483,7 @@ fi
 if test x`pg_getlocale COLLATE` != xC && test x`pg_getlocale COLLATE` != xPOSIX; then
     echo "This locale setting will prevent the use of indexes for pattern matching"
     echo "operations.  If that is a concern, rerun $CMDNAME with the collation order"
-    echo "set to \"C\".  For more information see the Administrator's Guide."
+    echo "set to \"C\".  For more information see the documentation."
 fi
 echo