<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.38 2001/05/12 22:51:35 petere Exp $

PostgreSQL Programmer's Guide.
-->

<book id="programmer">

 <title>PostgreSQL &version; Programmer's Guide</title>
 <bookinfo>
  <corpauthor>The PostgreSQL Global Development Group</corpauthor>
  &legal;
 </bookinfo>

<![%single-book[
  &intro;
]]>

 <preface id="organization">
  <title>Organization</title>

  <para>
   The first part of this manual is the description of the client-side
   programming interfaces and support libraries for various languages.
   The second part explains the <productname>PostgreSQL</productname>
   approach to extensibility and describe how users can extend
   <productname>PostgreSQL</productname> by adding user-defined types,
   operators, aggregates, and both query language and programming
   language functions.  After a discussion of the
   <productname>PostgreSQL</productname> rule system, we discuss the
   trigger and SPI interfaces.  The third part documents the
   procedural languages available in the
   <productname>PostgreSQL</productname> distribution.
  </para>

  <para>
   Proficiency with Unix and C programming is assumed.
  </para>
 </preface>

 <part id="programmer-client">
  <title>Client Interfaces</title>
  &libpq;
  &lobj;
  &libpqpp;
  &libpgtcl;
  &libpgeasy;
  &ecpg;
  &odbc;
  &jdbc;
  &pygresql;
 </part>

 <part id="programmer-server">
  <title>Server Programming</title>
  &arch-pg;
  &extend;
  &xfunc;
  &xtypes;
  &xoper;
  &xaggr;
  &rules;
  &xindex;
  &indexcost;
  &gist;
  &trigger;
  &spi;
 </part>

 <part id="programmer-pl">
  <title>Procedural Languages</title>

  &xplang;
  &plsql;
  &pltcl;
  &plperl;
  &plpython;
 </part>

<![%single-book;[
 &biblio;
 &bookindex;
]]>

</book>

<!-- 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:
-->
