September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

G.3. Procedural Languages

PostgreSQL includes several procedural languages with the base distribution: PL/pgSQL, PL/Tcl, PL/Perl, and PL/Python.

In addition, there are a number of procedural languages that are developed and maintained outside the core PostgreSQL distribution. Table G-2 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.

Table G-2. Externally Maintained Procedural Languages

Name Language Website
PL/Java Java https://github.com/tada/pljava
PL/PHP PHP https://public.commandprompt.com/projects/plphp
PL/Py Python http://python.projects.postgresql.org/
PL/R R http://www.joeconway.com/plr/
PL/Ruby Ruby http://raa.ruby-lang.org/project/pl-ruby/
PL/Scheme Scheme http://plscheme.projects.postgresql.org/
PL/sh Unix shell https://github.com/petere/plsh