2004-12-03 06:50:18 +01:00
|
|
|
<!--
|
2004-12-13 19:05:10 +01:00
|
|
|
$PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.5 2004/12/13 18:05:08 petere Exp $
|
2004-12-03 06:50:18 +01:00
|
|
|
-->
|
|
|
|
|
|
|
|
<chapter id="external-projects">
|
|
|
|
<title>External Projects</title>
|
|
|
|
|
|
|
|
<para>
|
2004-12-03 07:30:40 +01:00
|
|
|
<productname>PostgreSQL</productname> is a complex software project,
|
|
|
|
and managing it is difficult. We have found that many
|
|
|
|
enhancements to <productname>PostgreSQL</productname> can be more
|
|
|
|
efficiently developed independently of the main project. They can
|
|
|
|
have their own developer teams, email lists, their own bug tracking,
|
|
|
|
and their own release schedule. While their independence makes
|
|
|
|
development easier, it makes user's jobs harder. They have to hunt
|
|
|
|
around looking for database enhancements to meet their needs.
|
|
|
|
This section outlines some of the more popular externally
|
2004-12-03 06:50:18 +01:00
|
|
|
developed enhancements and guides you on how to find them.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<sect1 id="interfaces">
|
|
|
|
<title>Externally Developed Interfaces</title>
|
|
|
|
|
|
|
|
<indexterm>
|
|
|
|
<primary>interfaces</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<para>
|
2004-12-03 07:30:40 +01:00
|
|
|
<productname>PostgreSQL</productname> includes very few interfaces
|
2004-12-03 06:50:18 +01:00
|
|
|
with the base distribution. <application>libpq</> is packaged because
|
|
|
|
it is the primary <application>C</> interface and many other
|
|
|
|
interfaces are built on top of it. <application>ecpg</> is packaged
|
2004-12-03 07:30:40 +01:00
|
|
|
because it is tied to the server-side grammar so is very dependent
|
2004-12-03 06:50:18 +01:00
|
|
|
on the database version. All the other interfaces are independent
|
2004-12-03 07:30:40 +01:00
|
|
|
projects and must be installed separately.
|
2004-12-03 06:50:18 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
To use other interfaces, you have to do some searching. For example,
|
|
|
|
<productname>GBorg</> at <ulink url="http://gborg.postgresql.org">
|
|
|
|
http://gborg.postgresql.org</ulink> has over thirty interfaces listed
|
|
|
|
in its <literal>Drivers/Interfaces</> section. Some of the more
|
|
|
|
popular interfaces are:
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term>psqlODBC</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
This is the most common interface for <application>Windows</>
|
|
|
|
applications.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>Npgsql</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<application>.Net</> interface for more recent
|
|
|
|
<application>Windows</> applications.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>libpq++</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
An older <application>C++</> interface.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>libpqxx</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A newer <application>C++</> interface.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>pgperl</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A <application>Perl</> interface with an <acronym>API</> similar
|
|
|
|
to <application>libpq</>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>DBD-Pg</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A <application>Perl</> interface that uses the
|
|
|
|
<acronym>DBD</>-standard <application>API</>.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>pgtcl</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The original version of the <application>TCL</> interface.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>PyGreSQL</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A <application>Python</> interface library.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>pgjdbc</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A <application>JDBC</> interface.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term>pgtclng</term>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
A newer version of the <application>TCL</> interface.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
That section also contains several server-side languages that are
|
|
|
|
separate projects. <application>pgFoundry</> at <ulink
|
|
|
|
url="http://pgfoundry.org">http://pgfoundry.org</ulink> contains
|
|
|
|
even more projects. Other projects are not even hosted on these
|
2004-12-13 19:05:10 +01:00
|
|
|
servers and you will have to do an Internet search to find them.
|
2004-12-03 06:50:18 +01:00
|
|
|
</para>
|
|
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
<sect1 id="extensions">
|
|
|
|
<title>Extensions</title>
|
|
|
|
|
|
|
|
<indexterm>
|
|
|
|
<primary>extensions</primary>
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
<productname>PostgreSQL</> was designed from the start to be
|
|
|
|
extensible. For this reason, extensions loaded into the database can
|
|
|
|
function just like features that are packaged with the database. The
|
2004-12-13 19:05:10 +01:00
|
|
|
<filename>contrib/</> directory shipped with the source code
|
2004-12-03 07:18:12 +01:00
|
|
|
contains a large number of extensions. The <filename>README</> file
|
2004-12-03 06:50:18 +01:00
|
|
|
in that directory contains a summary. They include conversion tools,
|
|
|
|
full-text indexing, <acronym>XML</> tools, and additional data types
|
|
|
|
and indexing methods. Other extensions are developed independently,
|
|
|
|
like <application>PostGIS</>. Even <application>PostgreSQL</>
|
|
|
|
replication solutions are developed externally. For example,
|
2004-12-13 19:05:10 +01:00
|
|
|
<application>Slony-I</> is a popular master/slave replication solution
|
2004-12-03 06:50:18 +01:00
|
|
|
that is developed independently from the main projects.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
There are several administration tools available for
|
|
|
|
<productname>PostgreSQL</>. The most popular is
|
2004-12-13 19:05:10 +01:00
|
|
|
<application>pgAdmin</>, and there are several commercially
|
2004-12-03 06:50:18 +01:00
|
|
|
available ones.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|
|
|
|
|
|
|
|
<!-- 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:
|
|
|
|
-->
|