mirror of https://github.com/postgres/postgres
parent
28c8c99ac6
commit
6b16aaa065
@ -0,0 +1,223 @@ |
||||
<!-- |
||||
$PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.1 2004/12/03 05:50:17 momjian Exp $ |
||||
--> |
||||
|
||||
<chapter id="external-projects"> |
||||
<title>External Projects</title> |
||||
|
||||
<para> |
||||
<productname>PostgreSQL</productname> is a large piece of very |
||||
complex software, and managing the code is a difficult process. 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 users job harder. They have to hunt around looking for |
||||
database enhancements to meet their needs. |
||||
</para> |
||||
|
||||
<para> |
||||
This section will outlines some of the more popular externally |
||||
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> |
||||
<productname>PostgreSQL</productname> packages very few interfaces |
||||
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 |
||||
because it is tied to the server-side grammar so it is very dependent |
||||
on the database version. All the other interfaces are independent |
||||
projects. |
||||
</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>ODBC</term> |
||||
<listitem> |
||||
<para> |
||||
This is the most common interface for <application>Windows</> |
||||
applications. |
||||
</para> |
||||
</listitem> |
||||
</varlistentry> |
||||
|
||||
<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 |
||||
servers and you will have to do an internet search to find them. |
||||
</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 |
||||
<filename>/contrib</> directory shipped with the source code |
||||
contains a large number of extensions. The <filename>READMD</> file |
||||
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, |
||||
<application>Slony</> is a popular master/slave replication solution |
||||
that is developed independently from the main projects. |
||||
</para> |
||||
|
||||
</sect1> |
||||
|
||||
<sect1 id="administration-tools"> |
||||
<title>Administration Tools</title> |
||||
|
||||
<indexterm> |
||||
<primary>administration tools</primary> |
||||
</indexterm> |
||||
|
||||
<para> |
||||
There are several administration tools available for |
||||
<productname>PostgreSQL</>. The most popular is |
||||
<application>pgadmin</>, and there are several commercially |
||||
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: |
||||
--> |
||||
Loading…
Reference in new issue