Database Reference
In-Depth Information
Quick introduction to PL/Python
In the previous chapters, we discussed PL/pgSQL which is one of the standard pro-
cedural languages distributed with PostgreSQL. PL/pgSQL is a language unique to
PostgreSQL and was designed to add blocks of computation and SQL inside the data-
base. While it has grown in its breath of functionality, it still lacks the completeness of
syntax of a full programming language. PL/Python allows your database functions to
be written in Python with all the depth and maturity of writing a Python code outside
the database.
A minimal PL/Python function
Let's start from the very beginning (again):
CREATE FUNCTION hello(name text)
RETURNS text
AS $$
return 'hello %s !' % name
$$ LANGUAGE plpythonu;
Here, we see that creating the function starts by defining it as any other PostgreSQL
function with a RETURNS definition of a text field:
CREATE FUNCTION hello(name text)
RETURNS text
The difference from what we have seen before is that the language part is specifying
plpythonu (the language ID for PL/Pythonu language):
$$ LANGUAGE plpythonu;
Inside the function body it is very much a normal python function, returning a value
obtained by the name passed as an argument formatted into a string 'hello %s !'
using the standard Python formatting operator % :
Search WWH ::




Custom Search