## H.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 H.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 H.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/backend/
PL/R | R | https://github.com/postgres-plr/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