ANN: PL/Py 0.1 Release

James William Pye x at
Fri Jul 1 03:45:17 CEST 2005

After much hacking, and many liters of caffeinated beverages, it is my
pleasure to announce the first development release of PL/Py, the
PostgresPy Project[1]'s Backend elements for the PostgreSQL ORDBMS.

The very terse project news item can be found here[2].

PL/Py, PostgresPy's Backend Project, is a procedural language extension for
PostgreSQL, and a Python extension module providing Python interfaces to
PostgreSQL internals. It provides a PostgreSQL DBA with the necessary
functionality to create and execute functions written in Python within the

It has been designed with the principle of separating the embedding
instance from the extension module(interfaces), so as to provide
a very clean implementation.

The PL features the following:
 * Set Returning Functions.
 * State keeping (think generators, etc, yes even for SRFs!).
 * Type system interface (Single dimensional arrays and Composites).
 * Direct Database Function Calls.
 * Objectified Queries.
 * Exception management and interfaces.
 * Encoding Choreography (Works with the Database's encoding).
 * HeapTuple/TupleDesc interface types.
 * Transaction Dictionary.
 * Direct Portal interface.
 * Internal Subtransactions.
 * file like Large Object interface.
 * Full tracebacks and exception information in uncaught exceptions.
 * Procedure validation (Syntax check on CREATE and Code storage).
 * Direct Relation interface (coming soon).
 * Boogs. Yes, there are bugs.

For the quickest way to get started, see the Quick Start page[3].

The documentation for this project has yet to be completed. Some doc-strings
exist, so using the sandbox mentioned in the Quick Start is the best way to
discover the features of the PL.


More information about the Python-list mailing list