On Sat, Sep 8, 2012 at 12:05 AM, John R Pierce <pie...@hogranch.com> wrote:

> On 09/07/12 1:57 PM, Gražvydas Valeika wrote:
>
>>
>> I don't use RHEL, I use Scientific Linux clone of it. And
>> yum.postgresql.org <http://yum.postgresql.org/> repository packages. It
>> contains plpyton2. In Fedora  16 - fedora repostitories, plpython2. In
>> Windows - Enterprise DB 32 bit installer, contains plpython3.dll which uses
>> Python 3. No sign of plpython2. Same with 64 bit binaries zip file (I don't
>> have installed 64 bit PG on Windows).  In windows, PG contains plpython3u
>> description files in share/extension directory, but doesn't have
>> plpython2.dll file required by these module definitions.
>>
>
> plpython is dependent on python.  and EL6 ships with
>
> python.x86_64                 2.6.6-29.el6             @base
>
> so if yum.postgresql.org was built with python3 support, it would have to
> supply an alternate version of the python runtime, which would have to be
> installed somewhere OTHER than the default python location or it would
> break various RHEL built in utilities that depend on Python, such as... YUM
> itself.
>
>
>
> OK. It seemed to me, that plpython2 and plpython3 were introduced exactly
for this reason.

Postgres documentation (
http://www.postgresql.org/docs/9.1/static/plpython-python23.html) states:

It is not allowed to use PL/Python based on Python 2 and PL/Python based on
Python 3 in the same session, because the symbols in the dynamic modules
would clash, which could result in crashes of the PostgreSQL server
process. There is a check that prevents mixing Python major versions in a
session, which will abort the session if a mismatch is detected. It is
possible, however, to use both PL/Python variants in the same database,
from separate sessions.

Reply via email to