This patch includes a lot of minor cleanups to the SGML documentation,

including:

- replacing all the appropriate usages of <citetitle>PostgreSQL
...</citetitle> with &cite-user;, &cite-admin;, and so on

- fix an omission in the EXECUTE documentation

- add some more text to the EXPLAIN documentation

- improve the PL/PgSQL RETURN NEXT documentation (more work to do here)

- minor markup fixes


Neil Conway
This commit is contained in:
Bruce Momjian 2003-01-19 00:13:31 +00:00
parent 2042daf5c3
commit be2b660ecd
59 changed files with 562 additions and 474 deletions

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.16 2001/11/21 05:53:40 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.17 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="overview">
@ -478,8 +478,8 @@ current context are performed.
<para>
For information on the syntax and creation of rules in the
<productname>PostgreSQL</productname> system refer to
<citetitle>The PostgreSQL User's Guide</citetitle>.
<productname>PostgreSQL</productname> system refer to the
&cite-user;.
</para>
<sect2>

View File

@ -1,6 +1,6 @@
<!--
Documentation of the system catalogs, directed toward PostgreSQL developers
$Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.64 2002/12/17 17:41:30 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/catalogs.sgml,v 2.65 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="catalogs">
@ -288,9 +288,9 @@
<para>
New aggregate functions are registered with the <command>CREATE
AGGREGATE</command> command. See the <citetitle>Programmer's
Guide</citetitle> for more information about writing aggregate
functions and the meaning of the transition functions, etc.
AGGREGATE</command> command. See the &cite-programmer; for more
information about writing aggregate functions and the meaning of
the transition functions, etc.
</para>
</sect1>
@ -1446,8 +1446,8 @@
The <structname>pg_database</structname> catalog stores information
about the available databases. Databases are created with the
<command>CREATE DATABASE</command> command. Consult the
<citetitle>Administrator's Guide</citetitle> for details about the
meaning of some of the parameters.
&cite-admin; for details about the meaning of some of the
parameters.
</para>
<para>
@ -1791,8 +1791,8 @@
<para>
This catalog defines groups and stores what users belong to what
groups. Groups are created with the <command>CREATE
GROUP</command> command. Consult the <citetitle>Administrator's
Guide</citetitle> for information about user permission management.
GROUP</command> command. Consult the &cite-admin; for information
about user permission management.
</para>
<para>
@ -2022,8 +2022,7 @@
<structname>pg_language</structname> registers call interfaces or
languages in which you can write functions or stored procedures.
See under <command>CREATE LANGUAGE</command> and in the
<citetitle>Programmer's Guide</citetitle> for more information
about language handlers.
&cite-programmer; for more information about language handlers.
</para>
<table>
@ -2298,8 +2297,7 @@
</para>
<para>
Operator classes are described at length in the
<citetitle>Programmer's Guide</citetitle>.
Operator classes are described at length in the &cite-programmer;.
</para>
<table>
@ -2387,9 +2385,8 @@
<title>pg_operator</title>
<para>
See <command>CREATE OPERATOR</command> and the
<citetitle>Programmer's Guide</citetitle> for details on these
operator parameters.
See <command>CREATE OPERATOR</command> and the &cite-programmer;
for details on these operator parameters.
</para>
<table>
@ -2559,8 +2556,8 @@
<para>
This catalog stores information about functions (or procedures).
The description of <command>CREATE FUNCTION</command> and the
<citetitle>Programmer's Guide</citetitle> contain more information
about the meaning of some fields.
&cite-programmer; contain more information about the meaning of
some fields.
</para>
<para>
@ -2832,8 +2829,8 @@
</para>
<para>
The <citetitle>Administrator's Guide</citetitle> contains detailed
information about user and permission management.
The &cite-admin; contains detailed information about user and
permission management.
</para>
<para>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.30 2002/11/15 03:11:15 momjian Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.31 2003/01/19 00:13:28 momjian Exp $ -->
<chapter id="charset">
<title>Localization</>
@ -309,8 +309,8 @@ perl: warning: Falling back to the standard locale ("C").
<productname>PostgreSQL</> speak their preferred language well.
If messages in your language is currently not available or fully
translated, your assistance would be appreciated. If you want to
help, refer to the <citetitle>Developer's Guide</> or write to the
developers' mailing list.
help, refer to the &cite-developer; or write to the developers'
mailing list.
</para>
</sect2>
</sect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.43 2003/01/06 03:18:26 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.44 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="client-authentication">
@ -110,8 +110,7 @@ hostssl <replaceable>database</replaceable> <replaceable>user</replaceable> <
This record matches connection attempts using TCP/IP networks.
Note that TCP/IP connections are disabled unless the server is
started with the <option>-i</option> option or the
<literal>tcpip_socket</> <filename>postgresql.conf</>
configuration parameter is enabled.
<varname>tcpip_socket</> configuration parameter is enabled.
</para>
</listitem>
</varlistentry>
@ -129,9 +128,8 @@ hostssl <replaceable>database</replaceable> <replaceable>user</replaceable> <
<para>
To be able make use of this option the server must be built
with SSL support enabled. Furthermore, SSL must be enabled by
enabling the option <literal>ssl</literal> in
<filename>postgresql.conf</filename> (see <xref
linkend="runtime-config">).
enabling the <varname>ssl</varname> configuration parameter
(see <xref linkend="runtime-config"> for more information).
</para>
</listitem>
</varlistentry>
@ -191,8 +189,8 @@ hostssl <replaceable>database</replaceable> <replaceable>user</replaceable> <
must be zero for the record to match. (Of course IP addresses
can be spoofed but this consideration is beyond the scope of
<productname>PostgreSQL</productname>.) If you machine supports
IPv6, the default <filename>pg_hba.conf</> will have an IPv6
entry for <literal>localhost</>. You can add your own IPv6
IPv6, the default <filename>pg_hba.conf</> file will have an
IPv6 entry for <literal>localhost</>. You can add your own IPv6
entries to the file. IPv6 entries are used only for IPv6
connections.
</para>
@ -486,17 +484,18 @@ local db1,db2,@demodbs all md5
</para>
<para>
<literal>trust</> authentication is appropriate and very convenient
for local connections on a single-user workstation. It is usually
<emphasis>not</> appropriate by itself on a multiuser machine.
However, you may be able to use <literal>trust</> even on a multiuser
machine, if you restrict access to the postmaster's socket file using
file-system permissions. To do this, set the parameter
<literal>trust</> authentication is appropriate and very
convenient for local connections on a single-user workstation. It
is usually <emphasis>not</> appropriate by itself on a multiuser
machine. However, you may be able to use <literal>trust</> even
on a multiuser machine, if you restrict access to the postmaster's
socket file using file-system permissions. To do this, set the
<varname>unix_socket_permissions</varname> (and possibly
<varname>unix_socket_group</varname>) in <filename>postgresql.conf</>,
as described in <xref linkend="runtime-config-general">. Or you could
set <varname>unix_socket_directory</varname> to place the socket file
in a suitably restricted directory.
<varname>unix_socket_group</varname>) configuration parameters as
described in <xref linkend="runtime-config-general">. Or you
could set the <varname>unix_socket_directory</varname>
configuration parameter to place the socket file in a suitably
restricted directory.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.22 2002/09/21 18:32:52 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/dfunc.sgml,v 1.23 2003/01/19 00:13:28 momjian Exp $
-->
<sect2 id="dfunc">
@ -318,9 +318,8 @@ ld <other flags> -H512 -T512 -o foo.so -e _nostart \e
-bI:.../lib/postgres.exp -bE:foo.exp foo.o \e
-lm -lc 2>/dev/null
.fi
You should look at the <citetitle>PostgreSQL User's Manual</>
for an explanation of this
procedure.
You should look at the &cite-user; for an explanation of
this procedure.
-->

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.40 2002/11/15 03:11:16 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.41 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="ecpg">
@ -879,7 +879,7 @@ ECPG = ecpg
FETCH <optional><replaceable>direction</></> <optional><replaceable>amount</></> IN|FROM <replaceable>cursor</replaceable>
</synopsis>
<indexterm><primary>Oracle</></>
<application>Oracle</application>, however, does not use the
<productname>Oracle</productname>, however, does not use the
keywords <literal>IN</literal> or <literal>FROM</literal>. This
feature cannot be added since it would create parsing conflicts.
</para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.18 2002/11/03 01:31:32 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.19 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="extend">
@ -214,8 +214,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/extend.sgml,v 1.18 2002/11/03 01:31:32 momj
</mediaobject>
</figure>
The <citetitle>Developer's Guide</citetitle> gives a more detailed explanation
of these catalogs and their columns. However,
The &cite-developer; gives a more detailed explanation of these
catalogs and their columns. However,
<xref linkend="EXTEND-CATALOGS">
shows the major entities and their relationships
in the system catalogs. (Columns that do not refer

View File

@ -1,9 +1,9 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.19 2002/01/07 02:29:12 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.20 2003/01/19 00:13:28 momjian Exp $
-->
<sect1 id="history">
<title>A Short History of <productname>PostgreSQL</productname></title>
<title>A Brief History of <productname>PostgreSQL</productname></title>
<para>
The object-relational database management system now known as
@ -54,7 +54,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.19 2002/01/07 02:29:12 pet
released in June 1990 with the new rule system.
Version 3 appeared in 1991 and added support for multiple
storage managers, an improved query executor, and a
rewritten rewrite rule system. For the most part, subsequent
rewritten rule system. For the most part, subsequent
releases until <productname>Postgres95</productname> (see below)
focused on portability and reliability.
</para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjian Exp $
-->
<sect1 id="resources">
@ -71,8 +71,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjia
Information for <productname>PostgreSQL</productname>
developers. This is intended for those who are contributing to
the <productname>PostgreSQL</productname> project; application
development information appears in the <citetitle>Programmer's
Guide</citetitle>.
development information appears in the &cite-programmer;.
</para>
</listitem>
</varlistentry>
@ -88,8 +87,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.17 2002/11/15 03:11:16 momjia
<term>man pages</term>
<listitem>
<para>
The <citetitle>Reference Manual</citetitle>'s pages in the
traditional Unix man format. There is no difference in content.
The &cite-reference;'s pages in the traditional Unix man
format. There is no difference in content.
</para>
</listitem>
</varlistentry>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.127 2002/12/11 22:27:26 momjian Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.128 2003/01/19 00:13:28 momjian Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@ -656,8 +656,8 @@ JAVACMD=$JAVA_HOME/bin/java
internal header files and the server header files are installed
into private directories under
<varname>includedir</varname>.
See the <citetitle>Programmer's Guide</citetitle> for
information about how to get at the header files for each interface.
See the &cite-programmer; for information about how to get at
the header files for each interface.
Finally, a private subdirectory will also be created, if appropriate,
under <varname>libdir</varname> for dynamically loadable modules.
</para>
@ -1311,8 +1311,7 @@ export MANPATH
<para>
The following is a quick summary of how to get <productname>PostgreSQL</> up and
running once installed. The <citetitle>Administrator's Guide</>
contains more information.
running once installed. The &cite-admin; contains more information.
</para>
<procedure>
@ -1418,12 +1417,11 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
</para>
<para>
The <citetitle>Tutorial</> should be your first reading if you
are completely new to <acronym>SQL</> databases.
If you are familiar with database concepts then you want to
proceed with the <citetitle>Administrator's Guide</citetitle>,
which contains information about how to set up the database
server, database users, and authentication.
The &cite-tutorial; should be your first reading if you are
completely new to <acronym>SQL</> databases. If you are
familiar with database concepts then you want to proceed with
the &cite-admin;, which contains information about how to set up
the database server, database users, and authentication.
</para>
</listitem>
@ -1431,8 +1429,7 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
<para>
Usually, you will want to modify your computer so that it will
automatically start the database server whenever it boots. Some
suggestions for this are in the <citetitle>Administrator's
Guide</citetitle>.
suggestions for this are in the &cite-admin;.
</para>
</listitem>
@ -1441,7 +1438,7 @@ kill `cat /usr/local/pgsql/data/postmaster.pid`
Run the regression tests against the installed server (using the
sequential test method). If you didn't run the tests before
installation, you should definitely do it now. This is also
explained in the <citetitle>Administrator's Guide</citetitle>.
explained in the &cite-admin;.
</para>
</listitem>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.41 2002/11/15 03:11:16 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.42 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="jdbc">
@ -124,9 +124,9 @@ java Finder
<para>
Also, the client authentication setup in the
<filename>pg_hba.conf</filename> file may need to be configured.
Refer to the <citetitle>Administrator's Guide</citetitle> for
details. The <acronym>JDBC</acronym> Driver supports the trust,
ident, password, md5, and crypt authentication methods.
Refer to the &cite-admin; for details. The
<acronym>JDBC</acronym> Driver supports the trust, ident,
password, md5, and crypt authentication methods.
</para>
</sect2>
</sect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.105 2003/01/07 04:25:29 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.106 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="libpq">
@ -952,7 +952,7 @@ strings overlap.
escape a character, it is converted into the three digit octal number
equal to the decimal <acronym>ASCII</acronym> value, and preceded by
two backslashes. The single quote (') and backslash (\) characters have
special alternate escape sequences. See the <citetitle>User's Guide</citetitle>
special alternate escape sequences. See the &cite-user;
for more information. <function>PQescapeBytea
</function> performs this operation, escaping only the minimally
required characters.

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.20 2002/10/24 17:48:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.21 2003/01/19 00:13:28 momjian Exp $
-->
<sect1 id="notation">
@ -18,7 +18,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.20 2002/10/24 17:48:54 pe
We use <filename>/usr/local/pgsql/</filename> as the root
directory of the installation and <filename>/usr/local/pgsql/data</filename>
as the directory with the database files. These directories may vary
on your site, details can be derived in the <citetitle>Administrator's Guide</citetitle>.
on your site, details can be derived in the &cite-admin;.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.13 2003/01/15 16:40:24 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/plpgsql.sgml,v 1.14 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="plpgsql">
@ -230,7 +230,7 @@ END;
<para>
Developing in <application>PL/pgSQL</application> is pretty
straight forward, especially if you have developed in other
database procedural languages, such as Oracle's
database procedural languages, such as <productname>Oracle</>'s
<application>PL/SQL</application>. One good way to develop in
<application>PL/pgSQL</> is to simply use the text editor of your
choice to create your functions, and in another window, use
@ -1155,84 +1155,109 @@ GET DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>item</replace
<title>Returning from a function</title>
<para>
There are two commands available that allow you to return data
from a function: <command>RETURN</command> and <command>RETURN
NEXT</command>.
</para>
<sect3>
<title><command>RETURN</></title>
<para>
<synopsis>
RETURN <replaceable>expression</replaceable>;
</synopsis>
<command>RETURN</command> with an expression is used to return
from a <application>PL/pgSQL</> function that does not return a
set. The function terminates and the value of
<replaceable>expression</replaceable> is returned to the caller.
</para>
<command>RETURN</command> with an expression is used to return
from a <application>PL/pgSQL</> function that does not return a
set. The function terminates and the value of
<replaceable>expression</replaceable> is returned to the caller.
</para>
<para>
To return a composite (row) value, you must write a record or row
variable as the <replaceable>expression</replaceable>. When
returning a scalar type, any expression can be used.
The expression's result will be automatically cast into the
function's return type as described for assignments.
(If you have declared the function to return <type>void</>,
then the expression can be omitted, and will be ignored in any case.)
</para>
<para>
To return a composite (row) value, you must write a record or row
variable as the <replaceable>expression</replaceable>. When
returning a scalar type, any expression can be used.
The expression's result will be automatically cast into the
function's return type as described for assignments.
</para>
<para>
The return value of a function cannot be left undefined. If
control reaches the end of the top-level block of the function
without hitting a <command>RETURN</command> statement, a run-time
error will occur.
</para>
<para>
The return value of a function cannot be left undefined. If
control reaches the end of the top-level block of the function
without hitting a <command>RETURN</command> statement, a run-time
error will occur. Note that if you have declared the function to
return <type>void</type>, a <command>RETURN</command> statement
must still be specified; however, the expression following
<command>RETURN</command> is optional, and will be ignored in
any case.
</para>
</sect3>
<para>
When a <application>PL/pgSQL</> function is declared to return
<literal>SETOF</literal> <replaceable>sometype</>, the procedure
to follow is slightly different. In that case, the individual
items to return are specified in <command>RETURN NEXT</command>
commands, and then a final <command>RETURN</command> command with
no arguments is used to indicate that the function has finished
executing. <command>RETURN NEXT</command> can be used with both
scalar and composite data types; in the later case, an entire
"table" of results will be returned. Functions that use
<command>RETURN NEXT</command> should be called in the following
fashion:
<programlisting>
SELECT * FROM some_func();
</programlisting>
That is, the function is used as a table source in a FROM clause.
<sect3>
<title><command>RETURN NEXT</></title>
<synopsis>
RETURN NEXT <replaceable>expression</replaceable>;
</synopsis>
<command>RETURN NEXT</command> does not actually return from the
function; it simply saves away the value of the expression (or
record or row variable, as appropriate for the data type being
returned). Execution then continues with the next statement in
the <application>PL/pgSQL</> function. As successive
<command>RETURN NEXT</command> commands are executed, the result
set is built up. A final <command>RETURN</command>, which need
have no argument, causes control to exit the function.
</para>
<para>
When a <application>PL/pgSQL</> function is declared to return
<literal>SETOF</literal> <replaceable>sometype</>, the procedure
to follow is slightly different. In that case, the individual
items to return are specified in <command>RETURN NEXT</command>
commands, and then a final <command>RETURN</command> command
with no arguments is used to indicate that the function has
finished executing. <command>RETURN NEXT</command> can be used
with both scalar and composite data types; in the later case, an
entire <quote>table</quote> of results will be returned.
Functions that use <command>RETURN NEXT</command> should be
called in the following fashion:
<note>
<para>
The current implementation of <command>RETURN NEXT</command> for
<application>PL/pgSQL</> stores the entire result set before
returning from the function, as discussed above. That means that
if a <application>PL/pgSQL</> function produces a very large result set,
performance may be poor: data will be written to disk to avoid
memory exhaustion, but the function itself will not return until
the entire result set has been generated. A future version of
<application>PL/pgSQL</> may allow users to allow users to define set-returning
functions that do not have this limitation. Currently, the point
at which data begins being written to disk is controlled by the
<varname>SORT_MEM</> configuration variable. Administrators who
have sufficient memory to store larger result sets in memory
should consider increasing this parameter.
</para>
</note>
</sect2>
<programlisting>
SELECT * FROM some_func();
</programlisting>
That is, the function is used as a table source in a FROM
clause.
</para>
<para>
<command>RETURN NEXT</command> does not actually return from the
function; it simply saves away the value of the expression (or
record or row variable, as appropriate for the data type being
returned). Execution then continues with the next statement in
the <application>PL/pgSQL</> function. As successive
<command>RETURN NEXT</command> commands are executed, the result
set is built up. A final <command>RETURN</command>, which should
have no argument, causes control to exit the function.
</para>
<para>
For more information on using set-returning functions in
<productname>PostgreSQL</productname>, refer to XXX.
</para
<note>
<para>
The current implementation of <command>RETURN NEXT</command>
for <application>PL/pgSQL</> stores the entire result set
before returning from the function, as discussed above. That
means that if a <application>PL/pgSQL</> function produces a
very large result set, performance may be poor: data will be
written to disk to avoid memory exhaustion, but the function
itself will not return until the entire result set has been
generated. A future version of <application>PL/pgSQL</> may
allow users to allow users to define set-returning functions
that do not have this limitation. Currently, the point at
which data begins being written to disk is controlled by the
<varname>SORT_MEM</> configuration variable. Administrators
who have sufficient memory to store larger result sets in
memory should consider increasing this parameter.
</para>
</note>
</sect3>
</sect2>
<sect2 id="plpgsql-conditionals">
<title>Conditionals</title>
@ -1267,9 +1292,11 @@ IF <replaceable>boolean-expression</replaceable> THEN
END IF;
</synopsis>
IF-THEN statements are the simplest form of IF. The
statements between THEN and END IF will be executed if
the condition is true. Otherwise, they are skipped.
<literal>IF-THEN</literal> statements are the simplest form of
<literal>IF</literal>. The statements between
<literal>THEN</literal> and <literal>END IF</literal> will be
executed if the condition is true. Otherwise, they are
skipped.
<programlisting>
IF v_user_id &lt;&gt; 0 THEN
@ -1291,9 +1318,10 @@ ELSE
END IF;
</synopsis>
IF-THEN-ELSE statements add to IF-THEN by letting you
specify an alternative set of statements that should be executed if
the condition evaluates to FALSE.
<literal>IF-THEN-ELSE</literal> statements add to
<literal>IF-THEN</literal> by letting you specify an
alternative set of statements that should be executed if the
condition evaluates to FALSE.
<programlisting>
IF parentid IS NULL or parentid = ''''
@ -1311,14 +1339,16 @@ ELSE
return ''f'';
END IF;
</programlisting>
</para>
</sect3>
</para>
</sect3>
<sect3>
<title><literal>IF-THEN-ELSE IF</></title>
<para>
IF statements can be nested, as in the following example:
<literal>IF</literal> statements can be nested, as in the
following example:
<programlisting>
IF demo_row.sex = ''m'' THEN
pretty_sex := ''man'';
@ -1331,12 +1361,13 @@ END IF;
</para>
<para>
When you use this form, you are actually
nesting an IF statement inside the ELSE part of an outer IF
statement. Thus you need one END IF statement for each
nested IF and one for the parent IF-ELSE.
This is workable but grows tedious when there are many
alternatives to be checked.
When you use this form, you are actually nesting an
<literal>IF</literal> statement inside the
<literal>ELSE</literal> part of an outer <literal>IF</literal>
statement. Thus you need one <literal>END IF</literal>
statement for each nested IF and one for the parent
<literal>IF-ELSE</literal>. This is workable but grows
tedious when there are many alternatives to be checked.
</para>
</sect3>
@ -1384,7 +1415,7 @@ END IF;
</para>
<para>
The final ELSE section is optional.
The final <literal>ELSE</literal> statement is optional.
</para>
</sect3>
@ -1399,10 +1430,10 @@ END IF;
a series of commands.
</para>
<sect3>
<title>LOOP</title>
<sect3>
<title>LOOP</title>
<para>
<para>
<synopsis>
<optional>&lt;&lt;label&gt;&gt;</optional>
LOOP
@ -1410,13 +1441,13 @@ LOOP
END LOOP;
</synopsis>
LOOP defines an unconditional loop that is repeated indefinitely
until terminated by an EXIT or RETURN statement.
The optional label can be used by
EXIT statements in nested loops to specify which level of
nesting should be terminated.
</para>
</sect3>
LOOP defines an unconditional loop that is repeated indefinitely
until terminated by an EXIT or <command>RETURN</command>
statement. The optional label can be used by EXIT statements in
nested loops to specify which level of nesting should be
terminated.
</para>
</sect3>
<sect3>
<title>EXIT</title>
@ -1547,9 +1578,9 @@ FOR <replaceable>record | row</replaceable> IN <replaceable>select_query</replac
<replaceable>statements</replaceable>
END LOOP;
</synopsis>
The record or row variable is successively assigned all the rows
resulting from the SELECT query and the loop body is executed
for each row. Here is an example:
The record or row variable is successively assigned all the rows
resulting from the <command>SELECT</command> query and the loop
body is executed for each row. Here is an example:
</para>
<para>
@ -1639,11 +1670,12 @@ END LOOP;
<synopsis>
<replaceable>name</replaceable> CURSOR <optional> ( <replaceable>arguments</replaceable> ) </optional> FOR <replaceable>select_query</replaceable> ;
</synopsis>
(<literal>FOR</> may be replaced by <literal>IS</> for Oracle
compatibility.) <replaceable>arguments</replaceable>, if any,
are a comma-separated list of <replaceable>name</replaceable>
<replaceable>datatype</replaceable> pairs that define names to
be replaced by parameter values in the given query. The actual
(<literal>FOR</> may be replaced by <literal>IS</> for
<productname>Oracle</productname> compatibility.)
<replaceable>arguments</replaceable>, if any, are a
comma-separated list of <replaceable>name</replaceable>
<replaceable>datatype</replaceable> pairs that define names to be
replaced by parameter values in the given query. The actual
values to substitute for these names will be specified later,
when the cursor is opened.
</para>
@ -1685,13 +1717,14 @@ DECLARE
OPEN <replaceable>unbound-cursor</replaceable> FOR SELECT ...;
</synopsis>
The cursor variable is opened and given the specified query
to execute. The cursor cannot be open already, and it must
have been declared as an unbound cursor (that is, as a simple
<type>refcursor</> variable). The SELECT query is treated
in the same way as other SELECT statements in <application>PL/pgSQL</>:
<application>PL/pgSQL</> variable names are substituted,
and the query plan is cached for possible re-use.
The cursor variable is opened and given the specified query to
execute. The cursor cannot be open already, and it must have been
declared as an unbound cursor (that is, as a simple
<type>refcursor</> variable). The <command>SELECT</command> query
is treated in the same way as other <command>SELECT</command>
statements in <application>PL/pgSQL</>: <application>PL/pgSQL</>
variable names are substituted, and the query plan is cached for
possible re-use.
<programlisting>
OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
@ -1799,8 +1832,8 @@ FETCH curs2 INTO foo,bar,baz;
CLOSE <replaceable>cursor</replaceable>;
</synopsis>
CLOSE closes the Portal underlying an open cursor.
This can be used to release resources earlier than end of
<command>CLOSE</command> closes the Portal underlying an open
cursor. This can be used to release resources earlier than end of
transaction, or to free up the cursor variable to be opened again.
<programlisting>
@ -1815,11 +1848,12 @@ CLOSE curs1;
<para>
<application>PL/pgSQL</> functions can return cursors to the
caller. This is used to return multiple rows or columns from the
function. The function opens the cursor and returns the cursor
name to the caller. The caller can then FETCH rows from the
cursor. The cursor can be closed by the caller, or it will be
closed automatically when the transaction closes.
caller. This is used to return multiple rows or columns from
the function. The function opens the cursor and returns the
cursor name to the caller. The caller can then
<command>FETCH</command> rows from the cursor. The cursor can
be closed by the caller, or it will be closed automatically
when the transaction closes.
</para>
@ -1879,7 +1913,8 @@ COMMIT;
<title>Errors and Messages</title>
<para>
Use the RAISE statement to report messages and raise errors.
Use the <command>RAISE</command> statement to report messages and
raise errors.
<synopsis>
RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">variable</replaceable> <optional>...</optional></optional>;
@ -1896,8 +1931,7 @@ RAISE <replaceable class="parameter">level</replaceable> '<replaceable class="pa
written to the server log, or both is controlled by the
<option>LOG_MIN_MESSAGES</option> and
<option>CLIENT_MIN_MESSAGES</option> configuration variables. See
the <citetitle>PostgreSQL Administrator's Guide</citetitle> for more
information.
the &cite-admin; for more information.
</para>
<para>
@ -2029,9 +2063,9 @@ RAISE EXCEPTION ''Inexistent ID --> %'',user_id;
<term><varname>TG_LEVEL</varname></term>
<listitem>
<para>
Data type <type>text</type>; a string of either
<literal>ROW</literal> or <literal>STATEMENT</literal> depending on the
trigger's definition.
Data type <type>text</type>; a string of either
<literal>ROW</literal> or <literal>STATEMENT</literal>
depending on the trigger's definition.
</para>
</listitem>
</varlistentry>
@ -2040,10 +2074,10 @@ RAISE EXCEPTION ''Inexistent ID --> %'',user_id;
<term><varname>TG_OP</varname></term>
<listitem>
<para>
Data type <type>text</type>; a string of
<literal>INSERT</literal>, <literal>UPDATE</literal>
or <literal>DELETE</literal> telling
for which operation the trigger is fired.
Data type <type>text</type>; a string of
<literal>INSERT</literal>, <literal>UPDATE</literal> or
<literal>DELETE</literal> telling for which operation the
trigger is fired.
</para>
</listitem>
</varlistentry>
@ -2282,7 +2316,7 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
-->
</sect1info>
<title>Porting from Oracle PL/SQL</title>
<title>Porting from <productname>Oracle</productname> PL/SQL</title>
<indexterm zone="plpgsql-porting">
<primary>Oracle</primary>
@ -2300,7 +2334,7 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
</note>
<para>
This section explains differences between Oracle's PL/SQL and
This section explains differences between <productname>Oracle</>'s PL/SQL and
<productname>PostgreSQL</>'s <application>PL/pgSQL</application> languages in the hopes of helping developers
port applications from Oracle to <productname>PostgreSQL</>. Most of the code here
is from the <ulink url="http://www.arsdigita.com">ArsDigita</ulink>
@ -2322,7 +2356,8 @@ CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
<title>Main Differences</title>
<para>
Some things you should keep in mind when porting from Oracle to <productname>PostgreSQL</>:
Some things you should keep in mind when porting from
<productname>Oracle</productname> to <productname>PostgreSQL</>:
<itemizedlist>
<listitem>
@ -2479,7 +2514,7 @@ a_output := a_output || '' if v_'' ||
</title>
<para>
Here is an Oracle function:
Here is an <productname>Oracle</productname> function:
<programlisting>
CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name IN varchar, v_version IN varchar)
RETURN varchar IS
@ -2508,12 +2543,13 @@ SHOW ERRORS;
<listitem>
<para>
Oracle can have <literal>IN</literal>, <literal>OUT</literal>,
and <literal>INOUT</literal> parameters passed to functions.
The <literal>INOUT</literal>, for example, means that the
parameter will receive a value and return another. <productname>PostgreSQL</>
only has <quote>IN</quote> parameters and functions can return
only a single value.
<productname>Oracle</productname> can have
<literal>IN</literal>, <literal>OUT</literal>, and
<literal>INOUT</literal> parameters passed to functions. The
<literal>INOUT</literal>, for example, means that the
parameter will receive a value and return
another. <productname>PostgreSQL</> only has <quote>IN</quote>
parameters and functions can return only a single value.
</para>
</listitem>
@ -2644,11 +2680,11 @@ END;
<example>
<title>
A Procedure with a lot of String Manipulation and OUT Parameters
A Procedure with a lot of String Manipulation and <literal>OUT</> Parameters
</title>
<para>
The following Oracle PL/SQL procedure is used to parse a URL and
The following <productname>Oracle</productname> PL/SQL procedure is used to parse a URL and
return several elements (host, path and query). It is an
procedure because in <application>PL/pgSQL</application> functions only one value can be returned
(see <xref linkend="plpgsql-porting-procedures">). In
@ -2738,7 +2774,7 @@ END;
so you can work around it using a combination of other functions.
I got tired of doing this and created my own
<function>instr</function> functions that behave exactly like
Oracle's (it makes life easier). See the <xref
<productname>Oracle</productname>'s (it makes life easier). See the <xref
linkend="plpgsql-porting-appendix"> for the code.
</para>
</note>
@ -2750,9 +2786,10 @@ END;
</title>
<para>
Oracle procedures give a little more flexibility to the developer
because nothing needs to be explicitly returned, but it can be
through the use of <literal>INOUT</> or <literal>OUT</> parameters.
<productname>Oracle</productname> procedures give a little more
flexibility to the developer because nothing needs to be
explicitly returned, but it can be through the use of
<literal>INOUT</> or <literal>OUT</> parameters.
</para>
<para>
@ -2890,12 +2927,13 @@ END;
</note>
<para>
Packages are a way Oracle gives you to encapsulate PL/SQL
statements and functions into one entity, like Java classes, where
you define methods and objects. You can access these
objects/methods with a <quote><literal>.</literal></quote>
(dot). Here is an example of an Oracle package from ACS 4 (the
<ulink url="http://www.arsdigita.com/doc/">ArsDigita Community
Packages are a way <productname>Oracle</productname> gives you to
encapsulate PL/SQL statements and functions into one entity, like
Java classes, where you define methods and objects. You can access
these objects/methods with a <quote><literal>.</literal></quote>
(dot). Here is an example of an <productname>Oracle</productname>
package from ACS 4 (the <ulink
url="http://www.arsdigita.com/doc/">ArsDigita Community
System</ulink>):
<programlisting>
@ -2924,10 +2962,11 @@ show errors
</para>
<para>
We port this to <productname>PostgreSQL</> by creating the different objects of
the Oracle package as functions with a standard naming
convention. We have to pay attention to some other details, like
the lack of default parameters in <productname>PostgreSQL</> functions. The above
We port this to <productname>PostgreSQL</> by creating the
different objects of the <productname>Oracle</productname> package
as functions with a standard naming convention. We have to pay
attention to some other details, like the lack of default
parameters in <productname>PostgreSQL</> functions. The above
package would become something like this:
<programlisting>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.3 2002/05/17 01:19:16 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_database.sgml,v 1.4 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -71,8 +71,8 @@ ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> RESET <replacea
<para>
See <xref linkend="sql-set" endterm="sql-set-title"> and the
<citetitle>Administrator's Guide</citetitle> for more
information about allowed variable names and values.
&cite-admin; for more information about allowed variable names
and values.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.53 2002/12/16 19:08:25 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_table.sgml,v 1.54 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -399,9 +399,8 @@ VACUUM FULL table;
<para>
Refer to <command>CREATE TABLE</command> for a further description
of valid arguments.
The <citetitle>PostgreSQL User's Guide</citetitle> has further
information on inheritance.
of valid arguments. The &cite-user; has further information on
inheritance.
</para>
</refsect2>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.23 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_user.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -145,8 +145,8 @@ ALTER USER <replaceable class="PARAMETER">username</replaceable> RESET <replacea
<para>
See <xref linkend="sql-set" endterm="sql-set-title"> and the
<citetitle>Administrator's Guide</citetitle> for more
information about allowed variable names and values.
&cite-admin; for more information about allowed variable names
and values.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/analyze.sgml,v 1.9 2002/07/31 17:19:51 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/analyze.sgml,v 1.10 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -152,8 +152,7 @@ ANALYZE [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> [ (<rep
<command>ANALYZE</command> deems them uninteresting (for example, in
a unique-key column, there are no common values) or if the column
data type does not support the appropriate operators. There is more
information about the statistics in the <citetitle>User's
Guide</citetitle>.
information about the statistics in the &cite-user;.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.20 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/begin.sgml,v 1.21 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -121,8 +121,7 @@ WARNING: BEGIN: already a transaction in progress
<command>SET TRANSACTION ISOLATION LEVEL SERIALIZABLE</command>
just after <command>BEGIN</command> if you need more rigorous transaction
isolation. (Alternatively, you can change the default transaction
isolation level; see the <citetitle>PostgreSQL Administrator's
Guide</citetitle> for details.)
isolation level; see the &cite-admin; for details.)
In SERIALIZABLE mode queries will see only changes committed before
the entire
transaction began (actually, before execution of the first <acronym>DML</> statement
@ -161,7 +160,7 @@ WARNING: BEGIN: already a transaction in progress
</para>
<para>
If you turn <literal>autocommit</> mode off, then <command>BEGIN</>
If you turn <varname>autocommit</> mode off, then <command>BEGIN</>
is not required: any SQL command automatically starts a transaction.
</para>
</refsect2>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.6 2002/04/21 19:02:39 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.7 2003/01/19 00:13:29 momjian Exp $ -->
<refentry id="sql-checkpoint">
<refmeta>
@ -34,8 +34,7 @@ CHECKPOINT
A checkpoint is a point in the transaction log sequence at which
all data files have been updated to reflect the information in the
log. All data files will be flushed to disk. Refer to the
<citetitle>PostgreSQL Administrator's Guide</citetitle> for more
information about the WAL system.
&cite-admin; for more information about the WAL system.
</para>
<para>
@ -48,7 +47,7 @@ CHECKPOINT
<title>See Also</title>
<para>
<citetitle>PostgreSQL Administrator's Guide</citetitle>
&cite-admin;
</para>
</refsect1>
@ -61,3 +60,20 @@ CHECKPOINT
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_aggregate.sgml,v 1.22 2002/10/21 04:33:39 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_aggregate.sgml,v 1.23 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -271,9 +271,8 @@ CREATE AGGREGATE
Usage
</title>
<para>
Refer to the chapter on aggregate functions
in the <citetitle>PostgreSQL Programmer's Guide</citetitle> for
complete examples of usage.
Refer to the chapter on aggregate functions in the
&cite-programmer; for complete examples of usage.
</para>
</refsect1>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.7 2002/11/15 03:11:17 momjian Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.8 2003/01/19 00:13:29 momjian Exp $ -->
<refentry id="SQL-CREATECAST">
<refmeta>
@ -241,7 +241,7 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
<xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
<xref linkend="sql-createtype" endterm="sql-createtype-title">,
<xref linkend="sql-dropcast" endterm="sql-dropcast-title">,
<citetitle>PostgreSQL Programmer's Guide</citetitle>
&cite-programmer;
</para>
</refsect1>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.5 2002/11/02 02:33:03 tgl Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_conversion.sgml,v 1.6 2003/01/19 00:13:29 momjian Exp $ -->
<refentry id="SQL-CREATECONVERSION">
<refmeta>
@ -158,7 +158,7 @@ CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;
<para>
<xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
<xref linkend="sql-dropconversion" endterm="sql-dropconversion-title">,
<citetitle>PostgreSQL Programmer's Guide</citetitle>
&cite-programmer;
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.30 2002/11/15 03:11:17 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_database.sgml,v 1.31 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -281,7 +281,7 @@ comment from Olly; response from Thomas...
by specifying its name as the template, this is not (yet) intended as
a general-purpose COPY DATABASE facility.
We recommend that databases used as templates be treated as read-only.
See the <citetitle>Administrator's Guide</> for more information.
See the &cite-admin; for more information.
</para>
</refsect2>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.9 2002/12/12 20:35:07 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_domain.sgml,v 1.10 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -58,7 +58,7 @@ where <replaceable class="PARAMETER">constraint</replaceable> is:
<para>
The underlying data type of the domain. This may include array
specifiers.
Refer to the <citetitle>User's Guide</citetitle> for further
Refer to the &cite-user; for further
information about data types and arrays.
</para>
</listitem>
@ -224,7 +224,7 @@ CREATE TABLE countrylist (id INT4, country country_code);
<simplelist type="inline">
<member><xref linkend="sql-dropdomain" endterm="sql-dropdomain-title"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
<member>&cite-programmer;</member>
</simplelist>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.43 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.44 2003/01/19 00:13:29 momjian Exp $
-->
<refentry id="SQL-CREATEFUNCTION">
@ -281,8 +281,7 @@ CREATE [ OR REPLACE ] FUNCTION <replaceable class="parameter">name</replaceable>
<title>Notes</title>
<para>
Refer to the chapter in the
<citetitle>PostgreSQL Programmer's Guide</citetitle>
Refer to the chapter in the &cite-programmer;
on the topic of extending
<productname>PostgreSQL</productname> via functions
for further information on writing external functions.
@ -470,7 +469,7 @@ Point * complex_to_point (Complex *z)
<xref linkend="sql-load" endterm="sql-load-title">,
<xref linkend="sql-revoke" endterm="sql-revoke-title">,
<xref linkend="app-createlang">,
<citetitle>PostgreSQL Programmer's Guide</citetitle>
&cite-programmer;
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.8 2002/04/21 19:02:39 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_group.sgml,v 1.9 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -107,10 +107,10 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
Description
</title>
<para>
CREATE GROUP will create a new group in the database installation.
Refer to the <citetitle>Administrator's Guide</citetitle> for information about using groups
for authentication.
You must be a database superuser to use this command.
<command>CREATE GROUP</command> will create a new group in the
database installation. Refer to the &cite-admin; for information
about using groups for authentication. You must be a database
superuser to use this command.
</para>
<para>
Use <xref linkend="SQL-ALTERGROUP" endterm="SQL-ALTERGROUP-title">

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.29 2002/11/21 23:34:43 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.30 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -37,9 +37,8 @@ CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE <replaceable class="parameter">langna
<para>
<command>CREATE LANGUAGE</command> effectively associates the
language name with a call handler that is responsible for executing
functions written in the language. Refer to the
<citetitle>Programmer's Guide</citetitle> for more information
about language call handlers.
functions written in the language. Refer to the &cite-programmer;
for more information about language call handlers.
</para>
<para>
@ -301,7 +300,7 @@ CREATE LANGUAGE plsample
<member><xref linkend="sql-droplanguage" endterm="sql-droplanguage-title"></member>
<member><xref linkend="sql-grant" endterm="sql-grant-title"></member>
<member><xref linkend="sql-revoke" endterm="sql-revoke-title"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
<member>&cite-programmer;</member>
</simplelist>
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.4 2002/10/04 22:19:29 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_opclass.sgml,v 1.5 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -224,8 +224,7 @@ CREATE OPERATOR CLASS
<para>
Refer to the chapter on interfacing extensions to indexes in the
<citetitle>PostgreSQL Programmer's Guide</citetitle>
for further information.
&cite-programmer; for further information.
</para>
<refsect2 id="R2-SQL-CREATEOPCLASS-3">

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.32 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_operator.sgml,v 1.33 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -436,8 +436,7 @@ MYBOXES.description === box '((0,0), (1,1))'
Notes
</title>
<para>
Refer to the chapter on operators in the
<citetitle>PostgreSQL User's Guide</citetitle>
Refer to the chapter on operators in the &cite-user;
for further information.
Refer to <command>DROP OPERATOR</command> to delete
user-defined operators from a database.

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.29 2002/11/10 00:10:20 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.30 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -256,7 +256,7 @@ ERROR: DefineSequence: MINVALUE (<replaceable class="parameter">min</replaceabl
<function>currval</function> and
<function>setval</function>
to operate on the sequence. These functions are documented in
the <citetitle>User's Guide</citetitle>.
the &cite-user;.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.60 2002/12/16 19:08:25 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.61 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -147,8 +147,8 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
<listitem>
<para>
The data type of the column. This may include array specifiers.
Refer to the <citetitle>User's Guide</citetitle> for further
information about data types and arrays.
Refer to the &cite-user; for further information about data
types and arrays.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.31 2002/12/17 17:41:30 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.32 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -202,9 +202,8 @@ CREATE TRIGGER
</para>
<para>
Refer to the chapters on SPI and Triggers in the
<citetitle>PostgreSQL Programmer's Guide</citetitle> for more
information.
Refer to the chapters on SPI and Triggers in the &cite-programmer;
for more information.
</para>
</refsect1>
@ -349,7 +348,7 @@ CREATE TABLE distributors (
<member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
<member><xref linkend="sql-altertrigger" endterm="sql-altertrigger-title"></member>
<member><xref linkend="sql-droptrigger" endterm="sql-droptrigger-title"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
<member>&cite-programmer;</member>
</simplelist>
</refsect1>
</refentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.37 2002/11/21 23:34:43 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_type.sgml,v 1.38 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -468,7 +468,7 @@ CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS 'SELECT fooid, fooname FROM fo
<simplelist type="inline">
<member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
<member><xref linkend="sql-droptype" endterm="sql-droptype-title"></member>
<member><citetitle>PostgreSQL Programmer's Guide</citetitle></member>
<member>&cite-programmer;</member>
</simplelist>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.23 2002/02/27 21:14:53 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_user.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -34,10 +34,9 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
<para>
<command>CREATE USER</command> will add a new user to an instance
of <productname>PostgreSQL</productname>. Refer to the
<citetitle>Administrator's Guide</citetitle> for information about
managing users and authentication. You must be a database
superuser to use this command.
of <productname>PostgreSQL</productname>. Refer to the &cite-admin;
for information about managing users and authentication. You must
be a database superuser to use this command.
</para>
<refsect2>
@ -102,12 +101,11 @@ where <replaceable class="PARAMETER">option</replaceable> can be:
</para>
<para>
See the chapter on client authentication in the
<citetitle>Administrator's Guide</citetitle> for details on
how to set up authentication mechanisms. Note that older
clients may lack support for the MD5 authentication mechanism
that is needed to work with passwords that are stored
encrypted.
See the chapter on client authentication in the &cite-admin;
for details on how to set up authentication mechanisms. Note
that older clients may lack support for the MD5 authentication
mechanism that is needed to work with passwords that are
stored encrypted.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.19 2002/07/12 18:43:12 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.20 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -47,10 +47,7 @@ DROP AGGREGATE <replaceable class="PARAMETER">name</replaceable> ( <replaceable
<para>
The input data type of the aggregate function,
or <literal>*</literal> if the function accepts any input type.
(Refer to the <citetitle>PostgreSQL User's Guide</citetitle> for
further information about data types.)
<comment>This should become a cross-reference rather than a
hard-coded chapter number</comment>
(Refer to the &cite-user; for further information about data types.)
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.23 2002/11/15 03:11:18 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -49,7 +49,7 @@ PostgreSQL documentation
<para>
This reference page does not describe the embedded SQL language.
See the &cite-programmer; for that.
See the &cite-programmer; for more information on that topic.
</para>
</refsect1>
@ -196,8 +196,8 @@ cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg
<title>See Also</title>
<para>
<citetitle>PostgreSQL Programmer's Guide</citetitle> for a more
detailed description of the embedded SQL interface
&cite-programmer; for a more detailed description of the embedded
SQL interface
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/execute.sgml,v 1.1 2002/08/27 04:55:07 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/execute.sgml,v 1.2 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -21,7 +21,7 @@ PostgreSQL documentation
<date>2002-08-12</date>
</refsynopsisdivinfo>
<synopsis>
EXECUTE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">parameter</replaceable> [, ...] ) ]
EXECUTE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">parameter</replaceable> [, ...] ) ] [ INTO [ TEMPORARY | TEMP ] <replaceable class="PARAMETER">table</replaceable> ]
</synopsis>
<refsect2 id="R2-SQL-EXECUTE-1">
@ -42,16 +42,28 @@ PostgreSQL documentation
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">parameter</replaceable></term>
<listitem>
<para>
The actual value of a parameter to the prepared query.
This must be an expression yielding a value of a type
compatible with
the data-type specified for this parameter position in the
<command>PREPARE</command> statement that created the prepared
query.
The actual value of a parameter to the prepared query. This
must be an expression yielding a value of a type compatible
with the data-type specified for this parameter position in
the <command>PREPARE</command> statement that created the
prepared query.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">table</replaceable></term>
<listitem>
<para>
The name of the table in which to store the results of
executing the query (if it is a <command>SELECT</command>). If
no table is specified, the results are returned to the client
(as normal).
</para>
</listitem>
</varlistentry>
@ -85,6 +97,13 @@ PostgreSQL documentation
name of a prepared query must be unique within a database session.
</para>
<para>
Like <command>SELECT INTO</command>, <command>EXECUTE</command> can
be used to store the results of executing the query in a table by
specifying an INTO clause. For more information on this behabior,
consult the reference for <xref linkend="sql-selectinto">.
</para>
<para>
For more information on the creation and usage of prepared queries,
see <xref linkend="sql-prepare" endterm="sql-prepare-title">.

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/explain.sgml,v 1.21 2002/11/15 03:11:18 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/explain.sgml,v 1.22 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -87,9 +87,10 @@ EXPLAIN [ ANALYZE ] [ VERBOSE ] <replaceable class="PARAMETER">query</replaceabl
<note>
<para>
Prior to <productname>PostgreSQL</productname> 7.3, the query plan
was emitted in the form of a NOTICE message. Now it appears as a
query result (formatted like a table with a single text column).
Prior to <productname>PostgreSQL</productname> 7.3, the query
plan was emitted in the form of a <literal>NOTICE</literal>
message. Now it appears as a query result (formatted like a
table with a single text column).
</para>
</note>
</refsect2>
@ -127,12 +128,26 @@ EXPLAIN [ ANALYZE ] [ VERBOSE ] <replaceable class="PARAMETER">query</replaceabl
costs to estimate which plan is really the cheapest.
</para>
<note>
<para>
In order to allow the <productname>PostgreSQL</productname> query
planner to make reasonably informed decisions when optimizing
queries, the <command>ANALYZE</command> statement should be used
to record statistics about the distribution of data within the
table. If you have not done this (or the statistical distribution
of the data in the table has changed significantly since the last
time <command>ANALYZE</command> was run), the estimated costs and
the resulting query plan displayed by <command>EXPLAIN</command>
are unlikely to conform to the real properties of the query.
</para>
</note>
<para>
The ANALYZE option causes the query to be actually executed, not only
planned. The total elapsed time expended within each plan node (in
milliseconds) and total number of rows it actually returned are added to
the display. This is useful for seeing whether the planner's estimates
are close to reality.
are close to the actual performance of the query.
</para>
<caution>
@ -171,8 +186,7 @@ ROLLBACK;
<para>
There is only sparse documentation on the optimizer's use of cost
information in <productname>PostgreSQL</productname>.
Refer to the <citetitle>User's Guide</citetitle> and
<citetitle>Programmer's Guide</citetitle> for more information.
Refer to the &cite-user; and &cite-programmer; for more information.
</para>
</refsect2>
</refsect1>
@ -233,7 +247,12 @@ EXPLAIN SELECT sum(i) FROM foo WHERE i &lt; 10;
<para>
Note that the specific numbers shown, and even the selected query
strategy, may vary between <productname>PostgreSQL</productname>
releases due to planner improvements.
releases due to planner improvements. In addition, the algorithm
used by <command>ANALYZE</command> to generate statistics is not
completely deterministic; therefore, it is possible (although not
likely) for cost estimations to change between runs of
<command>ANALYZE</command>, even if the actual distribution of data
in the table has not changed.
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.23 2002/10/11 23:03:48 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.24 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -253,7 +253,7 @@ PostgreSQL documentation
<simplelist type="inline">
<member><xref linkend="app-postgres"></member>
<member><xref linkend="app-postmaster"></member>
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
<member>&cite-admin;</member>
</simplelist>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.17 2002/10/11 23:03:48 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/initlocation.sgml,v 1.18 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -69,7 +69,7 @@ PostgreSQL documentation
<title>See Also</title>
<simplelist type="inline">
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
<member>&cite-admin;</member>
</simplelist>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.19 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/insert.sgml,v 1.20 2003/01/19 00:13:29 momjian Exp $
PostgreSQL documentation
-->
@ -216,8 +216,7 @@ INSERT INTO films SELECT * FROM tmp;
</para>
<para>
Insert into arrays (refer to the
<citetitle>PostgreSQL User's Guide</citetitle> for further
Insert into arrays (refer to the &cite-user; for further
information about arrays):
<programlisting>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.14 2002/11/21 23:34:43 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/load.sgml,v 1.15 2003/01/19 00:13:29 momjian Exp $
-->
<refentry id="SQL-LOAD">
@ -37,8 +37,8 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
The file name is specified in the same way as for shared library
names in <xref linkend="sql-createfunction" endterm="sql-createfunction-title">; in particular, one
may rely on a search path and automatic addition of the system's standard
shared library file name extension. See the
<citetitle>Programmer's Guide</citetitle> for more detail.
shared library file name extension. See the &cite-programmer; for
more information on this topic.
</para>
</refsect1>
@ -57,7 +57,7 @@ LOAD '<replaceable class="PARAMETER">filename</replaceable>'
<para>
<xref linkend="sql-createfunction" endterm="sql-createfunction-title">,
<citetitle>PostgreSQL Programmer's Guide</citetitle>
&cite-programmer;
</para>
</refsect1>
</refentry>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.12 2002/11/15 03:11:18 momjian Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_config-ref.sgml,v 1.13 2003/01/19 00:13:29 momjian Exp $ -->
<refentry id="app-pgconfig">
<refmeta>
@ -160,7 +160,24 @@
<title>See Also</title>
<para>
<citetitle>PostgreSQL Programmer's Guide</citetitle>
&cite-programmer;
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.17 2002/10/11 23:03:48 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.18 2003/01/19 00:13:30 momjian Exp $
PostgreSQL documentation
-->
@ -368,7 +368,7 @@ Command line was:
<title>See Also</title>
<para>
<xref linkend="app-postmaster">, <citetitle>PostgreSQL Administrator's Guide</citetitle>
<xref linkend="app-postmaster">, &cite-admin;
</para>
</refsect1>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.54 2003/01/06 18:53:24 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.55 2003/01/19 00:13:30 momjian Exp $
PostgreSQL documentation
-->
@ -705,7 +705,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
<member><xref linkend="app-pg-dumpall"></member>
<member><xref linkend="app-pgrestore"></member>
<member><xref linkend="app-psql"></member>
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
<member>&cite-admin;</member>
</simplelist>
</refsect1>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.34 2003/01/06 18:53:24 petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.35 2003/01/19 00:13:31 momjian Exp $ -->
<refentry id="APP-PGRESTORE">
<docinfo>
@ -697,7 +697,7 @@ CREATE DATABASE foo WITH TEMPLATE = template0;
<member><xref linkend="app-pgdump"></member>
<member><xref linkend="app-pg-dumpall"></member>
<member><xref linkend="app-psql"></member>
<member><citetitle>PostgreSQL Administrator's Guide</citetitle></member>
<member>&cite-admin;</member>
</simplelist>
</refsect1>
</refentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtclsh.sgml,v 1.5 2002/04/21 19:02:39 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtclsh.sgml,v 1.6 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -55,7 +55,7 @@ PostgreSQL documentation
<simplelist type="inline">
<member><xref linkend="app-pgtksh"></member>
<member>
<citetitle>PostgreSQL Programmer's Guide</citetitle> (description of <filename>libpgtcl</filename>)
&cite-programmer; (description of <filename>libpgtcl</filename>)
</member>
<member>
<citerefentry><refentrytitle>tclsh</refentrytitle> <manvolnum>1</manvolnum></citerefentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtksh.sgml,v 1.5 2002/04/21 19:02:39 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgtksh.sgml,v 1.6 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -55,7 +55,7 @@ PostgreSQL documentation
<simplelist type="inline">
<member><xref linkend="app-pgtclsh"></member>
<member>
<citetitle>PostgreSQL Programmer's Guide</citetitle> (description of <filename>libpgtcl</filename>)
&cite-programmer; (description of <filename>libpgtcl</filename>)
</member>
<member>
<citerefentry><refentrytitle>tclsh</refentrytitle> <manvolnum>1</manvolnum></citerefentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.29 2002/10/23 23:33:08 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.30 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -123,11 +123,11 @@ PostgreSQL documentation
<para>
You can avoid having to type these options by setting up a
configuration file. See the <citetitle>Administrator's
Guide</citetitle> for details. Some (safe) options can also be
set from the connecting client in an application-dependent way.
For example, if the environment variable <envar>PGOPTIONS</envar>
is set, then <application>libpq</>-based clients will pass that string to the
configuration file. See the &cite-admin; for details. Some
(safe) options can also be set from the connecting client in an
application-dependent way. For example, if the environment
variable <envar>PGOPTIONS</envar> is set, then
<application>libpq</>-based clients will pass that string to the
server, which will interpret it as
<application>postgres</application> command-line options.
</para>
@ -153,8 +153,7 @@ PostgreSQL documentation
means that the <quote>day before month</quote> (rather than
month before day) rule is used to interpret ambiguous date
input, and that the day is printed before the month in certain
date output formats. See the <citetitle>PostgreSQL User's
Guide</citetitle> for more information.
date output formats. See the &cite-user; for more information.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.33 2002/10/11 23:03:48 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.34 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -80,9 +80,8 @@ PostgreSQL documentation
<para>
<application>postmaster</application> accepts the following
command line arguments. For a detailed discussion of the options
consult the <citetitle>Administrator's Guide</citetitle>. You can
also save typing most of these options by setting up a
configuration file.
consult the &cite-admin;. You can also save typing most of these
options by setting up a configuration file.
<variablelist>
<varlistentry>
@ -111,11 +110,11 @@ PostgreSQL documentation
<term>-c <replaceable>name</replaceable>=<replaceable>value</replaceable></term>
<listitem>
<para>
Sets a named run-time parameter. Consult the
<citetitle>Administrator's Guide</citetitle> for a list and
descriptions. Most of the other command line options are in
fact short forms of such a parameter assignment. <option>-c</>
can appear multiple times to set multiple parameters.
Sets a named run-time parameter. Consult the &cite-admin; for
a list and descriptions. Most of the other command line
options are in fact short forms of such a parameter
assignment. <option>-c</> can appear multiple times to set
multiple parameters.
</para>
</listitem>
</varlistentry>
@ -219,9 +218,9 @@ PostgreSQL documentation
default, this value is 32, but it can be set as high as your
system will support. (Note that
<option>-B</option> is required to be at least twice
<option>-N</option>. See the <citetitle>Administrator's
Guide</citetitle> for a discussion of system resource requirements
for large numbers of client connections.)
<option>-N</option>. See the &cite-admin; for a discussion of
system resource requirements for large numbers of client
connections.)
</para>
</listitem>
</varlistentry>
@ -404,8 +403,8 @@ PostgreSQL documentation
<listitem>
<para>
Other environment variables may be used to designate alternative
data storage locations. See the <citetitle>Administrator's
Guide</citetitle> for more information.
data storage locations. See the &cite-admin; for more
information.
</para>
</listitem>
</varlistentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/reset.sgml,v 1.17 2002/10/13 16:55:05 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/reset.sgml,v 1.18 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -64,7 +64,7 @@ SET <replaceable class="parameter">variable</replaceable> TO DEFAULT
current session. The actual source of this value might be a
compiled-in default, the postmaster's configuration file or command-line
switches, or per-database or per-user default settings. See the
<citetitle>Administrator's Guide</citetitle> for details.
&cite-admin; for details.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.63 2002/10/24 21:19:15 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/select.sgml,v 1.64 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -291,19 +291,17 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
</para>
<para>
<command>DISTINCT</command> will eliminate duplicate rows from the
result.
<command>ALL</command> (the default) will return all candidate rows,
including duplicates.
DISTINCT will eliminate duplicate rows from the result. ALL (the
default) will return all candidate rows, including duplicates.
</para>
<para>
<command>DISTINCT ON</command> eliminates rows that match on all the
DISTINCT ON eliminates rows that match on all the
specified expressions, keeping only the first row of each set of
duplicates. The DISTINCT ON expressions are interpreted using the
same rules as for ORDER BY items; see below.
Note that the <quote>first row</quote> of each set is unpredictable
unless <command>ORDER BY</command> is used to ensure that the desired
unless ORDER BY is used to ensure that the desired
row appears first. For example,
<programlisting>
SELECT DISTINCT ON (location) location, time, report
@ -336,9 +334,9 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
</para>
<para>
SELECT queries can be combined using UNION, INTERSECT, and EXCEPT
operators. Use parentheses if necessary to determine the ordering
of these operators.
<command>SELECT</command> queries can be combined using UNION,
INTERSECT, and EXCEPT operators. Use parentheses if necessary to
determine the ordering of these operators.
</para>
<para>
@ -368,8 +366,8 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
</para>
<para>
The FOR UPDATE clause causes the SELECT statement to lock the selected
rows against concurrent updates.
The FOR UPDATE clause causes the <command>SELECT</command>
statement to lock the selected rows against concurrent updates.
</para>
<para>
@ -387,11 +385,12 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
</title>
<para>
The FROM clause specifies one or more source tables for the SELECT.
If multiple sources are specified, the result is conceptually the
Cartesian product of all the rows in all the sources --- but usually
qualification conditions are added to restrict the returned rows to
a small subset of the Cartesian product.
The FROM clause specifies one or more source tables for the
<command>SELECT</command>. If multiple sources are specified, the
result is conceptually the Cartesian product of all the rows in
all the sources --- but usually qualification conditions are added
to restrict the returned rows to a small subset of the Cartesian
product.
</para>
<para>
@ -407,10 +406,11 @@ where <replaceable class="PARAMETER">from_item</replaceable> can be:
</para>
<para>
A FROM item can also be a parenthesized sub-SELECT (note that an
alias clause is required for a sub-SELECT!). This is an extremely
handy feature since it's the only way to get multiple levels of
grouping, aggregation, or sorting in a single query.
A FROM item can also be a parenthesized
sub-<command>SELECT</command> (note that an alias clause is
required for a sub-<command>SELECT</command>!). This is an
extremely useful feature since it's the only way to get multiple
levels of grouping, aggregation, or sorting in a single query.
</para>
<para>
@ -542,23 +542,25 @@ GROUP BY <replaceable class="PARAMETER">expression</replaceable> [, ...]
</para>
<para>
GROUP BY will condense into a single row all selected rows that share the
same values for the grouped columns. Aggregate functions, if any,
are computed across all rows making up each group, producing a
separate value for each group (whereas without GROUP BY, an
aggregate produces a single value computed across all the selected
rows). When GROUP BY is present, it is not valid for the SELECT
output expression(s) to refer to
GROUP BY will condense into a single row all selected rows that
share the same values for the grouped columns. Aggregate
functions, if any, are computed across all rows making up each
group, producing a separate value for each group (whereas without
GROUP BY, an aggregate produces a single value computed across all
the selected rows). When GROUP BY is present, it is not valid for
the <command>SELECT</command> output expression(s) to refer to
ungrouped columns except within aggregate functions, since there
would be more than one possible value to return for an ungrouped column.
would be more than one possible value to return for an ungrouped
column.
</para>
<para>
A GROUP BY item can be an input column name, or the name or ordinal
number of an output column (SELECT expression), or it can be an arbitrary
expression formed from input-column values. In case of ambiguity, a GROUP
BY name will
be interpreted as an input-column name rather than an output column name.
A GROUP BY item can be an input column name, or the name or
ordinal number of an output column (<command>SELECT</command>
expression), or it can be an arbitrary expression formed from
input-column values. In case of ambiguity, a GROUP BY name will
be interpreted as an input-column name rather than an output
column name.
</para>
</refsect2>
@ -610,10 +612,11 @@ ORDER BY <replaceable class="PARAMETER">expression</replaceable> [ ASC | DESC |
</synopsis></para>
<para>
An ORDER BY item can be the name or ordinal
number of an output column (SELECT expression), or it can be an arbitrary
expression formed from input-column values. In case of ambiguity, an
ORDER BY name will be interpreted as an output-column name.
An ORDER BY item can be the name or ordinal number of an output
column (<command>SELECT</command> expression), or it can be an
arbitrary expression formed from input-column values. In case of
ambiguity, an ORDER BY name will be interpreted as an
output-column name.
</para>
<para>
The ordinal number refers to the ordinal (left-to-right) position
@ -697,10 +700,10 @@ SELECT name FROM distributors ORDER BY code;
<para>
The UNION operator computes the collection (set union) of the rows
returned by the queries involved.
The two SELECT statements that represent the direct operands of the UNION must
produce the same number of columns, and corresponding columns must be
of compatible data types.
returned by the queries involved. The two
<command>SELECT</command> statements that represent the direct
operands of the UNION must produce the same number of columns, and
corresponding columns must be of compatible data types.
</para>
<para>
@ -710,8 +713,9 @@ SELECT name FROM distributors ORDER BY code;
</para>
<para>
Multiple UNION operators in the same SELECT statement are
evaluated left to right, unless otherwise indicated by parentheses.
Multiple UNION operators in the same <command>SELECT</command>
statement are evaluated left to right, unless otherwise indicated
by parentheses.
</para>
<para>
@ -864,22 +868,26 @@ SELECT name FROM distributors ORDER BY code;
</para>
<para>
FOR UPDATE causes the rows retrieved by the query to be locked as though
for update. This prevents them from being modified or deleted by other
transactions until the current transaction ends; that is, other
transactions that attempt UPDATE, DELETE, or SELECT FOR UPDATE of these
rows will be blocked until the current transaction ends. Also, if an
UPDATE, DELETE, or SELECT FOR UPDATE from another transaction has already
locked a selected row or rows, SELECT FOR UPDATE will wait for the other
transaction to complete, and will then lock and return the updated row
(or no row, if the row was deleted). For further discussion see the
concurrency chapter of the <citetitle>User's Guide</citetitle>.
FOR UPDATE causes the rows retrieved by the query to be locked as
though for update. This prevents them from being modified or
deleted by other transactions until the current transaction ends;
that is, other transactions that attempt
<command>UPDATE</command>, <command>DELETE</command>, or
<command>SELECT FOR UPDATE</command> of these rows will be blocked
until the current transaction ends. Also, if an
<command>UPDATE</command>, <command>DELETE</command>, or
<command>SELECT FOR UPDATE</command> from another transaction has
already locked a selected row or rows, <command>SELECT FOR
UPDATE</command> will wait for the other transaction to complete,
and will then lock and return the updated row (or no row, if the
row was deleted). For further discussion see the concurrency
chapter of the &cite-user;.
</para>
<para>
If specific tables are named in FOR UPDATE, then only rows coming from
those tables are locked; any other tables used in the SELECT are simply
read as usual.
If specific tables are named in FOR UPDATE, then only rows coming
from those tables are locked; any other tables used in the
<command>SELECT</command> are simply read as usual.
</para>
<para>
@ -1097,9 +1105,9 @@ SELECT 2+2;
4
</programlisting>
Some other SQL databases cannot do this except by introducing a dummy one-row
table to do the select from. A less obvious use is to abbreviate a
normal select from one or more tables:
Some other <acronym>SQL</acronym> databases cannot do this except by
introducing a dummy one-row table to do the select from. A less
obvious use is to abbreviate a normal select from one or more tables:
<programlisting>
SELECT distributors.* WHERE distributors.name = 'Westward';

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.71 2003/01/12 01:33:00 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.72 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -80,11 +80,11 @@ SET [ SESSION | LOCAL ] TIME ZONE { <replaceable class="PARAMETER">timezone</rep
<para>
The <command>SET</command> command changes run-time configuration
parameters. Many of the run-time parameters listed in the
<citetitle>Administrator's Guide</citetitle> can be changed on-the-fly
with <command>SET</command>. (But some require superuser privileges
to change, and others cannot be changed after server or session start.)
Note that <command>SET</command> only affects the value used by the
current session.
&cite-admin; can be changed on-the-fly with <command>SET</command>.
(But some require superuser privileges to change, and others cannot
be changed after server or session start.) Note that
<command>SET</command> only affects the value used by the current
session.
</para>
<para>
@ -109,10 +109,9 @@ SET [ SESSION | LOCAL ] TIME ZONE { <replaceable class="PARAMETER">timezone</rep
</para>
<para>
Even with <literal>autocommit</> set to <literal>off</>, <command>SET</>
Even with <varname>autocommit</> set to <literal>off</>, <command>SET</>
does not start a new transaction block. See the
<literal>autocommit</> section of the <citetitle>Administrator's
Guide</citetitle> for details.
<varname>autocommit</> section of the &cite-admin; for details.
</para>
<para>
@ -517,8 +516,8 @@ SELECT CURRENT_TIMESTAMP AS today;
<para>
The function <function>set_config</function> provides the equivalent
capability. See <citetitle>Miscellaneous Functions</citetitle> in the
<citetitle>PostgreSQL User's Guide</citetitle>.
capability. See <citetitle>Miscellaneous Functions</citetitle> in
the &cite-user;.
</para>
</refsect1>
</refentry>

View File

@ -1,4 +1,4 @@
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.11 2003/01/11 00:00:03 petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/set_transaction.sgml,v 1.12 2003/01/19 00:13:31 momjian Exp $ -->
<refentry id="SQL-SET-TRANSACTION">
<docinfo>
<date>2000-11-24</date>
@ -109,9 +109,8 @@ SET SESSION CHARACTERISTICS AS TRANSACTION
<programlisting>
SET default_transaction_isolation = '<replaceable>value</replaceable>'
</programlisting>
and in the
configuration file. Consult the <citetitle>Administrator's
Guide</citetitle> for more information.
and in the configuration file. Consult the &cite-admin; for more
information.
</para>
</refsect1>
@ -127,8 +126,7 @@ SET default_transaction_isolation = '<replaceable>value</replaceable>'
not provide the isolation levels <option>READ UNCOMMITTED</option>
and <option>REPEATABLE READ</option>. Because of multiversion
concurrency control, the <option>SERIALIZABLE</option> level is not
truly serializable. See the <citetitle>User's Guide</citetitle> for
details.
truly serializable. See the &cite-user; for details.
</para>
<para>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.22 2002/10/13 16:55:05 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.23 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -62,10 +62,9 @@ SHOW ALL
</para>
<para>
Even with <literal>autocommit</> set to <literal>off</>, <command>SHOW</>
Even with <varname>autocommit</> set to <literal>off</>, <command>SHOW</>
does not start a new transaction block. See the
<literal>autocommit</> section of the <citetitle>Administrator's
Guide</citetitle> for details.
<varname>autocommit</> section of the &cite-admin; for details.
</para>
</refsect1>
@ -91,7 +90,7 @@ SHOW ALL
<refsect1 id="R1-SQL-SHOW-2">
<title>Examples</title>
<para>
Show the current <literal>DateStyle</literal> setting:
Show the current <varname>DateStyle</varname> setting:
<programlisting>
SHOW DateStyle;
@ -103,7 +102,8 @@ SHOW DateStyle;
</para>
<para>
Show the current genetic optimizer (<literal>geqo</literal>) setting:
Show whether the genetic query optimizer is enabled by displaying
the <varname>geqo</varname> setting:
<programlisting>
SHOW GEQO;
geqo
@ -148,7 +148,7 @@ SHOW ALL;
<para>
The function <function>current_setting</function> produces equivalent
output. See <citetitle>Miscellaneous Functions</citetitle> in the
<citetitle>PostgreSQL User's Guide</citetitle>.
&cite-user;.
</para>
</refsect1>
</refentry>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.27 2002/10/09 16:27:48 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v 1.28 2003/01/19 00:13:31 momjian Exp $
PostgreSQL documentation
-->
@ -206,7 +206,7 @@ INFO: Index <replaceable class="PARAMETER">index</replaceable>: Pages 28;
intended usage is in connection with preparation of user-defined template
databases, or other databases that are completely read-only and will not
receive routine maintenance <command>VACUUM</> operations.
See the <citetitle>Administrator's Guide</> for details.
See the &cite-admin; for details.
</para>
<refsect2 id="R2-SQL-VACUUM-3">

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xaggr.sgml,v 1.17 2002/09/21 18:32:54 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xaggr.sgml,v 1.18 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="xaggr">
@ -114,8 +114,7 @@ CREATE AGGREGATE avg (
<para>
For further details see the description of the <command>CREATE
AGGREGATE</command> command in the <citetitle>Reference
Manual</citetitle>.
AGGREGATE</command> command in the &cite-reference;.
</para>
</chapter>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.63 2003/01/17 03:28:18 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.64 2003/01/19 00:13:28 momjian Exp $
-->
<chapter id="xfunc">
@ -2051,8 +2051,8 @@ CREATE FUNCTION test(smallint, double precision) RETURNS ...
it is not immediately clear which function would be called with
some trivial input like <literal>test(1, 1.5)</literal>. The
currently implemented resolution rules are described in the
<citetitle>User's Guide</citetitle>, but it is unwise to design a
system that subtly relies on this behavior.
&cite-user;, but it is unwise to design a system that subtly
relies on this behavior.
</para>
<para>