Chapter 40. PL/Python - Python Procedural Language

Table of Contents
40.1. PL/Python Functions
40.2. Trigger Functions
40.3. Database Access

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

To install PL/Python in a particular database, use createlang plpythonu dbname .

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 may become available again in future, if a new secure execution mechanism is developed in Python.

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.