1 <!-- doc/src/sgml/external-projects.sgml -->
3 <appendix id=
"external-projects">
4 <title>External Projects
</title>
7 <productname>PostgreSQL
</productname> is a complex software project,
8 and managing the project is difficult. We have found that many
9 enhancements to
<productname>PostgreSQL
</productname> can be more
10 efficiently developed separately from the core project.
13 <sect1 id=
"external-interfaces">
14 <title>Client Interfaces
</title>
17 <primary>interfaces
</primary>
18 <secondary>externally maintained
</secondary>
22 There are only two client interfaces included in the base
23 <productname>PostgreSQL
</productname> distribution:
27 <link linkend=
"libpq">libpq
</link> is included because it is the
28 primary C language interface, and because many other client interfaces
29 are built on top of it.
35 <link linkend=
"ecpg">ECPG
</link> is included because it depends on the
36 server-side SQL grammar, and is therefore sensitive to changes in
37 <productname>PostgreSQL
</productname> itself.
42 All other language interfaces are external projects and are distributed
44 <ulink url=
"https://wiki.postgresql.org/wiki/List_of_drivers">list of language interfaces
</ulink>
45 is maintained on the PostgreSQL wiki. Note that some of these packages are
46 not released under the same license as
<productname>PostgreSQL
</productname>.
47 For more information on each language interface, including licensing terms,
48 refer to its website and documentation.
52 <ulink url=
"https://wiki.postgresql.org/wiki/List_of_drivers"></ulink>
56 <sect1 id=
"external-admin-tools">
57 <title>Administration Tools
</title>
60 <primary>administration tools
</primary>
61 <secondary>externally maintained
</secondary>
65 There are several administration tools available for
66 <productname>PostgreSQL
</productname>. The most popular is
67 <application><ulink url=
"https://www.pgadmin.org/">pgAdmin
</ulink></application>,
68 and there are several commercially available ones as well.
72 <sect1 id=
"external-pl">
73 <title>Procedural Languages
</title>
76 <primary>procedural language
</primary>
77 <secondary>externally maintained
</secondary>
81 <productname>PostgreSQL
</productname> includes several procedural
82 languages with the base distribution:
<link
83 linkend=
"plpgsql">PL/pgSQL
</link>,
<link linkend=
"pltcl">PL/Tcl
</link>,
84 <link linkend=
"plperl">PL/Perl
</link>, and
<link
85 linkend=
"plpython">PL/Python
</link>.
89 In addition, there are a number of procedural languages that are developed
90 and maintained outside the core
<productname>PostgreSQL
</productname>
91 distribution. A list of
92 <ulink url=
"https://wiki.postgresql.org/wiki/PL_Matrix">procedural languages
</ulink>
93 is maintained on the PostgreSQL wiki. Note that some of these projects are
94 not released under the same license as
<productname>PostgreSQL
</productname>.
95 For more information on each procedural language, including licensing
96 information, refer to its website
101 <ulink url=
"https://wiki.postgresql.org/wiki/PL_Matrix"></ulink>
105 <sect1 id=
"external-extensions">
106 <title>Extensions
</title>
109 <primary>extension
</primary>
110 <secondary>externally maintained
</secondary>
114 <productname>PostgreSQL
</productname> is designed to be easily extensible. For
115 this reason, extensions loaded into the database can function
116 just like features that are built in. The
117 <filename>contrib/
</filename> directory shipped with the source code
118 contains several extensions, which are described in
119 <xref linkend=
"contrib"/>. Other extensions are developed
120 independently, like
<application><ulink
121 url=
"https://postgis.net/">PostGIS
</ulink></application>. Even
122 <productname>PostgreSQL
</productname> replication solutions can be developed
123 externally. For example,
<application> <ulink
124 url=
"https://www.slony.info">Slony-I
</ulink></application> is a popular
125 primary/standby replication solution that is developed independently
126 from the core project.