Repair memory leaks in plpython.
[pgsql.git] / doc / src / sgml / external-projects.sgml
blob50872dfd88e2d935c58b127ebc959f9dc9fc71fc
1 <!-- doc/src/sgml/external-projects.sgml -->
3 <appendix id="external-projects">
4 <title>External Projects</title>
6 <para>
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.
11 </para>
13 <sect1 id="external-interfaces">
14 <title>Client Interfaces</title>
16 <indexterm>
17 <primary>interfaces</primary>
18 <secondary>externally maintained</secondary>
19 </indexterm>
21 <para>
22 There are only two client interfaces included in the base
23 <productname>PostgreSQL</productname> distribution:
24 <itemizedlist>
25 <listitem>
26 <para>
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.
30 </para>
31 </listitem>
33 <listitem>
34 <para>
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.
38 </para>
39 </listitem>
40 </itemizedlist>
42 All other language interfaces are external projects and are distributed
43 separately. A
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.
49 </para>
51 <para>
52 <ulink url="https://wiki.postgresql.org/wiki/List_of_drivers"></ulink>
53 </para>
54 </sect1>
56 <sect1 id="external-admin-tools">
57 <title>Administration Tools</title>
59 <indexterm>
60 <primary>administration tools</primary>
61 <secondary>externally maintained</secondary>
62 </indexterm>
64 <para>
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.
69 </para>
70 </sect1>
72 <sect1 id="external-pl">
73 <title>Procedural Languages</title>
75 <indexterm>
76 <primary>procedural language</primary>
77 <secondary>externally maintained</secondary>
78 </indexterm>
80 <para>
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>.
86 </para>
88 <para>
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
97 and documentation.
98 </para>
100 <para>
101 <ulink url="https://wiki.postgresql.org/wiki/PL_Matrix"></ulink>
102 </para>
103 </sect1>
105 <sect1 id="external-extensions">
106 <title>Extensions</title>
108 <indexterm>
109 <primary>extension</primary>
110 <secondary>externally maintained</secondary>
111 </indexterm>
113 <para>
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.
127 </para>
128 </sect1>
129 </appendix>