Received: from corvus.biomed.brown.edu (corvus.biomed.brown.edu [128.148.30.15]) by postgresql.org (8.11.3/8.11.1) with ESMTP id f351Np831401 for ; Wed, 4 Apr 2001 21:23:51 -0400 (EDT) (envelope-from andrew@corvus.biomed.brown.edu) Received: by corvus.biomed.brown.edu (Postfix, from userid 1000) id 5E61199803; Wed, 4 Apr 2001 21:15:34 -0400 (EDT) Date: Wed, 4 Apr 2001 21:15:34 -0400 To: pgsql-interfaces@postgresql.org Subject: Python as a procedural language Message-ID: <20010404211534.A13150@corvus.biomed.brown.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.12i From: andrew@corvus.biomed.brown.edu (Andrew Bosma) X-Archive-Number: 200104/19 X-Sequence-Number: 1402 Hi I've coded up a module that implements python as a procedural language for postgresql. A tarball can be downloaded at http://users.ids.net/~bosma If anyone is interested, take a look at it. Comments and suggestions would be appreciated. Functions and triggers work. The SPI interface can run execute queries and saved plans. I'm sure there's a bug or three still lurking in there. Installation instructions are in the tarball. The only complication is that for python to load its dynamic modules without unresolved symbols, the flags passed to dlopen need to be modified. This means you will have to rebuild postgres. Is there any reason why the default dlopen is called without the RTLD_GLOBAL flag? (Actually you can build without modifying postgres, but that requires explicitly linking python loadable modules to the language module.) Thanks Andrew Bosma --