mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	First version of external projects manual section.
This commit is contained in:
		
							parent
							
								
									28c8c99ac6
								
							
						
					
					
						commit
						6b16aaa065
					
				
							
								
								
									
										223
									
								
								doc/src/sgml/external-projects.sgml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										223
									
								
								doc/src/sgml/external-projects.sgml
									
									
									
									
									
										Normal file
									
								
							@ -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:
 | 
			
		||||
-->
 | 
			
		||||
@ -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">
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user