1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-24 14:22:24 +03:00
Files
postgres/doc/src/sgml/external-projects.sgml
Daniel Gustafsson 5fd424c87a doc: Replace list of drivers and PLs with wiki link
The list of external language drivers and procedural languages was
never complete or exhaustive, and rather than attempting to manage
it the content has migrated to the wiki.  This replaces the tables
altogether with links to the wiki as we regularly get requests for
adding various projects,  which we reject without any clear policy
for why or how the content should be managed.

The threads linked to below are the most recent discussions about
this, the archives contain many more.

Backpatch to all supported branches since the list on the wiki
applies to all branches.

Author: Jonathan Katz <jkatz@postgresql.org>
Discussion: https://postgr.es/m/169165415312.635.10247434927885764880@wrigleys.postgresql.org
Discussion: https://postgr.es/m/169177958824.635.11087800083040275266@wrigleys.postgresql.org
Backpatch-through: v11
2023-08-23 14:13:07 +02:00

130 lines
4.4 KiB
Plaintext

<!-- 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>