<listitem>
<para>
<xref linkend="client-interfaces"/> describes the programming
interfaces for <productname>PostgreSQL</productname> client
programs.
</para>
</listitem>
<listitem>
<para>
<xref linkend="server-programming"/> contains information for
advanced users about the extensibility capabilities of the
server. Topics include user-defined data types and
functions.
</para>
</listitem>
<listitem>
<para>
<xref linkend="reference"/> contains reference information about
SQL commands, client and server programs. This part supports
the other parts with structured information sorted by command or
program.
</para>
</listitem>
<listitem>
<para>
<xref linkend="internals"/> contains assorted information that might be of
use to <productname>PostgreSQL</productname> developers.
</para>
</listitem>
</itemizedlist>
</para>
<sect1 id="intro-whatis">
<title> What Is <productname>PostgreSQL</productname>?</title>
<para>
<productname>PostgreSQL</productname> is an object-relational
database management system (<acronym>ORDBMS</acronym>) based on
<ulink url="https://dsf.berkeley.edu/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 a large part of the SQL
standard and offers many modern features:
<itemizedlist spacing="compact">
<listitem>
<simpara><link linkend="sql">complex queries</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="ddl-constraints-fk">foreign keys</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="triggers">triggers</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="sql-createview-updatable-views">updatable views</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="transaction-iso">transactional integrity</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="mvcc">multiversion concurrency control</link></simpara>
</listitem>
</itemizedlist>
Also, <productname>PostgreSQL</productname> can be extended by the
user in many ways, for example by adding new
<itemizedlist spacing="compact">
<listitem>
<simpara><link linkend="datatype">data types</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="functions">functions</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="functions">operators</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="functions-aggregate">aggregate functions</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="indexes">index methods</link></simpara>
</listitem>
<listitem>
<simpara><link linkend="server-programming">procedural languages</link></simpara>
</listitem>
</itemizedlist>
</para>
<para>
And because of the liberal license,
<productname>PostgreSQL</productname> can be used, modified, and
distributed by anyone free of charge for any purpose, be it
private, commercial, or academic.
</para>
</sect1>
&history;
¬ation;
&info;
&problems;
</preface>