summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2004-12-03 05:50:18 +0000
committerBruce Momjian2004-12-03 05:50:18 +0000
commit6b16aaa065596d140c63bc848cb91d96f053d889 (patch)
tree980d64410a5a40916c39ef1810f69ae4769dc46d
parent28c8c99ac6ca92e98050b3bf54dfb18f2d882afc (diff)
First version of external projects manual section.
-rw-r--r--doc/src/sgml/external-projects.sgml223
-rw-r--r--doc/src/sgml/filelist.sgml3
-rw-r--r--doc/src/sgml/postgres.sgml5
3 files changed, 228 insertions, 3 deletions
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
new file mode 100644
index 00000000000..d23bf24d6e5
--- /dev/null
+++ b/doc/src/sgml/external-projects.sgml
@@ -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:
+-->
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml
index 427b4739ece..3dc13f44fb3 100644
--- a/doc/src/sgml/filelist.sgml
+++ b/doc/src/sgml/filelist.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.39 2004/11/12 21:50:53 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.40 2004/12/03 05:50:18 momjian Exp $ -->
<!entity history SYSTEM "history.sgml">
<!entity info SYSTEM "info.sgml">
@@ -48,6 +48,7 @@
<!entity dfunc SYSTEM "dfunc.sgml">
<!entity ecpg SYSTEM "ecpg.sgml">
<!entity extend SYSTEM "extend.sgml">
+<!entity external-projects SYSTEM "external-projects.sgml">
<!entity func-ref SYSTEM "func-ref.sgml">
<!entity infoschema SYSTEM "information_schema.sgml">
<!entity libpq SYSTEM "libpq.sgml">
diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml
index 493f352157c..2f65f54d09b 100644
--- a/doc/src/sgml/postgres.sgml
+++ b/doc/src/sgml/postgres.sgml
@@ -1,5 +1,5 @@
<!--
-$PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.67 2004/12/03 01:23:38 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.68 2004/12/03 05:50:18 momjian Exp $
-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [
@@ -179,7 +179,7 @@ $PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.67 2004/12/03 01:23:38 momjian
&lobj;
&ecpg;
&infoschema;
- &external_projects;
+ &external-projects;
</part>
@@ -236,6 +236,7 @@ $PostgreSQL: pgsql/doc/src/sgml/postgres.sgml,v 1.67 2004/12/03 01:23:38 momjian
&geqo;
&indexcost;
&gist;
+ &filelayout;
&page;
&bki;