The PL/Python procedural
language allows PostgreSQL
functions to be written in the Python language.

To install PL/Python in a particular database, use CREATE EXTENSION plpythonu, or from the shell
command line use createlang plpythonu
dbname (but see also
Section 42.1).

Tip: If a language is installed into template1, all subsequently created databases
will have the language installed automatically.

As of PostgreSQL 7.4,
PL/Python is only available as an "untrusted" language, meaning it does not offer
any way of restricting what users can do in it. It has therefore
been renamed to plpythonu. The trusted
variant plpython might become available
again in future, if a new secure execution mechanism is developed
in Python. The writer of a function in untrusted PL/Python must
take care that the function cannot be used to do anything
unwanted, since it will be able to do anything that could be done
by a user logged in as the database administrator. Only
superusers can create functions in untrusted languages such as
plpythonu.

Note: Users of source packages must specially
enable the build of PL/Python during the installation
process. (Refer to the installation instructions for more
information.) Users of binary packages might find PL/Python
in a separate subpackage.