Table of Contents
The PL/Python procedural language allows Postgres Pro functions and procedures to be written in the Python language.
To install PL/Python in a particular database, use
CREATE EXTENSION plpython3u.
If a language is installed into template1, all subsequently
created databases will have the language installed automatically.
PL/Python is only available as an “untrusted” language, meaning
it does not offer any way of restricting what users can do in it and
is therefore named plpython3u. A trusted
variant plpython might become available in the future
if a 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 plpython3u.
The plpython3u language is supported in
Postgres Pro Standard. The corresponding extension is
supplied as a separate pre-built package
postgrespro-std-16-plpython3 (for the
detailed installation instructions, see Chapter 16).