]> granicus.if.org Git - postgresql/commitdiff
First version of external projects manual section.
authorBruce Momjian <bruce@momjian.us>
Fri, 3 Dec 2004 05:50:18 +0000 (05:50 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 3 Dec 2004 05:50:18 +0000 (05:50 +0000)
doc/src/sgml/external-projects.sgml [new file with mode: 0644]
doc/src/sgml/filelist.sgml
doc/src/sgml/postgres.sgml

diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
new file mode 100644 (file)
index 0000000..d23bf24
--- /dev/null
@@ -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:
+-->
index 427b4739ece3d426e04d04bd2e93e5cf436c11c1..3dc13f44fb3ee7297b6339521da25563376dbac8 100644 (file)
@@ -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">
index 493f352157c0a6f63556e31b9549dd84d7579ed1..2f65f54d09bec8d0be1fac874f44da0e93fd80bf 100644 (file)
@@ -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;