summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/external-projects.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/external-projects.sgml')
-rw-r--r--doc/src/sgml/external-projects.sgml129
1 files changed, 129 insertions, 0 deletions
diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml
new file mode 100644
index 0000000..50872df
--- /dev/null
+++ b/doc/src/sgml/external-projects.sgml
@@ -0,0 +1,129 @@
+<!-- doc/src/sgml/external-projects.sgml -->
+
+ <appendix id="external-projects">
+ <title>External Projects</title>
+
+ <para>
+ <productname>PostgreSQL</productname> is a complex software project,
+ and managing the project is difficult. We have found that many
+ enhancements to <productname>PostgreSQL</productname> can be more
+ efficiently developed separately from the core project.
+ </para>
+
+ <sect1 id="external-interfaces">
+ <title>Client Interfaces</title>
+
+ <indexterm>
+ <primary>interfaces</primary>
+ <secondary>externally maintained</secondary>
+ </indexterm>
+
+ <para>
+ There are only two client interfaces included in the base
+ <productname>PostgreSQL</productname> distribution:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="libpq">libpq</link> is included because it is the
+ primary C language interface, and because many other client interfaces
+ are built on top of it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <link linkend="ecpg">ECPG</link> is included because it depends on the
+ server-side SQL grammar, and is therefore sensitive to changes in
+ <productname>PostgreSQL</productname> itself.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ All other language interfaces are external projects and are distributed
+ separately. A
+ <ulink url="https://wiki.postgresql.org/wiki/List_of_drivers">list of language interfaces</ulink>
+ is maintained on the PostgreSQL wiki. Note that some of these packages are
+ not released under the same license as <productname>PostgreSQL</productname>.
+ For more information on each language interface, including licensing terms,
+ refer to its website and documentation.
+ </para>
+
+ <para>
+ <ulink url="https://wiki.postgresql.org/wiki/List_of_drivers"></ulink>
+ </para>
+ </sect1>
+
+ <sect1 id="external-admin-tools">
+ <title>Administration Tools</title>
+
+ <indexterm>
+ <primary>administration tools</primary>
+ <secondary>externally maintained</secondary>
+ </indexterm>
+
+ <para>
+ There are several administration tools available for
+ <productname>PostgreSQL</productname>. The most popular is
+ <application><ulink url="https://www.pgadmin.org/">pgAdmin</ulink></application>,
+ and there are several commercially available ones as well.
+ </para>
+ </sect1>
+
+ <sect1 id="external-pl">
+ <title>Procedural Languages</title>
+
+ <indexterm>
+ <primary>procedural language</primary>
+ <secondary>externally maintained</secondary>
+ </indexterm>
+
+ <para>
+ <productname>PostgreSQL</productname> includes several procedural
+ languages with the base distribution: <link
+ linkend="plpgsql">PL/pgSQL</link>, <link linkend="pltcl">PL/Tcl</link>,
+ <link linkend="plperl">PL/Perl</link>, and <link
+ linkend="plpython">PL/Python</link>.
+ </para>
+
+ <para>
+ In addition, there are a number of procedural languages that are developed
+ and maintained outside the core <productname>PostgreSQL</productname>
+ distribution. A list of
+ <ulink url="https://wiki.postgresql.org/wiki/PL_Matrix">procedural languages</ulink>
+ is maintained on the PostgreSQL wiki. Note that some of these projects are
+ not released under the same license as <productname>PostgreSQL</productname>.
+ For more information on each procedural language, including licensing
+ information, refer to its website
+ and documentation.
+ </para>
+
+ <para>
+ <ulink url="https://wiki.postgresql.org/wiki/PL_Matrix"></ulink>
+ </para>
+ </sect1>
+
+ <sect1 id="external-extensions">
+ <title>Extensions</title>
+
+ <indexterm>
+ <primary>extension</primary>
+ <secondary>externally maintained</secondary>
+ </indexterm>
+
+ <para>
+ <productname>PostgreSQL</productname> is designed to be easily extensible. For
+ this reason, extensions loaded into the database can function
+ just like features that are built in. The
+ <filename>contrib/</filename> directory shipped with the source code
+ contains several extensions, which are described in
+ <xref linkend="contrib"/>. Other extensions are developed
+ independently, like <application><ulink
+ url="https://postgis.net/">PostGIS</ulink></application>. Even
+ <productname>PostgreSQL</productname> replication solutions can be developed
+ externally. For example, <application> <ulink
+ url="https://www.slony.info">Slony-I</ulink></application> is a popular
+ primary/standby replication solution that is developed independently
+ from the core project.
+ </para>
+ </sect1>
+</appendix>