Update preface.
Use question marks rather than brackets to delimit optional elements in Tcl synopses. Fix stylesheet misfeature leading to excessively long cross-reference text when linking to a different "part". Remove <body> attributes -- CSS stylesheets should handle that. Improve bibliography formatting. Add fast-forward links for more convenient navigation.
This commit is contained in:
parent
e54965c0f8
commit
6de93c0529
@ -1,182 +1,181 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.20 2003/01/19 00:13:28 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.21 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<sect1 id="history">
|
<sect1 id="history">
|
||||||
<title>A Brief History of <productname>PostgreSQL</productname></title>
|
<title>A Brief History of <productname>PostgreSQL</productname></title>
|
||||||
|
|
||||||
|
<indexterm zone="history">
|
||||||
|
<primary>history</primary>
|
||||||
|
<secondary>of PostgreSQL</secondary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The object-relational database management system now known as
|
The object-relational database management system now known as
|
||||||
<productname>PostgreSQL</productname> (and briefly called
|
<productname>PostgreSQL</productname> is derived from the
|
||||||
<productname>Postgres95</productname>) is derived from the
|
<productname>POSTGRES</productname> package written at the
|
||||||
<productname>POSTGRES</productname> package written at the University of
|
University of California at Berkeley. With over a decade of
|
||||||
California at Berkeley. With over a decade of
|
development behind it, <productname>PostgreSQL</productname> is now
|
||||||
development behind it, <productname>PostgreSQL</productname>
|
the most advanced open-source database available anywhere.
|
||||||
is the most advanced open-source database available anywhere,
|
|
||||||
offering multiversion concurrency control, supporting almost
|
|
||||||
all SQL constructs (including subselects, transactions, and
|
|
||||||
user-defined types and functions), and having a wide range of
|
|
||||||
language bindings available (including C, C++, Java, Perl, Tcl, and Python).
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2 id="history-berkeley">
|
||||||
<title>The Berkeley <productname>POSTGRES</productname> Project</title>
|
<title>The Berkeley <productname>POSTGRES</productname> Project</title>
|
||||||
|
|
||||||
|
<indexterm zone="history-berkeley">
|
||||||
|
<primary>POSTGRES</primary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Implementation of the <productname>POSTGRES</productname>
|
The <productname>POSTGRES</productname> project, led by Professor
|
||||||
<acronym>DBMS</acronym> began in 1986. The
|
Michael Stonebraker, was sponsored by the Defense Advanced Research
|
||||||
initial concepts for the system were presented in
|
Projects Agency (<acronym>DARPA</acronym>), the Army Research
|
||||||
<xref linkend="STON86">
|
Office (<acronym>ARO</acronym>), the National Science Foundation
|
||||||
and the definition of the initial data model
|
(<acronym>NSF</acronym>), and ESL, Inc. The implementation of
|
||||||
appeared in
|
<productname>POSTGRES</productname> began in 1986. The initial
|
||||||
<xref linkend="ROWE87">.
|
concepts for the system were presented in <xref linkend="STON86">
|
||||||
The design of the rule system at
|
and the definition of the initial data model appeared in <xref
|
||||||
that time was described in
|
linkend="ROWE87">. The design of the rule system at that time was
|
||||||
<xref linkend="STON87a">.
|
described in <xref linkend="STON87a">. The rationale and
|
||||||
The rationale
|
architecture of the storage manager were detailed in <xref
|
||||||
and architecture of the storage manager were detailed in
|
linkend="STON87b">.
|
||||||
<xref linkend="STON87b">.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>Postgres</productname> has undergone several major releases since
|
<productname>POSTGRES</productname> has undergone several major
|
||||||
then. The first <quote>demoware</quote> system became operational
|
releases since then. The first <quote>demoware</quote> system
|
||||||
in 1987 and was shown at the 1988 <acronym>ACM-SIGMOD</acronym>
|
became operational in 1987 and was shown at the 1988
|
||||||
Conference. Version 1, described in
|
<acronym>ACM-SIGMOD</acronym> Conference. Version 1, described in
|
||||||
<xref linkend="STON90a">, was released
|
<xref linkend="STON90a">, was released to a few external users in
|
||||||
to a few external users in June 1989. In response to a
|
June 1989. In response to a critique of the first rule system
|
||||||
critique of the first rule system
|
(<xref linkend="STON89">), the rule system was redesigned (<xref
|
||||||
(<xref linkend="STON89">),
|
linkend="STON90b">) and Version 2 was released in June 1990 with
|
||||||
the rule
|
the new rule system. Version 3 appeared in 1991 and added support
|
||||||
system was redesigned
|
for multiple storage managers, an improved query executor, and a
|
||||||
(<xref linkend="STON90b">)
|
rewritten rule system. For the most part, subsequent releases
|
||||||
and Version 2 was
|
until <productname>Postgres95</productname> (see below) focused on
|
||||||
released in June 1990 with the new rule system.
|
portability and reliability.
|
||||||
Version 3 appeared in 1991 and added support for multiple
|
|
||||||
storage managers, an improved query executor, and a
|
|
||||||
rewritten rule system. For the most part, subsequent
|
|
||||||
releases until <productname>Postgres95</productname> (see below)
|
|
||||||
focused on portability and reliability.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>POSTGRES</productname> has been used
|
<productname>POSTGRES</productname> has been used to implement many
|
||||||
to implement many different
|
different research and production applications. These include: a
|
||||||
research and production applications. These include: a
|
financial data analysis system, a jet engine performance monitoring
|
||||||
financial data analysis system, a jet engine
|
package, an asteroid tracking database, a medical information
|
||||||
performance monitoring package, an asteroid tracking
|
database, and several geographic information systems.
|
||||||
database, a medical information database, and several
|
<productname>POSTGRES</productname> has also been used as an
|
||||||
geographic information systems.
|
educational tool at several universities. Finally, Illustra
|
||||||
<productname>POSTGRES</productname> has also been
|
Information Technologies (later merged into <ulink
|
||||||
used as an educational tool at several universities.
|
url="http://www.informix.com/"><productname>Informix</productname></ulink>,
|
||||||
Finally,
|
which is now owned by <ulink
|
||||||
Illustra Information Technologies (later merged into
|
url="http://www.ibm.com/">IBM</ulink>.) picked up the code and
|
||||||
<ulink url="http://www.informix.com/"><productname>Informix</productname></ulink>,
|
commercialized it. In late 1992,
|
||||||
which is now owned by <ulink url="http://www.ibm.com/">IBM</ulink>.)
|
<productname>POSTGRES</productname> became the primary data manager
|
||||||
picked up
|
for the <ulink
|
||||||
the code and commercialized it.
|
url="http://meteora.ucsd.edu/s2k/s2k_home.html">Sequoia
|
||||||
<productname>POSTGRES</productname> became the primary data manager
|
2000</ulink> scientific computing project.
|
||||||
for the
|
|
||||||
<ulink url="http://meteora.ucsd.edu/s2k/s2k_home.html">Sequoia 2000</ulink>
|
|
||||||
scientific computing project in late 1992.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The size of the external user community
|
The size of the external user community nearly doubled during 1993.
|
||||||
nearly doubled during 1993. It became increasingly
|
It became increasingly obvious that maintenance of the prototype
|
||||||
obvious that maintenance of the prototype code and
|
code and support was taking up large amounts of time that should
|
||||||
support was taking up large amounts of time that should
|
have been devoted to database research. In an effort to reduce
|
||||||
have been devoted to database research. In an effort
|
this support burden, the Berkeley
|
||||||
to reduce this support burden, the Berkeley
|
<productname>POSTGRES</productname> project officially ended with
|
||||||
<productname>POSTGRES</productname> project officially
|
Version 4.2.
|
||||||
ended with Version 4.2.
|
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2 id="history-postgres95">
|
||||||
<title><productname>Postgres95</productname></title>
|
<title><productname>Postgres95</productname></title>
|
||||||
|
|
||||||
|
<indexterm zone="history-postgres95">
|
||||||
|
<primary>Postgres95</primary>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In 1994, Andrew Yu and Jolly Chen
|
In 1994, Andrew Yu and Jolly Chen added a SQL language interpreter
|
||||||
added a SQL language interpreter to <productname>POSTGRES</productname>.
|
to <productname>POSTGRES</productname>. Under a new name,
|
||||||
<productname>Postgres95</productname> was subsequently released to
|
<productname>Postgres95</productname> was subsequently released to
|
||||||
the Web to find its own way in the world as an
|
the web to find its own way in the world as an open-source
|
||||||
open-source descendant of the original <productname>POSTGRES</productname>
|
descendant of the original <productname>POSTGRES</productname>
|
||||||
Berkeley code.
|
Berkeley code.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>Postgres95</productname> code was completely
|
<productname>Postgres95</productname> code was completely ANSI C
|
||||||
ANSI C and trimmed in size by 25%. Many
|
and trimmed in size by 25%. Many internal changes improved
|
||||||
internal changes improved performance and maintainability.
|
performance and
|
||||||
<productname>Postgres95</productname> release 1.0.x ran about 30-50%
|
maintainability. <productname>Postgres95</productname> release
|
||||||
faster on the Wisconsin Benchmark compared to
|
1.0.x ran about 30-50% faster on the Wisconsin Benchmark compared
|
||||||
<productname>POSTGRES</productname>, Version 4.2.
|
to <productname>POSTGRES</productname>, Version 4.2. Apart from
|
||||||
Apart from bug fixes, the following were the major enhancements:
|
bug fixes, the following were the major enhancements:
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The query language PostQUEL was replaced with
|
The query language PostQUEL was replaced with
|
||||||
<acronym>SQL</acronym> (implemented in the server).
|
<acronym>SQL</acronym> (implemented in the server). Subqueries
|
||||||
Subqueries were not supported until
|
were not supported until <productname>PostgreSQL</productname>
|
||||||
<productname>PostgreSQL</productname> (see below), but they
|
(see below), but they could be imitated in
|
||||||
could be imitated in <productname>Postgres95</productname> with user-defined
|
<productname>Postgres95</productname> with user-defined
|
||||||
<acronym>SQL</acronym> functions. Aggregates were
|
<acronym>SQL</acronym> functions. Aggregate functions were
|
||||||
re-implemented. Support for the GROUP BY query clause was also added.
|
re-implemented. Support for the <literal>GROUP BY</literal>
|
||||||
The <filename>libpq</filename> interface remained
|
query clause was also added.
|
||||||
available for <acronym>C</acronym>
|
|
||||||
programs.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
In addition to the monitor program, a new program
|
In addition to the monitor program, a new program
|
||||||
(<application>psql</application>) was provided for interactive SQL queries
|
(<application>psql</application>) was provided for interactive
|
||||||
using <acronym>GNU</acronym> <application>Readline</application>.
|
SQL queries, which used <acronym>GNU</acronym>
|
||||||
|
<application>Readline</application>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
A new front-end library, <filename>libpgtcl</filename>,
|
A new front-end library, <filename>libpgtcl</filename>,
|
||||||
supported <acronym>Tcl</acronym>-based clients. A sample shell,
|
supported <acronym>Tcl</acronym>-based clients. A sample shell,
|
||||||
<command>pgtclsh</command>, provided new Tcl commands to interface
|
<command>pgtclsh</command>, provided new Tcl commands to
|
||||||
<application>Tcl</application>
|
interface <application>Tcl</application> programs with the
|
||||||
programs with the <productname>Postgres95</productname> backend.
|
<productname>Postgres95</productname> server.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The large-object interface was overhauled. The Inversion large objects were
|
The large-object interface was overhauled. The inversion large
|
||||||
the only mechanism for storing large objects.
|
objects were the only mechanism for storing large objects. (The
|
||||||
(The Inversion file system was removed.)
|
inversion file system was removed.)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The instance-level rule system was removed.
|
The instance-level rule system was removed. Rules were still
|
||||||
Rules were still available as rewrite rules.
|
available as rewrite rules.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
A short tutorial introducing regular <acronym>SQL</acronym> features as
|
A short tutorial introducing regular <acronym>SQL</acronym>
|
||||||
well as those of <productname>Postgres95</productname> was
|
features as well as those of
|
||||||
distributed with the source code
|
<productname>Postgres95</productname> was distributed with the
|
||||||
|
source code
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<acronym>GNU</acronym> make (instead of <acronym>BSD</acronym> make) was used
|
<acronym>GNU</acronym> make (instead of <acronym>BSD</acronym>
|
||||||
for the build. Also, <productname>Postgres95</productname> could be
|
make) was used for the build. Also,
|
||||||
compiled with an unpatched <productname>GCC</productname>
|
<productname>Postgres95</productname> could be compiled with an
|
||||||
(data alignment of doubles was fixed).
|
unpatched <productname>GCC</productname> (data alignment of
|
||||||
|
doubles was fixed).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -187,83 +186,28 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.20 2003/01/19 00:13:28 mom
|
|||||||
<title><productname>PostgreSQL</productname></title>
|
<title><productname>PostgreSQL</productname></title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
By 1996, it became clear that the name <quote>Postgres95</quote> would
|
By 1996, it became clear that the name <quote>Postgres95</quote>
|
||||||
not stand the test of time. We chose a new name,
|
would not stand the test of time. We chose a new name,
|
||||||
<productname>PostgreSQL</productname>, to reflect the relationship
|
<productname>PostgreSQL</productname>, to reflect the relationship
|
||||||
between the original <productname>POSTGRES</productname> and the more
|
between the original <productname>POSTGRES</productname> and the
|
||||||
recent versions with <acronym>SQL</acronym> capability. At the same
|
more recent versions with <acronym>SQL</acronym> capability. At
|
||||||
time, we set the version numbering to start at 6.0, putting the
|
the same time, we set the version numbering to start at 6.0,
|
||||||
numbers back into the sequence originally begun by the Berkeley
|
putting the numbers back into the sequence originally begun by the
|
||||||
<productname>POSTGRES</productname> project.
|
Berkeley <productname>POSTGRES</productname> project.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The emphasis during development of <productname>Postgres95</productname>
|
The emphasis during development of
|
||||||
was on identifying and understanding existing problems in the backend code.
|
<productname>Postgres95</productname> was on identifying and
|
||||||
With <productname>PostgreSQL</productname>,
|
understanding existing problems in the server code. With
|
||||||
the emphasis has shifted to augmenting features and capabilities, although
|
<productname>PostgreSQL</productname>, the emphasis has shifted to
|
||||||
work continues in all areas.
|
augmenting features and capabilities, although work continues in
|
||||||
|
all areas.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Major enhancements in <productname>PostgreSQL</productname> include:
|
Details about what has happened in PostgreSQL since then can be
|
||||||
|
found in <xref linkend="release">.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Table-level locking has been replaced by multiversion concurrency control,
|
|
||||||
which allows readers to continue reading consistent data during writer activity
|
|
||||||
and enables hot backups from <application>pg_dump</> while the database stays available for
|
|
||||||
queries.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Important backend features, including subselects, defaults,
|
|
||||||
constraints, and triggers, have been implemented.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Additional <acronym>SQL92</acronym>-compliant language features have been added,
|
|
||||||
including primary keys, quoted identifiers, literal string type coercion,
|
|
||||||
type casting, and binary and hexadecimal integer input.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Built-in types have been improved, including new wide-range date/time types
|
|
||||||
and additional geometric type support.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Overall backend code speed has been increased by approximately 20-40%,
|
|
||||||
and backend start-up time has decreased by 80% since version 6.0 was released.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- 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:
|
|
||||||
-->
|
|
||||||
|
@ -1,104 +1,21 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjian Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.19 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<sect1 id="resources">
|
<sect1 id="resources">
|
||||||
<title>Overview of Documentation Resources</title>
|
<title>Further Information</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <productname>PostgreSQL</> documentation is organized into
|
Besides the documentation, that is, this book, there are other
|
||||||
several books:
|
resources about <productname>PostgreSQL</productname>:
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-tutorial;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
An informal introduction for new users.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-user;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Documents the <acronym>SQL</acronym> query language environment,
|
|
||||||
including data types and functions, as well as user-level
|
|
||||||
performance tuning. Every <productname>PostgreSQL</> user
|
|
||||||
should read this.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-admin;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Installation and server management information. Everyone who
|
|
||||||
runs a <productname>PostgreSQL</> server, either for personal
|
|
||||||
use or for other users, needs to read this.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-programmer;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Advanced information for application programmers. Topics include
|
|
||||||
type and function extensibility, library interfaces, and
|
|
||||||
application design issues.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-reference;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Reference pages for <acronym>SQL</acronym> command syntax, and
|
|
||||||
client and server programs. This book is auxiliary to the
|
|
||||||
User's, Administrator's, and Programmer's Guides.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>&cite-developer;</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
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 &cite-programmer;.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
In addition to this manual set, there are other resources to help you with
|
|
||||||
<productname>PostgreSQL</productname> installation and use:
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>man pages</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
The &cite-reference;'s pages in the traditional Unix man
|
|
||||||
format. There is no difference in content.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>FAQs</term>
|
<term>FAQs</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Frequently Asked Questions (FAQ) lists document both general issues
|
The FAQ list <indexterm><primary>FAQ-Liste</></> contains
|
||||||
and some platform-specific issues.
|
continuously updated answers to frequently asked questions.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -107,7 +24,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjia
|
|||||||
<term>READMEs</term>
|
<term>READMEs</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
README files are available for some contributed packages.
|
<filename>README</filename> files are available for some
|
||||||
|
contributed packages.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -118,8 +36,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjia
|
|||||||
<para>
|
<para>
|
||||||
The <ulink
|
The <ulink
|
||||||
url="http://www.postgresql.org"><productname>PostgreSQL</productname>
|
url="http://www.postgresql.org"><productname>PostgreSQL</productname>
|
||||||
web site</ulink> carries details on the latest release, upcoming
|
web site</ulink> carries details on the latest release and other
|
||||||
features, and other information to make your work or play with
|
information to make your work or play with
|
||||||
<productname>PostgreSQL</productname> more productive.
|
<productname>PostgreSQL</productname> more productive.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -131,10 +49,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjia
|
|||||||
<para>
|
<para>
|
||||||
The mailing lists are a good place to have your questions
|
The mailing lists are a good place to have your questions
|
||||||
answered, to share experiences with other users, and to contact
|
answered, to share experiences with other users, and to contact
|
||||||
the developers. Consult the <ulink
|
the developers. Consult the <productname>PostgreSQL</> web site
|
||||||
url="http://www.postgresql.org/users-lounge/">User's
|
for details.
|
||||||
Lounge</ulink> section of the <productname>PostgreSQL</>
|
|
||||||
web site for details.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -143,41 +59,18 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.18 2003/01/19 00:13:28 momjia
|
|||||||
<term>Yourself!</term>
|
<term>Yourself!</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<productname>PostgreSQL</productname> is an open-source effort.
|
<productname>PostgreSQL</productname> is an open-source project.
|
||||||
As such, it depends on the user community for ongoing support.
|
As such, it depends on the user community for ongoing support.
|
||||||
As you begin to use <productname>PostgreSQL</productname>, you
|
As you begin to use <productname>PostgreSQL</productname>, you
|
||||||
will rely on others for help, either through the documentation
|
will rely on others for help, either through the documentation
|
||||||
or through the mailing lists. Consider contributing your
|
or through the mailing lists. Consider contributing your
|
||||||
knowledge back. If you learn something which is not in the
|
knowledge back. Read the mailing lists and answer questions. If
|
||||||
documentation, write it up and contribute it. If you add
|
you learn something which is not in the documentation, write it
|
||||||
features to the code, contribute them.
|
up and contribute it. If you add features to the code,
|
||||||
</para>
|
contribute them.
|
||||||
|
|
||||||
<para>
|
|
||||||
Even those without a lot of experience can provide corrections
|
|
||||||
and minor changes in the documentation, and that is a good way
|
|
||||||
to start. The <email>pgsql-docs@postgresql.org</email> mailing
|
|
||||||
list is the place to get going.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- 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:
|
|
||||||
-->
|
|
||||||
|
@ -1,110 +1,151 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.20 2002/10/24 17:48:54 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/intro.sgml,v 1.21 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<sect1 id="intro-whatis">
|
<preface id="preface">
|
||||||
<title> What is <productname>PostgreSQL</productname>?</title>
|
<title>Preface</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>PostgreSQL</productname> is an object-relational
|
This book is the official documentation of PostgreSQL. It is being
|
||||||
database management system (<acronym>ORDBMS</acronym>) based on
|
written by the PostgreSQL developers and other volunteers in
|
||||||
<ulink url="http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/postgres.html">
|
parallel to the development of the PostgreSQL software. It
|
||||||
<productname>POSTGRES, Version 4.2</productname></ulink>,
|
describes all the functionality that the current version of
|
||||||
developed at the University of California at Berkeley Computer
|
PostgreSQL officially supports.
|
||||||
Science Department. The <productname>POSTGRES</productname>
|
</para>
|
||||||
project, led by Professor Michael Stonebraker, was sponsored by
|
|
||||||
the Defense Advanced Research Projects Agency
|
|
||||||
(<acronym>DARPA</acronym>), the Army Research Office
|
|
||||||
(<acronym>ARO</acronym>), the National Science Foundation
|
|
||||||
(<acronym>NSF</acronym>), and ESL, Inc.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<productname>PostgreSQL</productname> is an open-source descendant of
|
To make the large amount of information about PostgreSQL manageable,
|
||||||
this original Berkeley code. It provides SQL92/SQL99 language support
|
this book has been organized in several parts. Each part is
|
||||||
and other modern features.
|
targeted at a different class of users, or at users in different
|
||||||
</para>
|
stages of their PostgreSQL experience:
|
||||||
|
|
||||||
<para>
|
<itemizedlist>
|
||||||
<productname>POSTGRES</productname> pioneered many of the
|
<listitem>
|
||||||
object-relational concepts now becoming available in some commercial
|
<para>
|
||||||
databases.
|
<xref linkend="tutorial"> is an informal introduction for new users.
|
||||||
Traditional relational database management systems
|
</para>
|
||||||
(<acronym>RDBMS</acronym>) support a data model consisting of a collection
|
</listitem>
|
||||||
of named relations, containing attributes of a specific
|
|
||||||
type. In current commercial systems, possible types
|
|
||||||
include floating point numbers, integers, character
|
|
||||||
strings, money, and dates. It is commonly recognized
|
|
||||||
that this model is inadequate for future data-processing applications.
|
|
||||||
The relational model successfully replaced previous
|
|
||||||
models in part because of its <quote>Spartan simplicity</quote>.
|
|
||||||
However, this simplicity makes the
|
|
||||||
implementation of certain applications very difficult.
|
|
||||||
<productname>PostgreSQL</productname> offers substantial additional
|
|
||||||
power by incorporating the following additional
|
|
||||||
concepts in such a way that users can easily
|
|
||||||
extend the system:
|
|
||||||
|
|
||||||
<itemizedlist spacing="compact">
|
<listitem>
|
||||||
<listitem>
|
<para>
|
||||||
<simpara>inheritance</>
|
<xref linkend="sql"> documents the <acronym>SQL</acronym> query
|
||||||
</listitem>
|
language environment, including data types and functions, as well
|
||||||
<listitem>
|
as user-level performance tuning. Every
|
||||||
<simpara>data types</>
|
<productname>PostgreSQL</> user should read this.
|
||||||
</listitem>
|
</para>
|
||||||
<listitem>
|
</listitem>
|
||||||
<simpara>functions</simpara>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<listitem>
|
||||||
Other features provide additional power and flexibility:
|
<para>
|
||||||
|
<xref linkend="admin"> describes the installation and
|
||||||
|
administration of the server. Everyone that runs a PostgreSQL
|
||||||
|
server, be it for private use or for others, should read this
|
||||||
|
part.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<itemizedlist spacing="compact">
|
<listitem>
|
||||||
<listitem>
|
<para>
|
||||||
<simpara>constraints</simpara>
|
<xref linkend="client-interfaces"> describes the programming
|
||||||
</listitem>
|
interfaces for PostgreSQL client programs.
|
||||||
<listitem>
|
</para>
|
||||||
<simpara>triggers</simpara>
|
</listitem>
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<simpara>rules</simpara>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<simpara>transactional integrity</simpara>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
These features put <productname>PostgreSQL</productname> into the
|
|
||||||
category of databases referred to as
|
|
||||||
<firstterm>object-relational</firstterm>. Note that this is distinct
|
|
||||||
from those referred to as <firstterm>object-oriented</firstterm>,
|
|
||||||
which in general are not as well suited to supporting
|
|
||||||
traditional relational database languages.
|
|
||||||
So, although <productname>PostgreSQL</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>PostgreSQL</productname>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</sect1>
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<xref linkend="server-programming"> contains information for
|
||||||
|
advanced users about the extensibility capabilities of the
|
||||||
|
server. Topics are, for instance, user-defined data types and
|
||||||
|
functions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<listitem>
|
||||||
Local variables:
|
<para>
|
||||||
mode:sgml
|
<xref linkend="reference"> contains information about the syntax
|
||||||
sgml-omittag:nil
|
of SQL commands, client and server programs. This part supports
|
||||||
sgml-shorttag:t
|
the other parts with structured information sorted by command or
|
||||||
sgml-minimize-attributes:nil
|
program.
|
||||||
sgml-always-quote-attributes:t
|
</para>
|
||||||
sgml-indent-step:1
|
</listitem>
|
||||||
sgml-indent-data:t
|
</itemizedlist>
|
||||||
sgml-parent-document:nil
|
</para>
|
||||||
sgml-default-dtd-file:"./reference.ced"
|
|
||||||
sgml-exposed-tags:nil
|
<sect1 id="intro-whatis">
|
||||||
sgml-local-catalogs:("/usr/lib/sgml/catalog")
|
<title> What is <productname>PostgreSQL</productname>?</title>
|
||||||
sgml-local-ecat-files:nil
|
|
||||||
End:
|
<para>
|
||||||
-->
|
<productname>PostgreSQL</productname> is an object-relational
|
||||||
|
database management system (<acronym>ORDBMS</acronym>) based on
|
||||||
|
<ulink url="http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/postgres.html">
|
||||||
|
<productname>POSTGRES, Version 4.2</productname></ulink>, developed
|
||||||
|
at the University of California at Berkeley Computer Science
|
||||||
|
Department. POSTGRES pioneered many concepts that only became
|
||||||
|
available in some commercial database systems much later.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<productname>PostgreSQL</productname> is an open-source descendant
|
||||||
|
of this original Berkeley code. It supports SQL92 and SQL99 and
|
||||||
|
offers many modern features:
|
||||||
|
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<simpara>complex queries</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>foreign keys</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>triggers</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>views</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>transactional integrity</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>multiversion concurrency control</simpara>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
Also, PostgreSQL can be extended by the user in many ways, for
|
||||||
|
example by adding new
|
||||||
|
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<simpara>data types</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>functions</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>operators</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>aggregate functions</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>index methods</simpara>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<simpara>procedural languages</simpara>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
And because of the liberal license, PostgreSQL can be used,
|
||||||
|
modified, and distributed by everyone free of charge for any
|
||||||
|
purpose, be it private, commercial, or academic.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
&history;
|
||||||
|
¬ation;
|
||||||
|
&info;
|
||||||
|
&problems;
|
||||||
|
|
||||||
|
</preface>
|
||||||
|
@ -201,7 +201,7 @@ load libpgtcl[info sharedlibextension]
|
|||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
pg_connect -conninfo <parameter>connectOptions</parameter>
|
pg_connect -conninfo <parameter>connectOptions</parameter>
|
||||||
pg_connect <parameter>dbName</parameter> <optional>-host <parameter>hostName</parameter></optional> <optional>-port <parameter>portNumber</parameter></optional> <optional>-tty <parameter>tty</parameter</optional> <optional>-options <parameter>serverOptions</parameter></optional>
|
pg_connect <parameter>dbName</parameter> <optional role="tcl">-host <parameter>hostName</parameter></optional> <optional role="tcl">-port <parameter>portNumber</parameter></optional> <optional role="tcl">-tty <parameter>tty</parameter</optional> <optional role="tcl">-options <parameter>serverOptions</parameter></optional>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
@ -612,7 +612,7 @@ pg_result <parameter>resultHandle</parameter> <parameter>resultOption</parameter
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><option>-assignbyidx <parameter>arrayName</> <optional><parameter>appendstr</></optional></option></term>
|
<term><option>-assignbyidx <parameter>arrayName</> <optional role="tcl"><parameter>appendstr</></optional></option></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Assign the results to an array using the values of the
|
Assign the results to an array using the values of the
|
||||||
@ -839,7 +839,7 @@ pg_select $pgconn "SELECT * FROM table1;" array {
|
|||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
pg_execute <optional>-array <parameter>arrayVar</parameter></optional> <optional>-oid <parameter>oidVar</parameter></optional> <parameter>conn</parameter> <parameter>commandString</parameter> <optional><parameter>procedure</parameter></optional>
|
pg_execute <optional role="tcl">-array <parameter>arrayVar</parameter></optional> <optional role="tcl">-oid <parameter>oidVar</parameter></optional> <parameter>conn</parameter> <parameter>commandString</parameter> <optional role="tcl"><parameter>procedure</parameter></optional>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
@ -1020,7 +1020,7 @@ pg_execute $pgconn "SELECT max(value) AS max, min(value) AS min FROM mytable;"
|
|||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
pg_listen <parameter>conn</parameter> <parameter>notifyName</parameter> <optional><parameter>callbackCommand</parameter></optional>
|
pg_listen <parameter>conn</parameter> <parameter>notifyName</parameter> <optional role="tcl"><parameter>callbackCommand</parameter></optional>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
@ -1120,7 +1120,7 @@ pg_listen <parameter>conn</parameter> <parameter>notifyName</parameter> <optiona
|
|||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<synopsis>
|
<synopsis>
|
||||||
pg_on_connection_loss <parameter>conn</parameter> <optional><parameter>callbackCommand</parameter></optional>
|
pg_on_connection_loss <parameter>conn</parameter> <optional role="tcl"><parameter>callbackCommand</parameter></optional>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
@ -1,9 +1,40 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.22 2003/03/25 16:15:37 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.23 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<sect1 id="notation">
|
<sect1 id="notation">
|
||||||
<title>Terminology and Notation</title>
|
<title>Conventions</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This book uses the following typographical conventions to mark
|
||||||
|
certain portions of test: new terms, foreign phrases, and other
|
||||||
|
important passages are emphasized in <emphasis>italics</>.
|
||||||
|
Everything that represents input or output of the computer, in
|
||||||
|
particular commands, program code, and screen output, is shown in a
|
||||||
|
monospaced front (<literal>example</literal>). Within such
|
||||||
|
passages, italics (<replaceable>example</replaceable>) indicate,
|
||||||
|
that you must insert an actual value instead of the placeholder. On
|
||||||
|
occasion, parts of program code are emphasized in bold face
|
||||||
|
(<emphasis role="bold"><literal>example</></>), if they have been
|
||||||
|
added or changed since the preceding example.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following conventions are used in the synopsis of a command:
|
||||||
|
brackets (<literal>[</literal> and <literal>]</literal>) indicate
|
||||||
|
optional parts. (In the synopsis of a Tcl command, question marks
|
||||||
|
(<literal>?</>) are used instead, as is usual in Tcl.) Braces
|
||||||
|
(<literal>{</literal> and <literal>}</literal>) and vertical lines
|
||||||
|
(<literal>|</literal>) indicate that you must choose one
|
||||||
|
alternative. Dots (<literal>...</>) mean that the preceding element
|
||||||
|
can be repeated.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Where it enhances the clarity, SQL commands are preceded by the
|
||||||
|
prompt <literal>=></>, and shell commands are preceded by the
|
||||||
|
prompt <literal>$</>. Normally, prompts are not shown, though.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
An <firstterm>administrator</firstterm> is generally a person who is
|
An <firstterm>administrator</firstterm> is generally a person who is
|
||||||
@ -13,58 +44,4 @@ $Header: /cvsroot/pgsql/doc/src/sgml/notation.sgml,v 1.22 2003/03/25 16:15:37 pe
|
|||||||
be interpreted too narrowly; this documentation set does not have fixed
|
be interpreted too narrowly; this documentation set does not have fixed
|
||||||
presumptions about system administration procedures.
|
presumptions about system administration procedures.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
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 <xref linkend="installation">.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
In a command synopsis, brackets
|
|
||||||
(<literal>[</literal> and <literal>]</literal>) indicate an optional phrase or keyword.
|
|
||||||
Anything in braces
|
|
||||||
(<literal>{</literal> and <literal>}</literal>) and containing vertical bars
|
|
||||||
(<literal>|</literal>)
|
|
||||||
indicates that you must choose one alternative.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Examples will show commands executed from various accounts and programs.
|
|
||||||
Commands executed from a Unix shell may be preceded with a dollar sign
|
|
||||||
(<quote><literal>$</literal></quote>). Commands executed from particular user
|
|
||||||
accounts such as <systemitem>root</> or <systemitem>postgres</> are specially flagged and explained.
|
|
||||||
<acronym>SQL</acronym> commands may be preceded with
|
|
||||||
<quote><literal>=></literal></quote>
|
|
||||||
or will have no leading prompt, depending on the context.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>
|
|
||||||
The notation for
|
|
||||||
flagging commands is not universally consistent throughout the
|
|
||||||
documentation set.
|
|
||||||
Please report problems to the documentation mailing list
|
|
||||||
<email>pgsql-docs@postgresql.org</email>.
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- 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:
|
|
||||||
-->
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.25 2003/08/31 17:32:19 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.26 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="pltcl">
|
<chapter id="pltcl">
|
||||||
@ -235,7 +235,7 @@ CREATE FUNCTION overpaid(employee) RETURNS boolean AS '
|
|||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><function>spi_exec</function> <literal>?-count <replaceable>n</replaceable>? ?-array <replaceable>name</replaceable>? <replaceable>command</replaceable> ?<replaceable>loop-body</replaceable>?</literal></term>
|
<term><literal><function>spi_exec</function> <optional role="tcl">-count <replaceable>n</replaceable></optional> <optional role="tcl">-array <replaceable>name</replaceable></optional> <replaceable>command</replaceable> <optional role="tcl"><replaceable>loop-body</replaceable></optional></literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Executes an SQL command given as a string. An error in the command
|
Executes an SQL command given as a string. An error in the command
|
||||||
@ -329,7 +329,7 @@ spi_exec -array C "SELECT * FROM pg_class" {
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><function>spi_execp</> <literal>?-count <replaceable>n</replaceable>? ?-array <replaceable>name</replaceable>? ?-nulls <replaceable>string</replaceable>? <replaceable>queryid</replaceable> ?<replaceable>value-list</replaceable>? ?<replaceable>loop-body</replaceable>?</literal></term>
|
<term><literal><function>spi_execp</> <optional role="tcl">-count <replaceable>n</replaceable></optional> <optional role="tcl">-array <replaceable>name</replaceable></optional> <optional role="tcl">-nulls <replaceable>string</replaceable></optional> <replaceable>queryid</replaceable> <optional role="tcl"><replaceable>value-list</replaceable></optional> <optional role="tcl"><replaceable>loop-body</replaceable></optional></literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Executes a query previously prepared with <function>spi_prepare</>.
|
Executes a query previously prepared with <function>spi_prepare</>.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.54 2003/09/01 23:01:49 petere Exp $
|
$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.55 2003/09/08 23:02:28 petere Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
@ -21,15 +21,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.54 2003/09/01 23:01:49 pe
|
|||||||
&legal;
|
&legal;
|
||||||
</bookinfo>
|
</bookinfo>
|
||||||
|
|
||||||
<preface id="preface">
|
&intro;
|
||||||
<title>Preface</title>
|
|
||||||
|
|
||||||
&intro;
|
|
||||||
&history;
|
|
||||||
¬ation;
|
|
||||||
&problems;
|
|
||||||
|
|
||||||
</preface>
|
|
||||||
|
|
||||||
<part id="tutorial">
|
<part id="tutorial">
|
||||||
<title>Tutorial</title>
|
<title>Tutorial</title>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/stylesheet.dsl,v 1.23 2003/03/25 16:15:38 petere Exp $ -->
|
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/stylesheet.dsl,v 1.24 2003/09/08 23:02:28 petere Exp $ -->
|
||||||
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||||
|
|
||||||
<!-- must turn on one of these with -i on the jade command line -->
|
<!-- must turn on one of these with -i on the jade command line -->
|
||||||
@ -62,6 +62,38 @@
|
|||||||
(element type ($mono-seq$))
|
(element type ($mono-seq$))
|
||||||
(element (programlisting emphasis) ($bold-seq$)) ;; to highlight sections of code
|
(element (programlisting emphasis) ($bold-seq$)) ;; to highlight sections of code
|
||||||
|
|
||||||
|
;; Special support for Tcl synopses
|
||||||
|
(element optional
|
||||||
|
(if (equal? (attribute-string (normalize "role")) "tcl")
|
||||||
|
(make sequence
|
||||||
|
(literal "?")
|
||||||
|
($charseq$)
|
||||||
|
(literal "?"))
|
||||||
|
(make sequence
|
||||||
|
(literal %arg-choice-opt-open-str%)
|
||||||
|
($charseq$)
|
||||||
|
(literal %arg-choice-opt-close-str%))))
|
||||||
|
|
||||||
|
;; Avoid excessive cross-reference labels
|
||||||
|
(define (auto-xref-indirect? target ancestor)
|
||||||
|
(cond
|
||||||
|
; ;; Always add indirect references to another book
|
||||||
|
; ((member (gi ancestor) (book-element-list))
|
||||||
|
; #t)
|
||||||
|
;; Add indirect references to the section or component a block
|
||||||
|
;; is in iff chapters aren't autolabelled. (Otherwise "Figure 1-3"
|
||||||
|
;; is sufficient)
|
||||||
|
((and (member (gi target) (block-element-list))
|
||||||
|
(not %chapter-autolabel%))
|
||||||
|
#t)
|
||||||
|
;; Add indirect references to the component a section is in if
|
||||||
|
;; the sections are not autolabelled
|
||||||
|
((and (member (gi target) (section-element-list))
|
||||||
|
(member (gi ancestor) (component-element-list))
|
||||||
|
(not %section-autolabel%))
|
||||||
|
#t)
|
||||||
|
(else #f)))
|
||||||
|
|
||||||
|
|
||||||
;; Bibliography things
|
;; Bibliography things
|
||||||
|
|
||||||
@ -110,11 +142,6 @@
|
|||||||
(element issn
|
(element issn
|
||||||
(make sequence
|
(make sequence
|
||||||
(literal "ISSN ")
|
(literal "ISSN ")
|
||||||
(process-children)))
|
|
||||||
|
|
||||||
(element pagenums
|
|
||||||
(make sequence
|
|
||||||
(literal "p. ")
|
|
||||||
(process-children))))
|
(process-children))))
|
||||||
|
|
||||||
|
|
||||||
@ -137,6 +164,7 @@
|
|||||||
<![ %output-html; [
|
<![ %output-html; [
|
||||||
|
|
||||||
(define %section-autolabel% #t)
|
(define %section-autolabel% #t)
|
||||||
|
(define %label-preface-sections% #f)
|
||||||
(define %generate-legalnotice-link% #t)
|
(define %generate-legalnotice-link% #t)
|
||||||
(define %html-ext% ".html")
|
(define %html-ext% ".html")
|
||||||
(define %root-filename% "index")
|
(define %root-filename% "index")
|
||||||
@ -144,6 +172,8 @@
|
|||||||
(define %use-id-as-filename% #t)
|
(define %use-id-as-filename% #t)
|
||||||
(define %stylesheet% "stylesheet.css")
|
(define %stylesheet% "stylesheet.css")
|
||||||
(define %graphic-default-extension% "gif")
|
(define %graphic-default-extension% "gif")
|
||||||
|
(define %gentext-nav-use-ff% #t)
|
||||||
|
(define %body-attr% '())
|
||||||
|
|
||||||
;; Returns the depth of auto TOC that should be made at the nd-level
|
;; Returns the depth of auto TOC that should be made at the nd-level
|
||||||
(define (toc-depth nd)
|
(define (toc-depth nd)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user