|
|
|
<Chapter Id="intro">
|
|
|
|
<TITLE>Introduction</TITLE>
|
|
|
|
|
|
|
|
<Para>
|
|
|
|
This document is the user manual for the
|
|
|
|
<Ulink url="http://postgresql.org/"><ProductName>PostgreSQL</ProductName></Ulink>
|
|
|
|
database management system, originally developed at the University
|
|
|
|
of California at Berkeley.
|
|
|
|
|
|
|
|
<ProductName>PostgreSQL</ProductName> is based on
|
|
|
|
<Ulink url="http://s2k-ftp.CS.Berkeley.EDU:8000/postgres/postgres.html">
|
|
|
|
<ProductName>Postgres release 4.2</ProductName></Ulink>.
|
|
|
|
The <ProductName>Postgres</ProductName> 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>
|
|
|
|
|
|
|
|
<Sect1>
|
|
|
|
<Title> What is <ProductName>Postgres</ProductName>?</Title>
|
|
|
|
|
|
|
|
<Para>
|
|
|
|
Traditional relational database management systems
|
|
|
|
(DBMSs) support a data model consisting of a collection
|
|
|
|
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 "Spartan simplicity".
|
|
|
|
However, as mentioned, this simplicity often makes the
|
|
|
|
implementation of certain applications very difficult.
|
|
|
|
<ProductName>Postgres</ProductName> offers substantial additional
|
|
|
|
power by incorporating the following four additional
|
|
|
|
basic concepts in such a way that users can easily
|
|
|
|
extend the system:
|
|
|
|
|
|
|
|
<SimpleList>
|
|
|
|
<Member>classes</Member>
|
|
|
|
<Member>inheritance</Member>
|
|
|
|
<Member>types</Member>
|
|
|
|
<Member>functions</Member>
|
|
|
|
</SimpleList>
|
|
|
|
</Para>
|
|
|
|
|
|
|
|
<Para>
|
|
|
|
Other features provide additional power and flexibility:
|
|
|
|
|
|
|
|
<SimpleList>
|
|
|
|
<Member>constraints</Member>
|
|
|
|
<Member>triggers</Member>
|
|
|
|
<Member>rules</Member>
|
|
|
|
<Member>transaction integrity</Member>
|
|
|
|
</SimpleList>
|
|
|
|
</Para>
|
|
|
|
|
|
|
|
<Para>
|
|
|
|
These features put <ProductName>Postgres</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 the traditional relational database languages.
|
|
|
|
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>
|
|
|
|
|
|
|
|
&history;
|
|
|
|
|
|
|
|
&about;
|
|
|
|
|
|
|
|
&info;
|
|
|
|
|
|
|
|
¬ation;
|
|
|
|
|
|
|
|
&y2k;
|
|
|
|
|
|
|
|
&legal;
|
|
|
|
|
|
|
|
</Chapter>
|