Commit a75f2d21 authored by Thomas G. Lockhart's avatar Thomas G. Lockhart

Clean up to ensure tag completion as required by the newest versions

 of Norm's Modular Style Sheets and jade/docbook.
From Vince Vielhaber <vev@michvhf.com>.
parent 6d7735e7
......@@ -4,15 +4,15 @@
<Para>
<ProductName>PostgreSQL</ProductName> is available without cost. This manual
describes version 6.4 of <ProductName>PostgreSQL</ProductName>.
</Para>
<Para>
We will use <ProductName>Postgres</ProductName>
to mean the version distributed as <ProductName>PostgreSQL</ProductName>.
</Para>
<Para>
Check the Administrator's Guide for a list of currently supported machines.
In general,
<ProductName>Postgres</ProductName> is portable to any Unix/Posix-compatible system
with full libc library support.
</Para>
</Sect1>
......@@ -66,6 +66,7 @@ SELECT name, altitude
|Mariposa | 1953 |
+----------+----------+
</ProgramListing>
</Para>
<Para>
On the other hand, to find the names of all cities,
......@@ -111,6 +112,7 @@ SELECT c.name, c.altitude
sub-values that can be accessed from the query
language. For example, you can create attributes that
are arrays of base types.
</Para>
<Sect2>
<Title>Arrays</Title>
......@@ -210,7 +212,7 @@ SELECT SAL_EMP.schedule[1:2][1:1]
+-------------------+
</ProgramListing>
</Para>
</sect2>
</Sect1>
<Sect1>
......@@ -286,6 +288,7 @@ On UNIX systems, this is always midnight, January 1, 1970 GMT.
|Mariposa | 1320 |
+---------+------------+
</ProgramListing>
</Para>
<Para>
The default beginning of a time range is the earliest
......@@ -293,6 +296,7 @@ On UNIX systems, this is always midnight, January 1, 1970 GMT.
the current time; thus, the above time range can be
abbreviated as ``[,].''
</Para>
</sect1>
<Sect1>
<Title>More Advanced Features</Title>
......@@ -301,5 +305,7 @@ On UNIX systems, this is always midnight, January 1, 1970 GMT.
<ProductName>Postgres</ProductName> has many features not touched upon in this
tutorial introduction, which has been oriented toward newer users of <Acronym>SQL</Acronym>.
These are discussed in more detail in both the User's and Programmer's Guides.
</Para>
</sect1>
</Chapter>
......@@ -30,6 +30,7 @@
</Para>
</ListItem>
</ItemizedList>
</Para>
<Para>
A single <Application>postmaster</Application> manages a given collection of
......@@ -76,5 +77,5 @@
case, all files relating to a database should belong to
this <ProductName>Postgres</ProductName> superuser.
</Para>
</sect1>
</Chapter>
......@@ -30,7 +30,7 @@
</Para>
</ListItem>
</ItemizedList>
</para>
<Para>
A single <Application>postmaster</Application> manages a given collection of
databases on a single host. Such a collection of
......@@ -79,5 +79,5 @@ Furthermore, the <ProductName>Postgres</ProductName> superuser should
case, all files relating to a database should belong to
this <ProductName>Postgres</ProductName> superuser.
</Para>
</sect1>
</Chapter>
......@@ -12,6 +12,7 @@
In database jargon, <ProductName>Postgres</ProductName> uses a simple "process
per-user" client/server model. A <ProductName>Postgres</ProductName> session
consists of the following cooperating UNIX processes (programs):
</Para>
<ItemizedList>
<ListItem>
......@@ -53,6 +54,7 @@
<Application>postmaster</Application>. Hence, the <Application>postmaster</Application> is always running, waiting
for requests, whereas frontend and backend processes
come and go.
</Para>
<Para>
The <FileName>libpq</FileName> library allows a single
......@@ -69,6 +71,7 @@
machine may not be accessible (or may only be accessed
using a different filename) on the database server
machine.
</Para>
<Para>
You should also be aware that the <Application>postmaster</Application> and
......@@ -81,5 +84,5 @@
case, all files relating to a database should belong to
this <ProductName>Postgres</ProductName> superuser.
</Para>
</sect1>
</Chapter>
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.1 1998/08/15 06:49:33 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/bki.sgml,v 1.2 1998/12/29 02:24:13 thomas Exp $
Transcribed from the original bki.man.5 documentation
- Thomas Lockhart 1998-08-03
......@@ -28,12 +28,14 @@ takes as input <productname>Postgres</productname> source files that double as
<application>genbki</application>
input that builds tables and C header files that describe those
tables.
</para>
<para>
Related information may be found in documentation for
<application>initdb</application>,
<application>createdb</application>,
and the <acronym>SQL</acronym> command <command>CREATE DATABASE</command>.
</para>
<sect1>
<title><acronym>BKI</acronym> File Format</title>
......@@ -44,6 +46,7 @@ description will be easier to understand if the <filename>global1.bki.source</fi
at hand as an example. (As explained above, this .source file isn't quite
a <acronym>BKI</acronym> file, but you'll be able to guess what the resulting <acronym>BKI</acronym> file would be
anyway).
</para>
<para>
Commands are composed of a command name followed by space separated
......@@ -56,6 +59,7 @@ value. Otherwise, the characters following the <quote>$</quote> are
interpreted as the name of a macro causing the argument to be replaced
with the macro's value. It is an error for this macro to be
undefined.
</para>
<para>
Macros are defined using
......@@ -67,10 +71,13 @@ and are undefined using
undefine macro macro_name
</programlisting>
and redefined using the same syntax as define.
</para>
<para>
Lists of general commands and macro commands
follow.
</para>
</sect1>
<sect1>
<title>General Commands</title>
......@@ -85,6 +92,9 @@ OPEN <replaceable class="parameter">classname</replaceable>
Open the class called
<replaceable class="parameter">classname</replaceable>
for further manipulation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -99,6 +109,9 @@ It is an error if
is not already opened. If no
<replaceable class="parameter">classname</replaceable>
is given, then the currently open class is closed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -107,6 +120,9 @@ PRINT
<listitem>
<para>
Print the currently open class.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -123,6 +139,9 @@ for its OID. If
<replaceable class="parameter">oid_value</replaceable>
is not <quote>0</quote>, then this value will be used as the instance's
object identifier. Otherwise, it is an error.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -131,6 +150,9 @@ INSERT (<replaceable class="parameter">value1</replaceable> <replaceable class="
<listitem>
<para>
As above, but the system generates a unique object identifier.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -141,6 +163,9 @@ CREATE <replaceable class="parameter">classname</replaceable> (<replaceable clas
Create a class named
<replaceable class="parameter">classname</replaceable>
with the attributes given in parentheses.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -152,6 +177,9 @@ Open a class named
<replaceable class="parameter">classname</replaceable>
for writing but do not record its existence in the system catalogs.
(This is primarily to aid in bootstrapping.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -161,6 +189,9 @@ DESTROY <replaceable class="parameter">classname</replaceable>
<para>
Destroy the class named
<replaceable class="parameter">classname</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -182,14 +213,18 @@ etc., and the operator collections to use are
<replaceable class="parameter">collection_1</replaceable>,
<replaceable class="parameter">collection_2</replaceable>
etc., respectively.
</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>
This last sentence doesn't reference anything in the example. Should be changed to make sense. - Thomas 1998-08-04
</para>
</note>
</sect1>
<sect1>
<title>Macro Commands</title>
......@@ -211,6 +246,9 @@ computed from the execution
with the arguments
<replaceable class="parameter">args</replaceable>
declared in a C-like manner.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -223,9 +261,13 @@ Define a macro named
which has its value
read from the file called
<replaceable class="parameter">filename</replaceable>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1>
<title>Debugging Commands</title>
......@@ -234,6 +276,7 @@ read from the file called
<note>
<para>
This section on debugging commands was commented-out in the original documentation. Thomas 1998-08-05
</para>
</note>
<variablelist>
......@@ -244,6 +287,9 @@ r
<listitem>
<para>
Randomly print the open class.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -252,6 +298,9 @@ m -1
<listitem>
<para>
Toggle display of time information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -260,6 +309,9 @@ m 0
<listitem>
<para>
Set retrievals to now.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -268,6 +320,9 @@ m 1 Jan 1 01:00:00 1988
<listitem>
<para>
Set retrievals to snapshots of the specfied time.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -278,6 +333,9 @@ m 2 Jan 1 01:00:00 1988, Feb 1 01:00:00 1988
Set retrievals to ranges of the specified times.
Either time may be replaced with space
if an unbounded time range is desired.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -296,6 +354,9 @@ types
<replaceable class="parameter">type2</replaceable>,
etc. to the class
<replaceable class="parameter">classname</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -307,6 +368,9 @@ Rename the
<replaceable class="parameter">oldclassname</replaceable>
class to
<replaceable class="parameter">newclassname</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -323,9 +387,12 @@ attribute in the class named
<replaceable class="parameter">classname</replaceable>
to
<replaceable class="parameter">newattname</replaceable>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1>
<title>Example</title>
......@@ -344,5 +411,6 @@ insert oid=421 (int_ops)
print
close pg_opclass
</programlisting>
</para>
</sect1>
</chapter>
......@@ -17,6 +17,7 @@
Contributed by <ULink url="mailto:geek+@cmu.edu">Brian Gallew</ULink>
</Para>
</Note>
</para>
<Para>
Configuring gcc to use certain flags by default is a simple matter of
......@@ -28,6 +29,7 @@ sections, each of which is three lines long. The first line is
"*<Replaceable>section_name</Replaceable>:" (e.g. "*asm:").
The second line is a list of flags,
and the third line is blank.
</para>
<Para>
The easiest change to make is to append
......@@ -64,10 +66,12 @@ box lying around, I'd have to make it look like this:
</ProgramListing>
This will always omit frame pointers, any will build 486-optimized
code unless -m386 is specified on the command line.
</para>
<Para>
You can actually do quite a lot of customization with the specs file.
Always remember, however, that these changes are global, and affect
all users of the system.
</para>
</Chapter>
This diff is collapsed.
......@@ -24,21 +24,28 @@ Here is a brief, incomplete summary:
Views and rules are now functional thanks to extensive new code in the
rewrite rules system from Jan Wieck. He also wrote a chapter on it
for the <citetitle>Programmer's Guide</citetitle>.
</para>
</listitem>
<listitem>
<para>
Jan also contributed a second procedural language, PL/pgSQL, to go with the
original PL/pgTCL procedural language he contributed last release.
</para>
</listitem>
<listitem>
<para>
We have optional multiple-byte character set support from Tatsuo Iishi
to complement our existing locale support.
</para>
</listitem>
<listitem>
<para>
Client/server communications has been cleaned up, with better support for
asynchronous messages and interrupts thanks to Tom Lane.
</para>
</listitem>
<listitem>
<para>
......@@ -48,6 +55,8 @@ with target columns. This uses a generic mechanism which supports
the type extensibility features of <productname>Postgres</productname>.
There is a new chapter in the <citetitle>User's Guide</citetitle>
which covers this topic.
</para>
</listitem>
<listitem>
<para>
......@@ -58,20 +67,26 @@ type available on some platforms. See the chapter on data types
in the <citetitle>User's Guide</citetitle> for details.
A fourth type, <type>serial</type>, is now supported by the parser as an
amalgam of the <type>int4</type> type, a sequence, and a unique index.
</para>
</listitem>
<listitem>
<para>
Several more <acronym>SQL92</acronym>-compatible syntax features have been
added, including <command>INSERT DEFAULT VALUES</command>
</para>
</listitem>
<listitem>
<para>
The automatic configuration and installation system has received some
attention, and should be more robust for more platforms than it has ever
been.
</para>
</listitem>
</itemizedlist>
</para>
<sect2>
<title>Migration to v6.4</title>
......@@ -81,8 +96,8 @@ A dump/restore using <application>pg_dump</application>
or <application>pg_dumpall</application>
is required for those wishing to migrate data from any
previous release of <productname>Postgres</productname>.
</para>
</sect2>
<sect2>
<title>Detailed Change List</title>
......@@ -282,6 +297,6 @@ configure uses supplied install-sh if no install script found(Tom)
new Makefile.shlib for shared library configuration(Tom)
</programlisting>
</Para>
</sect2>
</Sect1>
......@@ -33,8 +33,10 @@ mechanism. On the other hand, the object file must be
postprocessed a bit before it can be loaded into <ProductName>Postgres</ProductName>. We
hope that the large increase in speed and reliability will
make up for the slight decrease in convenience.
<Para>
</para>
</Tip>
</para>
<para>
You should expect to read (and reread, and re-reread) the
manual pages for the C compiler, cc(1), and the link
editor, ld(1), if you have specific questions. In
......@@ -120,6 +122,7 @@ The GNU C compiler usually does not provide the special
</Para>
</ListItem>
</ItemizedList>
</para>
<Sect1>
<Title><Acronym>ULTRIX</Acronym></Title>
......
This diff is collapsed.
This diff is collapsed.
......@@ -243,8 +243,10 @@ interchangably.
and will be described in depth (in the section
on interfacing types and operators to indices)
after we have discussed basic extensions.
</para>
</ListItem>
</ItemizedList>
</Para>
</sect1>
</Chapter>
......@@ -63,6 +63,7 @@ available through operators and may be documented as operators only.
</TGROUP>
</TABLE>
</Para>
</sect1>
<sect1>
<title>String Functions</title>
......@@ -230,6 +231,7 @@ Some are used internally to implement the SQL92 string functions listed above.
<para>
Most functions explicitly defined for text will work for char() and varchar() arguments.
</para>
</sect1>
<sect1>
<title>Date/Time Functions</title>
......@@ -345,6 +347,7 @@ as well as the more specialized quantities
to return day of week and `epoch' to return seconds since 1970 (for <Type>datetime</Type>)
or 'epoch' to return total elapsed seconds (for <Type>timespan</Type>).
</Para>
</sect1>
<sect1>
<title>Geometric Functions</title>
......@@ -623,6 +626,7 @@ support functions.
</TGROUP>
</TABLE>
</Para>
</sect1>
<sect1>
<title id="cidr-funcs">IP V4 Functions</title>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/geqo.sgml,v 1.4 1998/08/15 06:55:05 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/geqo.sgml,v 1.5 1998/12/29 02:24:15 thomas Exp $
Genetic Optimizer
$Log: geqo.sgml,v $
Revision 1.5 1998/12/29 02:24:15 thomas
Clean up to ensure tag completion as required by the newest versions
of Norm's Modular Style Sheets and jade/docbook.
From Vince Vielhaber <vev@michvhf.com>.
Revision 1.4 1998/08/15 06:55:05 thomas
Change Id field in chapter tag to change html output file name.
......@@ -43,6 +48,7 @@ Written by <ULink url="utesch@aut.tu-freiberg.de">Martin Utesch</ULink>
for the Institute of Automatic Control at the University of Mining and Technology in Freiberg, Germany.
</Para>
</Note>
</para>
<Sect1>
<Title>Query Handling as a Complex Optimization Problem</Title>
......@@ -55,6 +61,7 @@ optimization effort is caused by the support of a variety of <FirstTerm>join met
(e.g., nested loop, index scan, merge join in <ProductName>Postgres</ProductName>) to
process individual <Command>join</Command>s and a diversity of <FirstTerm>indices</FirstTerm> (e.g., r-tree,
b-tree, hash in <ProductName>Postgres</ProductName>) as access paths for relations.
</para>
<Para>
The current <ProductName>Postgres</ProductName> optimizer implementation performs a <FirstTerm>near-
......@@ -62,6 +69,7 @@ exhaustive search</FirstTerm> over the space of alternative strategies. This que
optimization technique is inadequate to support database application
domains that involve the need for extensive queries, such as artificial
intelligence.
</para>
<Para>
The Institute of Automatic Control at the University of Mining and
......@@ -70,15 +78,18 @@ folks wanted to take the <ProductName>Postgres</ProductName> DBMS as the backend
support knowledge based system for the maintenance of an electrical
power grid. The DBMS needed to handle large <Command>join</Command> queries for the
inference machine of the knowledge based system.
</para>
<Para>
Performance difficulties within exploring the space of possible query
plans arose the demand for a new optimization technique being developed.
</para>
<Para>
In the following we propose the implementation of a <FirstTerm>Genetic Algorithm</FirstTerm>
as an option for the database query optimization problem.
</para>
</sect1>
<Sect1>
<Title>Genetic Algorithms (<Acronym>GA</Acronym>)</Title>
......@@ -89,6 +100,7 @@ determined, randomized search. The set of possible solutions for the
optimization problem is considered as a <FirstTerm>population</FirstTerm> of <FirstTerm>individuals</FirstTerm>.
The degree of adaption of an individual to its environment is specified
by its <FirstTerm>fitness</FirstTerm>.
</para>
<Para>
The coordinates of an individual in the search space are represented
......@@ -96,11 +108,13 @@ by <FirstTerm>chromosomes</FirstTerm>, in essence a set of character strings. A
subsection of a chromosome which encodes the value of a single parameter
being optimized. Typical encodings for a gene could be <FirstTerm>binary</FirstTerm> or
<FirstTerm>integer</FirstTerm>.
</para>
<Para>
Through simulation of the evolutionary operations <FirstTerm>recombination</FirstTerm>,
<FirstTerm>mutation</FirstTerm>, and <FirstTerm>selection</FirstTerm> new generations of search points are found
that show a higher average fitness than their ancestors.
</para>
<Para>
According to the "comp.ai.genetic" <Acronym>FAQ</Acronym> it cannot be stressed too
......@@ -137,6 +151,8 @@ P''(t) generation of descendants at a time t
| | t := t + 1 |
+===+=====================================+
</ProgramListing>
</para>
</sect1>
<Sect1>
<Title>Genetic Query Optimization (<Acronym>GEQO</Acronym>) in Postgres</Title>
......@@ -156,10 +172,12 @@ E. g., the query tree
is encoded by the integer string '4-1-3-2',
which means, first join relation '4' and '1', then '3', and
then '2', where 1, 2, 3, 4 are relids in <ProductName>Postgres</ProductName>.
</para>
<Para>
Parts of the <Acronym>GEQO</Acronym> module are adapted from D. Whitley's Genitor
algorithm.
</para>
<Para>
Specific characteristics of the <Acronym>GEQO</Acronym> implementation in <ProductName>Postgres</ProductName>
......@@ -189,6 +207,7 @@ Mutation as genetic operator is deprecated so that no repair
</Para>
</ListItem>
</ItemizedList>
</para>
<Para>
The <Acronym>GEQO</Acronym> module gives the following benefits to the <ProductName>Postgres</ProductName> DBMS
......@@ -209,6 +228,7 @@ Improved cost size approximation of query plans since no longer
</Para>
</ListItem>
</ItemizedList>
</para>
</Sect1>
......@@ -231,6 +251,8 @@ Debugging showed that it get stucked in a loop of routine
<Function>OrderedElemPop</Function>, file <FileName>backend/utils/mmgr/oset.c</FileName>.
The same problems arise with long queries when using the normal
<ProductName>Postgres</ProductName> query optimization algorithm.
</para>
</sect3>
<Sect3>
<Title>Improve genetic algorithm parameter settings</Title>
......@@ -252,6 +274,8 @@ Computing time
</Para>
</ListItem>
</ItemizedList>
</para>
</sect3>
<Sect3>
<Title>Find better solution for integer overflow</Title>
......@@ -263,6 +287,8 @@ the present hack for MAXINT overflow is to set the <ProductName>Postgres</Produc
value of <StructField>rel->size</StructField> to its logarithm.
Modifications of <StructName>Rel</StructName> in <FileName>backend/nodes/relation.h</FileName> will
surely have severe impacts on the whole <ProductName>Postgres</ProductName> implementation.
</para>
</sect3>
<Sect3>
<Title>Find solution for exhausted memory</Title>
......@@ -275,7 +301,9 @@ Maybe I forgot something to be freed correctly, but I dunno what.
Of course the <StructName>rel</StructName> data structure of the <Command>join</Command> keeps growing and
growing the more relations are packed into it.
Suggestions are welcome :-(
</para>
</sect3>
</sect2>
<Sect2>
<Title>Further Improvements</Title>
......@@ -283,6 +311,7 @@ Suggestions are welcome :-(
<Para>
Enable bushy query tree processing within <ProductName>Postgres</ProductName>;
that may improve the quality of query plans.
</para>
<BIBLIOGRAPHY Id="geqo-biblio">
<TITLE>
......@@ -365,4 +394,6 @@ The Benjamin/Cummings Pub., Inc.
</BIBLIOENTRY>
</BIBLIOGRAPHY>
</sect2>
</sect1>
</Chapter>
......@@ -19,7 +19,7 @@ with more on different indexing and sorting schemes at
And there is more interesting reading at the Berkely database site at
<ULink url="http://epoch.cs.berkeley.edu:8000/">http://epoch.cs.berkeley.edu:8000/</ULink>.
</para>
<Para>
<Note>
......@@ -32,12 +32,12 @@ on GiST. Hopefully we will learn more in the future and update this information.
- thomas 1998-03-01
</Para>
</Note>
</para>
<Para>
Well, I can't say I quite understand what's going on, but at least
I (almost) succeeded in porting GiST examples to linux. The GiST access
method is already in the postgres tree (<FileName>src/backend/access/gist</FileName>).
</para>
<Para>
<ULink url="ftp://s2k-ftp.cs.berkeley.edu/pub/gist/pggist/pggist.tgz">Examples at Berkeley</ULink>
come with an overview of the methods and demonstrate spatial index
......@@ -56,7 +56,7 @@ ERROR: cannot open pix
(PostgreSQL 6.3 Sun Feb 1 14:57:30 EST 1998)
</ProgramListing>
</para>
<Para>
I could not get sense of this error message; it appears to be something
we'd rather ask the developers about (see also Note 4 below). What I
......@@ -64,28 +64,28 @@ would suggest here is that someone of you linux guys (linux==gcc?) fetch the
original sources quoted above and apply my patch (see attachment) and
tell us what you feel about it. Looks cool to me, but I would not like
to hold it up while there are so many competent people around.
</para>
<Para>
A few notes on the sources:
</para>
<Para>
1. I failed to make use of the original (HPUX) Makefile and rearranged
the Makefile from the ancient postgres95 tutorial to do the job. I tried
to keep it generic, but I am a very poor makefile writer -- just did
some monkey work. Sorry about that, but I guess it is now a little
more portable that the original makefile.
</para>
<Para>
2. I built the example sources right under pgsql/src (just extracted the
tar file there). The aforementioned Makefile assumes it is one level
below pgsql/src (in our case, in pgsql/src/pggist).
</para>
<Para>
3. The changes I made to the *.c files were all about #include's,
function prototypes and typecasting. Other than that, I just threw
away a bunch of unused vars and added a couple parentheses to please
gcc. I hope I did not screw up too much :)
</para>
<Para>
4. There is a comment in polyproc.sql:
......@@ -98,11 +98,11 @@ A few notes on the sources:
<ProductName>Postgres</ProductName> versions
back and tried the query. My system went nuts and I had to shoot down
the postmaster in about ten minutes.
</para>
<Para>
I will continue to look into GiST for a while, but I would also
appreciate
more examples of R-tree usage.
</para>
</Chapter>
......@@ -170,6 +170,7 @@ At the same time, the version numbering
was reset to start at 6.0,
putting the numbers back into the sequence originally begun by
the <ProductName>Postgres</ProductName> Project.
</Para>
<Para>
The emphasis on development for the v1.0.x releases of
......@@ -180,9 +181,11 @@ the emphasis has shifted from
identifying and understanding existing problems in the backend
to augmenting features and capabilities, although
work continues in all areas.
</Para>
<Para>
Major enhancements include:
</Para>
<ItemizedList>
<ListItem>
......@@ -203,6 +206,7 @@ type casting, and binary and hexadecimal integer input.
Built-in types have been improved, including new wide-range date/time types
and additional geometric type support.
</Para>
</ListItem>
<ListItem>
<Para>
......@@ -211,7 +215,6 @@ and backend startup time has decreased 80% since v6.0 was released.
</Para>
</ListItem>
</ItemizedList>
</Para>
</Sect2>
</sect1>
......@@ -3,6 +3,7 @@
<Para>
This manual set is organized into several parts:
</Para>
<VariableList>
<VarListEntry>
......@@ -69,6 +70,7 @@ Currently included in the <citetitle>User's Guide</citetitle>.
<Para>
In addition to this manual set, there are other resources to help you with
<ProductName>Postgres</ProductName> installation and use:
</Para>
<VariableList>
<VarListEntry>
......
......@@ -51,6 +51,7 @@ SELECT name, altitude
|Mariposa | 1953 |
+----------+----------+
</ProgramListing>
</para>
<Para>
On the other hand, to find the names of all cities,
......
This diff is collapsed.
......@@ -65,6 +65,7 @@ are not as well suited to supporting the traditional relational database languag
So, although <ProductName>Postgres</ProductName> has some object-oriented features,
it is firmly in the relational database world. In fact, some commercial databases
have recently incorporated features pioneered by <ProductName>Postgres</ProductName>.
</Para>
</Sect1>
......
This diff is collapsed.
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/keys.sgml,v 1.2 1998/08/17 16:18:13 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/keys.sgml,v 1.3 1998/12/29 02:24:16 thomas Exp $
Indices and Keys
$Log: keys.sgml,v $
Revision 1.3 1998/12/29 02:24:16 thomas
Clean up to ensure tag completion as required by the newest versions
of Norm's Modular Style Sheets and jade/docbook.
From Vince Vielhaber <vev@michvhf.com>.
Revision 1.2 1998/08/17 16:18:13 thomas
Small sentence cleanups. Add tags for acronyms and products.
......@@ -110,6 +115,8 @@ Should not allow NULLs.
</Para>
</ListItem>
</itemizedlist>
</para>
</listitem>
<ListItem>
<Para>
......@@ -131,7 +138,10 @@ NULLs are acceptable.
</Para>
</ListItem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
<Para>
As for why no non-unique keys are defined explicitly in standard <acronym>SQL</acronym> syntax?
......
......@@ -5,6 +5,7 @@
<ProductName>PostgreSQL</ProductName> is copyright (C) 1996-8
by the PostgreSQL Global Development Group,
and is distributed under the terms of the Berkeley license.
</Para>
<Para>
<ProductName>Postgres95</ProductName> is copyright (C) 1994-5
......@@ -38,3 +39,5 @@ Equipment Corp. PA-RISC and HP-UX are trademarks of
Hewlett-Packard Co. OSF/1 is a trademark of the Open
Software Foundation.
</Para>
</Sect1>
......@@ -281,6 +281,7 @@ Handles start with the prefix "pgsql".
</TITLE>
<PARA><FUNCTION>pg_connect</FUNCTION> opens a connection to the
<ProductName>Postgres</ProductName> backend.
</Para>
<para>
Two syntaxes are available. In the older one, each possible option
......@@ -421,8 +422,10 @@ None.
The result is a list describing the possible connection options and their
current default values.
Each entry in the list is a sublist of the format:
</Para>
<para>
{optname label dispchar dispsize value}
</Para>
<Para>
where the optname is usable as an option in
<FUNCTION>pg_connect -conninfo</FUNCTION>.
......@@ -540,6 +543,7 @@ to obtain the results of the query.
Query result handles start with the connection handle and add a period
and a result number.
</Para>
<PARA>
Note that lack of a Tcl error is not proof that the query succeeded!
......@@ -548,6 +552,7 @@ as a query result with failure status, not by generating a Tcl error
in pg_exec.
</PARA>
</REFSECT1>
</refentry>
<REFENTRY ID="PGTCL-PGRESULT">
<REFMETA>
......@@ -765,6 +770,7 @@ The result depends on the selected option, as described above.
<PARA>
<FUNCTION>pg_result</FUNCTION> returns information about a query result
created by a prior <FUNCTION>pg_exec</FUNCTION>.
</Para>
<para>
You can keep a query result around for as long as you need it, but when
......@@ -1012,6 +1018,7 @@ The command string is executed from the Tcl idle loop. That is the normal
idle state of an application written with Tk. In non-Tk Tcl shells, you can
execute <FUNCTION>update</FUNCTION> or <FUNCTION>vwait</FUNCTION> to cause
the idle loop to be entered.
</Para>
<para>
You should not invoke the SQL statements LISTEN or UNLISTEN directly when
......
......@@ -24,6 +24,7 @@ following directories:
../src/test/examples
../src/bin/psql
</ProgramListing>
</Para>
<Para>
Frontend programs which use <FileName>libpq</FileName> must include the
......@@ -317,6 +318,7 @@ char *PQoptions(PGconn *conn)
<synopsis>
ConnStatusType *PQstatus(PGconn *conn)
</synopsis>
</Para>
<Para>
A failed connection attempt is signaled by status CONNECTION_BAD.
......@@ -324,6 +326,7 @@ Ordinarily, an OK status will remain so until PQfinish, but a
communications failure might result in the status changing to
CONNECTION_BAD prematurely. In that case the application could
try to recover by calling PQreset.
</Para>
</ListItem>
<ListItem>
......@@ -334,11 +337,13 @@ try to recover by calling PQreset.
<synopsis>
char *PQerrorMessage(PGconn* conn);
</synopsis>
</Para>
<Para>
Nearly all libpq functions will set PQerrorMessage if they fail.
Note that by libpq convention, a non-empty PQerrorMessage will
include a trailing newline.
</Para>
</ListItem>
<ListItem>
......@@ -499,9 +504,11 @@ char *PQfname(PGresult *res,
int PQfnumber(PGresult *res,
char* field_name);
</synopsis>
</Para>
<Para>
-1 is returned if the given name does not match any field.
</Para>
</ListItem>
<ListItem>
......@@ -752,7 +759,6 @@ as with a PGresult returned by libpq itself.
The PQexec function is adequate for submitting queries in simple synchronous
applications. It has a couple of major deficiencies however:
<Para>
<ItemizedList>
<ListItem>
<Para>
......@@ -783,7 +789,6 @@ Applications that do not like these limitations can instead use the
underlying functions that PQexec is built from: PQsendQuery and
PQgetResult.
<Para>
<ItemizedList>
<ListItem>
<Para>
......@@ -837,7 +842,6 @@ still cause the frontend to block until the backend completes the
next SQL command. This can be avoided by proper use of three more
functions:
<Para>
<ItemizedList>
<ListItem>
<Para>
......@@ -908,10 +912,12 @@ to read the input. It can then call PQisBusy, followed by PQgetResult
if PQisBusy returns FALSE. It can also call PQnotifies to detect NOTIFY
messages (see "Asynchronous Notification", below). An example is given
in the sample programs section.
</Para>
<Para>
A frontend that uses PQsendQuery/PQgetResult can also attempt to cancel
a query that is still being processed by the backend.
</Para>
<Para>
<ItemizedList>
......@@ -941,6 +947,7 @@ int PQrequestCancel(PGconn *conn);
<Para>
Note that if the current query is part of a transaction, cancellation
will abort the whole transaction.
</Para>
<Para>
PQrequestCancel can safely be invoked from a signal handler. So, it is
......@@ -950,6 +957,7 @@ PQrequestCancel from a SIGINT signal handler, thus allowing interactive
cancellation of queries that it issues through PQexec. Note that
PQrequestCancel will have no effect if the connection is not currently open
or the backend is not currently processing a query.
</Para>
</Sect1>
......@@ -961,7 +969,6 @@ or the backend is not currently processing a query.
function calls to the backend. This is a trapdoor into system internals and
can be a potential security hole. Most users will not need this feature.
<Para>
<ItemizedList>
<ListItem>
<Para>
......@@ -1023,13 +1030,13 @@ passed from the notifier to the listener. Thus, typically, any actual data
that needs to be communicated is transferred through a database relation.
Commonly the condition name is the same as the associated relation, but it is
not necessary for there to be any associated relation.
</Para>
<Para>
<FileName>libpq</FileName> applications submit LISTEN and UNLISTEN
commands as ordinary SQL queries. Subsequently, arrival of NOTIFY
messages can be detected by calling PQnotifies().
<Para>
<ItemizedList>
<ListItem>
<Para>
......@@ -1062,6 +1069,7 @@ typedef struct pgNotify
<Para>
The second sample program gives an example of the use
of asynchronous notification.
</Para>
<Para>
PQnotifies() does not actually read backend data; it just returns messages
......@@ -1216,6 +1224,7 @@ specified directly.
<synopsis>
int PQendcopy(PGconn *conn);
</synopsis>
</Para>
<Para>
As an example:
......@@ -1318,10 +1327,12 @@ defaultNoticeProcessor(void * arg, const char * message)
fprintf(stderr, "%s", message);
}
</ProgramListing>
</Para>
<Para>
To use a special notice processor, call <function>PQsetNoticeProcessor</function> just after
creation of a new PGconn object.
</Para>
</Sect1>
......@@ -1951,7 +1962,7 @@ main()
}
</ProgramListing>
<Para>
</Para>
</Sect2>
</Sect1>
......
......@@ -200,6 +200,7 @@ int lo_close(PGconn *conn, int fd)
lo_open. On success, <Acronym>lo_close</Acronym> returns zero. On error,
the return value is negative.
</Para>
</sect2>
</Sect1>
<Sect1>
......
......@@ -82,6 +82,7 @@ It is possible to create a database in a location other than the default
location for the installation. Remember that all database access actually
occurs through the database backend, so that any location specified must
be accessible by the backend.
</Para>
<Para>
Alternate database locations are created and referenced by an environment variable
......@@ -94,6 +95,7 @@ Any valid environment variable name may be used to reference an alternate locati
although using variable names with a prefix of <quote>PGDATA</quote> is recommended
to avoid confusion
and conflict with other variables.
</Para>
<Note>
<Para>
......@@ -112,10 +114,12 @@ The administrator's guide discusses how to enable this feature.
For security and integrity reasons,
any path or environment variable specified has some
additional path fields appended.
</Para>
<Para>
Alternate database locations must be prepared by running
<Application>initlocation</Application>.
</Para>
<Para>
To create a data storage area using the environment variable
......@@ -128,9 +132,10 @@ Then, from the command line, type
Creating Postgres database system directory /alt/postgres/data
Creating Postgres database system directory /alt/postgres/data/base
</ProgramListing>
</Para>
<Para>
To create a database in the alternate storage area <envar>PGDATA2<envar>
To create a database in the alternate storage area <envar>PGDATA2</envar>
from the command line, use the following command:
<ProgramListing>
% createdb -D PGDATA2 mydb
......@@ -161,6 +166,7 @@ the following:
ERROR: Unable to create database directory /alt/postgres/data/base/mydb
createdb: database creation failed on mydb.
</ProgramListing>
</Para>
</Sect1>
......@@ -260,6 +266,7 @@ mydb=> \q
<Title>Database Privileges</Title>
<Para>
</para>
</Sect2>
<Sect2>
......
......@@ -11,6 +11,7 @@ Since it is possible to install more than one set of
databases on a single host, this term more precisely denotes any
particular set of installed
<Productname>Postgres</Productname> binaries and databases.
</para>
<para>
The
......@@ -27,6 +28,7 @@ Note that the <Productname>Postgres</Productname> superuser is
the same as the Unix superuser (which will be referred to as <firstterm>root</firstterm>).
The superuser should have a non-zero user identifier (<firstterm>UID</firstterm>)
for security reasons.
</para>
<para>
The
......@@ -37,6 +39,7 @@ enforce a security policy for a site. The DBA can add new users by
the method described below
and maintain a set of template databases for use by
<application>createdb</application>.
</para>
<para>
The <application>postmaster</application>
......@@ -48,6 +51,7 @@ backend processes. The <application>postmaster</application>
can take several command-line arguments to tune its behavior.
However, supplying arguments is necessary only if you intend to run multiple
sites or a non-default site.
</para>
<para>
The <Productname>Postgres</Productname> backend
......@@ -58,6 +62,8 @@ directly from the user shell by the
doing this bypasses the shared buffer pool and lock table associated
with a postmaster/site, therefore this is not recommended in a multiuser
site.
</para>
</sect1>
<sect1>
<title>Notation</title>
......@@ -66,6 +72,7 @@ site.
<quote>...</quote> or <filename>/usr/local/pgsql/</filename>
at the front of a file name is used to represent the
path to the <Productname>Postgres</Productname> superuser's home directory.
</para>
<para>
In a command synopsis, brackets
......@@ -73,10 +80,12 @@ In a command synopsis, brackets
Anything in braces
(<quote>{</quote> and <quote>}</quote>) and containing vertical bars (<quote>|</quote>)
indicates that you must choose one.
</para>
<para>
In examples, parentheses (<quote>(</quote> and <quote>)</quote>) are used to group boolean
expressions. <quote>|</quote> is the boolean operator OR.
</para>
<para>
Examples will show commands executed from various accounts and programs.
......@@ -87,6 +96,7 @@ executed from an unprivileged user's account will be preceeded with
<quote>$</quote>.
<acronym>SQL</acronym> commands will be preceeded with <quote>=&gt;</quote>
or will have no leading prompt, depending on the context.
</para>
<note>
<para>
......@@ -94,6 +104,7 @@ At the time of writing (<Productname>Postgres</Productname> v6.4) the notation f
flagging commands is not universally consistant throughout the documentation set.
Please report problems to
<ulink url="mailto:docs@postgresql.org">the Documentation Mailing List</ulink>.
</para>
</note>
</sect1>
This diff is collapsed.
......@@ -15,6 +15,7 @@ These operators are declared in the system catalog
pg_operator. Every entry in pg_operator includes
the name of the procedure that implements the operator and the
class <Acronym>OIDs</Acronym> of the input and output types.
</Para>
<Para>
To view all variations of the <Quote>||</Quote> string concatenation operator,
......@@ -45,11 +46,12 @@ as:
<ProgramListing>
select * from emp where int4lt(salary, 40000);
</ProgramListing>
</Para>
<Para>
<Application>psql</Application>
has a command (<Command>\dd</Command>) to show these operators.
</Para>
<sect1>
<title>Lexical Precedence</title>
......@@ -70,180 +72,255 @@ Operator Ordering (decreasing precedence)
<row>
<entry>
Element
</entry>
<entry>
Precedence
</entry>
<entry>
Description
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
UNION
</entry>
<entry>
left
</entry>
<entry>
SQL select construct
</entry>
</row>
<row>
<entry>
::
</entry>
<entry>
</entry>
<entry>
<productname>Postgres</productname> typecasting
</entry>
</row>
<row>
<entry>
[ ]
</entry>
<entry>
left
</entry>
<entry>
array delimiters
</entry>
</row>
<row>
<entry>
.
</entry>
<entry>
left
</entry>
<entry>
table/column delimiter
</entry>
</row>
<row>
<entry>
-
</entry>
<entry>
right
</entry>
<entry>
unary minus
</entry>
</row>
<row>
<entry>
;
</entry>
<entry>
left
</entry>
<entry>
statement termination, logarithm
</entry>
</row>
<row>
<entry>
:
</entry>
<entry>
right
</entry>
<entry>
exponentiation
</entry>
</row>
<row>
<entry>
|
</entry>
<entry>
left
</entry>
<entry>
start of interval
</entry>
</row>
<row>
<entry>
* /
</entry>
<entry>
left
</entry>
<entry>
multiplication, division
</entry>
</row>
<row>
<entry>
+ -
</entry>
<entry>
left
</entry>
<entry>
addition, subtraction
</entry>
</row>
<row>
<entry>
IS
</entry>
<entry>
</entry>
<entry>
test for TRUE, FALSE, NULL
</entry>
</row>
<row>
<entry>
ISNULL
</entry>
<entry>
</entry>
<entry>
test for NULL
</entry>
</row>
<row>
<entry>
NOTNULL
</entry>
<entry>
</entry>
<entry>
test for NOT NULL
</entry>
</row>
<row>
<entry>
(all other operators)
</entry>
<entry>
</entry>
<entry>
native and user-defined
</entry>
</row>
<row>
<entry>
IN
</entry>
<entry>
</entry>
<entry>
set membership
</entry>
</row>
<row>
<entry>
BETWEEN
</entry>
<entry>
</entry>
<entry>
containment
</entry>
</row>
<row>
<entry>
LIKE
</entry>
<entry>
</entry>
<entry>
string pattern matching
</entry>
</row>
<row>
<entry>
&lt; &gt;
</entry>
<entry>
</entry>
<entry>
boolean inequality
</entry>
</row>
<row>
<entry>
=
</entry>
<entry>
right
</entry>
<entry>
equality
</entry>
</row>
<row>
<entry>
NOT
</entry>
<entry>
right
</entry>
<entry>
negation
</entry>
</row>
<row>
<entry>
AND
</entry>
<entry>
left
</entry>
<entry>
logical intersection
</entry>
</row>
<row>
<entry>
OR
</entry>
<entry>
left
</entry>
<entry>
logical union
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
<sect1>
<title>General Operators</title>
......@@ -251,7 +328,7 @@ logical union
<para>
The operators listed here are defined for a number of native data types,
ranging from numeric types to data/time types.
</para>
<Para>
<TABLE TOCENTRY="1">
<TITLE><ProductName>Postgres</ProductName> Operators</TITLE>
......@@ -339,6 +416,7 @@ ranging from numeric types to data/time types.
</TGROUP>
</TABLE>
</Para>
</sect1>
<sect1>
<title id="math-opers">Numerical Operators</title>
......@@ -430,6 +508,7 @@ ranging from numeric types to data/time types.
</TGROUP>
</TABLE>
</Para>
</sect1>
<sect1>
<title>Geometric Operators</title>
......@@ -571,6 +650,7 @@ ranging from numeric types to data/time types.
</TGROUP>
</TABLE>
</Para>
</sect1>
<sect1>
<title>Time Interval Operators</title>
......@@ -651,6 +731,7 @@ are several operators for this type.
</TGROUP>
</TABLE>
</Para>
</sect1>
<Sect1>
<title id="cidr-opers">IP V4 Operators</title>
......
......@@ -11,6 +11,7 @@ A description of the database file default page format.
<para>
This section provides an overview of the page format used by <productname>Postgres</productname>
classes. User-defined access methods need not use this page format.
</para>
<para>
In the following explanation, a
......@@ -18,6 +19,7 @@ In the following explanation, a
is assumed to contain 8 bits. In addition, the term
<firstterm>item</firstterm>
refers to data which is stored in <productname>Postgres</productname> classes.
</para>
<sect1>
<title>Page Structure</title>
......@@ -41,50 +43,73 @@ Description
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
itemPointerData
</entry>
</row>
<row>
<entry>
filler
</entry>
</row>
<row>
<entry>
itemData...
</entry>
</row>
<row>
<entry>
Unallocated Space
</entry>
</row>
<row>
<entry>
ItemContinuationData
</entry>
</row>
<row>
<entry>
Special Space
</entry>
</row>
<row>
<entry>
``ItemData 2''
</entry>
</row>
<row>
<entry>
``ItemData 1''
</entry>
</row>
<row>
<entry>
ItemIdData
</entry>
</row>
<row>
<entry>
PageHeaderData
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<!--
.\" Running
......@@ -121,6 +146,7 @@ the page. Page size is stored in each page because frames in the
buffer pool may be subdivided into equal sized pages on a frame by
frame basis within a class. The internal fragmentation information is
used to aid in determining when page reorganization should occur.
</para>
<para>
Following the page header are item identifiers
......@@ -134,6 +160,7 @@ created by <productname>Postgres</productname> consists of a frame number and an
identifier. An item identifier contains a byte-offset to the start of
an item, its length in bytes, and a set of attribute bits which affect
its interpretation.
</para>
<para>
The items themselves are stored in space allocated backwards from
......@@ -148,6 +175,8 @@ This structure contains
itemPointerData
which points to the next piece and the piece itself. The last piece
is handled normally.
</para>
</sect1>
<sect1>
<title>Files</title>
......@@ -161,6 +190,9 @@ is handled normally.
<listitem>
<para>
Location of shared (global) database files.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
......@@ -169,8 +201,13 @@ Location of shared (global) database files.
<listitem>
<para>
Location of local database files.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1>
<title>Bugs</title>
......@@ -178,9 +215,11 @@ Location of local database files.
<para>
The page format may change in the future to provide more efficient
access to large objects.
</para>
<para>
This section contains insufficient detail to be of any assistance in
writing a new access method.
</para>
</sect1>
</chapter>
......@@ -17,7 +17,7 @@
Contributed by <ULink url="mailto:dz@cs.unitn.it">Massimo Dal Zotto</ULink>
</Para>
</Note>
</para>
<Para>
The optional file <filename>data/pg_options</filename> contains runtime
options used by the backend to control trace messages and other backend
......@@ -32,7 +32,7 @@ parameters which can be used by the backend to control its behaviour.
New options and parameters must be defined in
<filename>backend/utils/misc/trace.c</filename> and
<filename>backend/include/utils/trace.h</filename>.
</para>
<Para>
For example suppose we want to add conditional trace messages and a tunable
numeric parameter to the code in file <filename>foo.c</filename>.
......@@ -78,7 +78,7 @@ foo_function(int x, int y)
}
}
</programlisting>
</para>
<para>
Existing files using private trace flags can be changed by simply adding
the following code:
......@@ -88,7 +88,7 @@ the following code:
/* int my_own_flag = 0; -- removed */
#define my_own_flag pg_options[OPT_MY_OWN_FLAG]
</programlisting>
</para>
<para>
All pg_options are initialized to zero at backend startup. If we need a
different default value we must add some initialization code at the beginning
......@@ -103,14 +103,14 @@ Now we can set the foo_param and enable foo trace by writing values into the
foo=1
fooparam=17
</programlisting>
</para>
<para>
The new options will be read by all new backends when they are started.
To make effective the changes for all running backends we need to send a
SIGHUP to the postmaster. The signal will be automatically sent to all the
backends. We can also activate the changes only for a specific backend by
sending the SIGHUP directly to it.
</para>
<para>
pg_options can also be specified with the <option>-T</option> switch of
<productname>Postgres</productname>:
......@@ -118,7 +118,7 @@ pg_options can also be specified with the <option>-T</option> switch of
<programlisting>
postgres <replaceable>options</replaceable> -T "verbose=2,query,hostlookup-"
</programlisting>
</para>
<Para>
The functions used for printing errors and debug messages can now make use
of the <citetitle>syslog(2)</citetitle> facility. Message printed to stdout
......@@ -135,13 +135,13 @@ or stderr are prefixed by a timestamp containing also the backend pid:
980127.19:52:14.413 [29286] Async_NotifyFrontEnd done
980127.19:52:14.466 [29286] Async_NotifyHandler done
</programlisting>
</para>
<para>
This format improves readability of the logs and allows people to understand
exactly which backend is doing what and at which time. It also makes
easier to write simple awk or perl scripts which monitor the log to
detect database errors or problem, or to compute transaction time statistics.
</para>
<para>
Messages printed to syslog use the log facility LOG_LOCAL0.
The use of syslog can be controlled with the syslog pg_option.
......@@ -207,313 +207,421 @@ The options currently defined in
<varlistentry>
<term>
all
</term>
<listitem>
<para>
Global trace flag. Allowed values are:
</para>
<variablelist>
<varlistentry>
<term>
0
</term>
<listitem>
<para>
Trace messages enabled individually
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
1
</term>
<listitem>
<para>
Enable all trace messages
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
-1
</term>
<listitem>
<para>
Disable all trace messages
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
verbose
</term>
<listitem>
<para>
Verbosity flag. Allowed values are:
</para>
<variablelist>
<varlistentry>
<term>
0
</term>
<listitem>
<para>
No messages. This is the default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
1
</term>
<listitem>
<para>
Print information messages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
2
</term>
<listitem>
<para>
Print more information messages.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
query
</term>
<listitem>
<para>
Query trace flag. Allowed values are:
</para>
<variablelist>
<varlistentry>
<term>
0
</term>
<listitem>
<para>
Don't print query.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
1
</term>
<listitem>
<para>
Print a condensed query in one line.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
4
</term>
<listitem>
<para>
Print the full query.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
plan
</term>
<listitem>
<para>
Print query plan.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
parse
</term>
<listitem>
<para>
Print parser output.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
rewritten
</term>
<listitem>
<para>
Print rewritten query.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
parserstats
</term>
<listitem>
<para>
Print parser statistics.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
plannerstats
</term>
<listitem>
<para>
Print planner statistics.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
executorstats
</term>
<listitem>
<para>
Print executor statistics.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
shortlocks
</term>
<listitem>
<para>
Currently unused but needed to enable features in the future.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
locks
</term>
<listitem>
<para>
Trace locks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
userlocks
</term>
<listitem>
<para>
Trace user locks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
spinlocks
</term>
<listitem>
<para>
Trace spin locks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
notify
</term>
<listitem>
<para>
Trace notify functions.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
malloc
</term>
<listitem>
<para>
Currently unused.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
palloc
</term>
<listitem>
<para>
Currently unused.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
lock_debug_oidmin
</term>
<listitem>
<para>
Minimum relation oid traced by locks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
lock_debug_relid
</term>
<listitem>
<para>
oid, if not zero, of relation traced by locks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
lock_read_priority
</term>
<listitem>
<para>
Currently unused.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
deadlock_timeout
</term>
<listitem>
<para>
Deadlock check timer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
syslog
</term>
<listitem>
<para>
syslog flag. Allowed values are:
</para>
<variablelist>
<varlistentry>
<term>
0
</term>
<listitem>
<para>
Messages to stdout/stderr.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
1
</term>
<listitem>
<para>
Messages to stdout/stderr and syslog.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
2
</term>
<listitem>
<para>
Messages only to syslog.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
hostlookup
</term>
<listitem>
<para>
Enable hostname lookup in ps_status.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
showportnumber
</term>
<listitem>
<para>
Show port number in ps_status.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
notifyunlock
</term>
<listitem>
<para>
Unlock of pg_listener after notify.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
notifyhack
</term>
<listitem>
<para>
Remove duplicate tuples from pg_listener.
</para>
</listitem>
</varlistentry>
</variablelist>
......
......@@ -8,6 +8,7 @@ compiled and tested <ProductName>Postgres</ProductName> on a
number of platforms. Check
<ulink url="http://www.postgresql.org/docs/admin/ports.htm">the web site</ulink>
for the latest information.
</para>
<Sect1>
<Title>Currently Supported Platforms</Title>
......@@ -226,11 +227,11 @@ At the time of publication, the following platforms have been tested:
</TBODY>
</TGROUP>
</TABLE>
</para>
<para>
Platforms listed for v6.3.x should also work with v6.4, but we did not receive
confirmation of such at the time this list was compiled.
</para>
<note>
<para>
For <productname>Windows NT</productname>,
......@@ -240,7 +241,9 @@ accomplished. Check
for up to date information. You may also want to
look for possible patches on the
<ulink url="http://postgresql.org">Postgres web site</ulink>.
</para>
</note>
</sect1>
<Sect1>
<Title>Unsupported Platforms</Title>
......@@ -309,6 +312,7 @@ Others listed here do not provide sufficient library support for an attempt.
</TBODY>
</TGROUP>
</TABLE>
</para>
<Para>
Note that Windows ports of the frontend are apparently possible
......
This diff is collapsed.
......@@ -26,6 +26,7 @@ To affect the paging behavior of your <Command>psql</Command> output,
set or unset your PAGER environment variable. I always have to set mine
before it will pause. And of course you have to do this before
starting the program.
</para>
<Para>
In csh/tcsh or other C shells:
......@@ -39,5 +40,6 @@ while in sh/bash or other Bourne shells:
<ProgramListing>
unset PAGER
</ProgramListing>
</para>
</sect1>
</Chapter>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -12,6 +12,7 @@
<REFPURPOSE>
Removes the definition of an aggregate function
</REFPURPOSE>
</refnamediv>
<REFSYNOPSISDIV>
<REFSYNOPSISDIVINFO>
<DATE>1998-04-15</DATE>
......@@ -84,8 +85,11 @@ DROP AGGREGATE <REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE> <REPLACEABLE CL
<PARA>
This message occurs if the aggregate function specified does not
exist in the database.
</para>
</listitem>
</varlistentry>
</VARIABLELIST>
</para>
</REFSECT2>
</REFSYNOPSISDIV>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment