.\" XXX standard disclaimer belongs here....
.\" $Header: RCS/introduction,v 1.9 91/12/02 01:56:35 kemnitz Exp $
.SS INTRODUCTION 5/02/90
.XA 0 "Section 1 \*- Introduction"
.uh OVERVIEW
.lp
This document is the reference for the \*(PP database system
under development at the University of California, Berkeley.
It is intended to be a supplement to the \*(PP Manual, which is
included in this distribution.
The \*(PP project,
led by Professor Michael Stonebraker 
is sponsored by the Defense Advanced Research Projects Agency
.r ( \c
.A DARPA ),
the
Army Research Office (ARO), the National Science Foundation (NSF),
and
.A ESL ,
Inc.
.lp
\*(PP is distributed in source code format and is
the property of the Regents of the University of California.
However, the University will grant unlimited commercialization
rights for any derived work on the condition that it obtain an
educational license to the derived work.
For further information, consult the Berkeley Campus Software Office,
295 Evans Hall, University of California, Berkeley, CA 94720.
Moreover, there is no organization who can help you
with any bugs you may encounter or with any other problems.
In other words,
this is
.b unsupported
software.
.uh "POSTGRES DISTRIBUTION"
.sp
This reference describes Version 3.1 of POSTGRES.  The POSTGRES software is
about 190,000 lines of C code, and is available for SUN 3 and
SUN 4 class machines, for DECstation 3100 and 5000 machines and for
the SEQUENT Symmetry machine.
Information on obtaining the source code for these computers is
available from:
.(l
Chandra Ghosh
Computer Science Division
521 Evans Hall
University of Califiornia
Berkeley, Ca. 94720
(510) 642-4662
.)l
.sp
Version 3.1 has been tuned modestly.  Hence on the Wisconsin benchmark,
one should expect performance about twice that of the public domain,
University of
California Version of \*(II, a relational prototype
from the late 1970s.
.sp
.uh "POSTGRES DOCUMENTATION"
.lp
This
reference describes the functionality of Version 3.1
and contains
notations where appropriate to indicate which features are not implemented in
Version 3.1.
Application developers should note that
this reference contains only the specification for
the low-level call-oriented application program interface,
LIBPQ.
In addition, a companion project directed by Professor Rowe is
building a collection of powerful development tools called
.b \*(OF ,
which is the subject of a separate manual.
.lp
The remainder of this reference is structured as follows.
In Section 2,
we discuss the \*(PP capabilities that are available directly
from the operating system.
Section 3 describes \*(PP internal data types, functions, and
operators.
Section 4 then describes \*(PQ,
the language by which a user interacts with a
\*(PP database.
Then,
Section 5 describes
a library of low level routines through which a user can
formulate \*(PQ queries from a
C program and get appropriate
return information back to his program.
Next,
Section 6 continues with a description of
a method by which applications may execute functions in \*(PP
with very high performance.
Section 7 describes the internal Postgres interface for accessing
large objects. 
The reference concludes with Section 8,
a collection of
file format descriptions
for files used by \*(PP.
.lp
.uh ACKNOWLEDGEMENTS
.lp
\*(PP has been constructed by a team of undergraduate, graduate, and
staff programmers.
The Version 3 contributors (in alphabetical order) consisted of 
James Bell,
Jennifer Caetta,
Ron Choi,
Adam Glass,
Jeffrey Goh,
Wei Hong,
Anant Jhingran,
Greg Kemnitz,
Jeff Meredith,
Michael Olson,
Lay-Peng Ong,
Spyros Potamianos,
and Cimarron Taylor.
.sp
.lp
Greg Kemnitz served as chief programmer and was responsible for
overall coordination of the project and for individually implementing the
.q "everything else"
portion of the system.
.lp
This reference was collectively written by
the above implementation team,
assisted by Michael Stonebraker and Claire Mosher.
.uh FOOTNOTES
.lp
\*(UU is a trademark of
.A AT&T .
