External Projects

PostgreSQL is a complex software project, and managing the project is difficult. We have found that many enhancements to PostgreSQL can be more efficiently developed separately from the core project.

10.148. Client Interfaces

There are only two client interfaces included in the base PostgreSQL distribution:

  1. linkend=»libpq»>libpq is included because it is the

    primary C language interface, and because many other client interfaces are built on top of it.

  2. linkend=»ecpg»>ECPG is included because it depends on the

    server-side SQL grammar, and is therefore sensitive to changes in PostgreSQL itself.

All other language interfaces are external projects and are distributed separately. language-interface-table includes a list of some of these projects. Note that some of these packages might not be released under the same license as PostgreSQL. For more information on each language interface, including licensing terms, refer to its website and documentation.

Externally Maintained Client Interfaces

10.149. Administration Tools

There are several administration tools available for PostgreSQL. The most popular is pgAdmin, and there are several commercially available ones as well.

10.150. Procedural Languages

PostgreSQL includes several procedural languages with the base distribution: linkend=»plpgsql»>PL/pgSQL, linkend=»pltcl»>PL/Tcl,

linkend=»plperl»>PL/Perl, and

linkend=»plpython»>PL/Python.

In addition, there are a number of procedural languages that are developed and maintained outside the core PostgreSQL distribution. pl-language-table lists some of these packages. Note that some of these projects might not be released under the same license as PostgreSQL. For more information on each procedural language, including licensing information, refer to its website and documentation.

Externally Maintained Procedural Languages

10.151. Extensions

PostgreSQL is designed to be easily extensible. For this reason, extensions loaded into the database can function just like features that are built in. The contrib/ directory shipped with the source code contains several extensions, which are described in contrib. Other extensions are developed independently, like PostGIS. Even PostgreSQL replication solutions can be developed externally. For example, Slony-I is a popular primary/standby replication solution that is developed independently from the core project.