<HTML>
<HEAD>
	<TITLE>The POSTGRES95 User Manual</TITLE>
</HEAD>

<BODY>
<H1 align=center>
The <B>
<A HREF="http://s2k-ftp.cs.berkeley.edu:8000/postgres95/">
POSTGRES95</A></B> User Manual</H1>

<p align=CENTER>

                 Version 1.0 (September 5, 1995)<br><br>
                 
                    <A HREF="http://s2k-ftp.cs.berkeley.edu:8000/personal/andrew">Andrew Yu</A> 
                    and 
                    <A HREF="http://http.cs.berkeley.edu/~jolly/">Jolly Chen</A><br>
                    (with the POSTGRES Group)<br>
              Computer Science Div., Dept. of EECS<br>
              University of California at Berkeley<br>
</p>
<!--#exec cgi="/cgi-bin/wais-pg95.pl"-->
<H1 align=center>Table of Contents</H1>
<DL>
  <DT><A HREF="intro.html">1. INTRODUCTION</A>
  <DL>
    <DT><A HREF="intro.html#a-short-history-of-the-postgres-project">1.1. A Short History of POSTGRES</A>
    <DT><A HREF="intro.html#what-is-postgres95">1.2. What is POSTGRES95?</A>
    <DT><A HREF="intro.html#about-this-release">1.4.  About This Release</A>
    <DT><A HREF="intro.html#outline-of-this-manual">1.5.  Outline of This Manual</A>
  </DL>
  <DT><A HREF="architec.html">2. ARCHITECTURE CONCEPTS</A>
  <DT><A HREF="start.html">3. GETTING STARTED</A>
  <DL>
    <DT><A HREF="start.html#setting-up-your-environment">3.1. Setting Up Your Enviroment</A>
    <DT><A HREF="start.html#starting-the-postmaster">3.2. Starting The Postmaster</A>
    <DT><A HREF="start.html#adding-and-deleting-users">3.3. Adding And Deleting Users</A>
    <DT><A HREF="start.html#starting-applications">3.4. Starting Applications</A>
    <DT><A HREF="start.html#managing-a-database">3.5. Managing A Database</A>
    <DL>
      <DT><A HREF="start.html#creating-a-database">3.5.1. Creating A Database</A>
      <DT><A HREF="start.html#accesssing-a-database">3.5.2. Accessing A Database</A>
      <DT><A HREF="start.html#destroying-a-database">3.5.3. Destroying A Database</A>
    </DL>
  </DL>
  <DT><A HREF="query.html">4. QUERY LANGUAGE</A>
  <DL>
    <DT><A HREF="query.html#concepts">4.1.  Concepts</A>
    <DT><A HREF="query.html#creating-a-new-class">4.2.  Creating a New Class</A>
    <DT><A HREF="query.html#populating-a-class-with-instances">4.3.  Populating a Class with Instances</A>
    <DT><A HREF="query.html#querying-a-class">4.4.  Querying a Class</A>
    <DT><A HREF="query.html#redirecting-select-queries">4.5.  Redirecting SELECT Queries</A>
  </DL>
  <DT><A HREF="advanced.html">5. ADVANCED POSTGRES SQL FEATURES</A>
  <DL>
    <DT><A HREF="advanced.html#inheritance">5.1.  Inheritance</A>
    <DT><A HREF="advanced.html#time-travel">5.2.  Time Travel</A>
    <DT><A HREF="advanced.html#non-atomic-values">5.3.  Non-Atomic Values</A>
    <DL>
     <DT><A HREF="advanced.html#arrays">5.3.1.  Arrays</A>
    </DL>
  </DL>
  <DT><A HREF="extend.html">6.  EXTENDING SQL: AN OVERVIEW</A>
  <DL>
    <DT><A HREF="extend.html#how-extensibility-works">6.1.  How Extensibility Works</A>
    <DT><A HREF="extend.html#the-postgres-type-system">6.2.  The POSTGRES Type System</A>
    <DT><A HREF="extend.html#about-the-postgres-system-catalogs">6.3.  About the POSTGRES System Catalogs</A>
  </DL>
  <DT><A HREF="xfunc.html">7.  EXTENDING SQL: FUNCTIONS</A>
  <DL>
    <DT><A HREF="xfunc.html#query-language-sql-functions">7.1.  Query Language (SQL) Functions</A>
    <DL>
     <DT><A HREF="xfunc.html#sql-functions-on-base-types">7.1.1.  SQL Functions on Base Types</A>
    </DL>
    <DT><A HREF="xfunc.html#programming-language-functions">7.2.  Programming Language Functions</A>
    <DL>
     <DT><A HREF="xfunc.html#programming-language-functions-on-base-types">7.2.1.  Programming Language Functions on Base Types</A>
     <DT><A HREF="xfunc.html#programming-language-functions-on-composite-types">7.2.2.  Programming Language Functions on Composite Types</A>
     <DT><A HREF="xfunc.html#caveats">7.2.3.  Caveats</A>
    </DL>
  </DL>
  <DT><A HREF="xtypes.html">8.  EXTENDING SQL: TYPES</A>
  <DL>
    <DT><A HREF="xtypes.html#user-defined-types">8.1.  User-Defined Types</A>
    <DL>
      <DT><A HREF="xtypes.html#functions-needed-for-a-user-defined-type">8.1.1.  Functions Needed for a User-Defined Type</A>
      <DT><A HREF="xtypes.html#large-objects">8.1.2.  Large Objects</A>
    </DL>
  </DL>
  <DT><A HREF="xoper.html">9.  EXTENDING SQL: OPERATORS</A>
  <DL>
  </DL>
  <DT><A HREF="xaggr.html">10.  EXTENDING SQL: AGGREGATES</A>
  <DL>
  </DL>
  <DT><A HREF="xindex.html">11.  INTERFACING EXTENSIONS TO INDICES</A>
  <DL>
  </DL>
  <DT><A HREF="libpq.html">12.  LIBPQ</A>
  <DL>
    <DT><A HREF="libpq.html#control-and-initialization">12.1.  Control and Initialization</A>
    <DT><A HREF="libpq.html#database-connection-functions">12.2.  Database Connection Functions</A>
    <DT><A HREF="libpq.html#query-execution-functions">12.3.  Query Execution Functions</A>
    <DT><A HREF="libpq.html#fast-path">12.4.  Fast Path</A>
    <DT><A HREF="libpq.html#asynchronous-notification">12.5.  Asynchronous Notification</A>
    <DT><A HREF="libpq.html#functions-associated-with-the-copy-command">12.6.  Functions Associated with the COPY Command</A>
    <DT><A HREF="libpq.html#tracing-functions">12.7.  LIBPQ Tracing Functions</A></A>
    <DT><A HREF="libpq.html#authentication-functions">12.8.  User Authentication Functions</A>
    <DT><A HREF="libpq.html#bugs">12.9.  BUGS</A>
    <DT><A HREF="libpq.html#sample-programs">12.10.  Sample Programs</A>
    <DL>
      <DT><A HREF="libpq.html#sample-program-1">12.10.1.  Sample Program 1</A>
      <DT><A HREF="libpq.html#sample-program-2">12.10.2.  Sample Program 2</A>
      <DT><A HREF="libpq.html#sample-program-3">12.10.3.  Sample Program 3</A>
    </DL>
  </DL>
  <DT><A HREF="lobj.html">13.  LARGE OBJECTS</A>
  <DL>
    <DT><A HREF="lobj.html#historical-note">13.1.  Historical Note</A>
    <DT><A HREF="lobj.html#inversion-large-objects">13.2.  Inversion Large Objects</A>
    <DT><A HREF="lobj.html#large-object-interfaces">13.3.  Large Object Interfaces</A>
    <DL>
      <DT><A HREF="lobj.html#creating-large-objects">13.3.1.  Creating a Large Object</A>
      <DT><A HREF="lobj.html#importing-a-large-object">13.3.2.  Importing a Large Object</A>
      <DT><A HREF="lobj.html#exporting-a-large-object">13.3.3.  Exporting a Large Object</A>
      <DT><A HREF="lobj.html#opening-an-existing-large-object">13.3.4.  Opening an Existing Large Object</A>
      <DT><A HREF="lobj.html#writing-data-to-a-large-object">13.3.5.  Writing Data to a Large Object</A>
      <DT><A HREF="lobj.html#seeking-on-a-large-object">13.3.6.  Seeking on a Large Object</A>
      <DT><A HREF="lobj.html#closing-a-large-object-descriptor">13.3.7.  Closing a Large Object Descriptor</A>
    </DL>
    <DT><A HREF="lobj.html#built-in-registered-functions">13.4.  Built in registered functions</A>
    <DT><A HREF="lobj.html#accessing-large-objects-from-libpq">13.5.   Accessing Large Objects from LIBPQ</A>
    <DT><A HREF="lobj.html#sample-program">13.6.  Sample Program</A>
  </DL>
  <DT><A HREF="rules.html">14.  THE POSTGRES RULE SYSTEM</A>
  <DT><A HREF="admin.html">15.  ADMINISTERING POSTGRES</A>
  <DT><A HREF="refs.html">16.  REFERENCES</A>
  <p>
  <DT><A HREF="appenda.html">Appendix A: Linking Dynamically-Loaded Functions</A>

</DL>
<HR>
<A HREF="http://eol.ists.ca/cgi-bin/HyperNews/get/dunlop/pg95-user.html">HyperNews Forum</A> - About this Manual.
<HR>
<p align=center><B>POSTGRES95</B>  is <A HREF="copy.html">copyright</A> &copy; 1994-5 by the Regents of the
University of California.<br><br>
Converted to HTML by <a href="http://www.eol.ists.ca/~dunlop/dunlop.html">J. Douglas Dunlop</a> 
<a href="mailto:dunlop@eol.ists.ca">&lt;dunlop@eol.ists.ca&gt;</a><br>
The file 
<A HREF="http://www.eol.ists.ca/~dunlop/postgres95-manual/pg95user.tgz">
pg95user.tgz</a> contains the complete manual for download.</p>
</BODY>
</HTML>