From 6b16aaa065596d140c63bc848cb91d96f053d889 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Fri, 3 Dec 2004 05:50:18 +0000 Subject: [PATCH] First version of external projects manual section. --- doc/src/sgml/external-projects.sgml | 223 ++++++++++++++++++++++++++++ doc/src/sgml/filelist.sgml | 3 +- doc/src/sgml/postgres.sgml | 5 +- 3 files changed, 228 insertions(+), 3 deletions(-) create mode 100644 doc/src/sgml/external-projects.sgml 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; -- GitLab