Re: Reply: [GENERAL] 回复: [GENERAL] Can't create plpython language

From: Raghavendra <raghavendra(dot)rao(at)enterprisedb(dot)com>
To: guxiaobo1982 <guxiaobo1982(at)qq(dot)com>
Cc: Jov <amutu(at)amutu(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>, Asif Naeem <asif(dot)naeem(at)enterprisedb(dot)com>
Subject: Re: Reply: [GENERAL] 回复: [GENERAL] Can't create plpython language
Date: 2013-07-16 08:23:57
Message-ID: CA+h6AhiQDjamL3BGpy0-6EC4FA9kLBw4vReDbu6x1guEmXUJFw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Jul 15, 2013 at 7:10 PM, guxiaobo1982 <guxiaobo1982(at)qq(dot)com> wrote:

> It works with ActivePython 3.2.2.3,
>

Thanks for notifying.

> but not ActivePython 2.7.2.5.
>
>
No idea... :), I tried AP 3.2 with PG 9.2 & PG 9.3B it went fine for me.

---
Regards,
Raghavendra
EnterpriseDB Corporation
Blog: http://raghavt.blogspot.com/

>
> ------------------ Original ------------------
> *From: * "Raghavendra"<raghavendra(dot)rao(at)enterprisedb(dot)com>;
> *Date: * Jul 11, 2013
> *To: * "guxiaobo1982"<guxiaobo1982(at)qq(dot)com>; **
> *Cc: * "Jov"<amutu(at)amutu(dot)com>; "Michael Paquier"<michael(dot)paquier(at)gmail(dot)com>;
> "pgsql-general"<pgsql-general(at)postgresql(dot)org>; "Asif Naeem"<
> asif(dot)naeem(at)enterprisedb(dot)com>; **
> *Subject: * Re: Reply: [GENERAL] 回复: [GENERAL] Can't create plpython
> language
>
> On Wed, Jul 10, 2013 at 7:36 AM, guxiaobo1982 <guxiaobo1982(at)qq(dot)com> wrote:
>
>> I am using PostgreSQL 9.3 beta 2
>>
>> [postgres(at)lix Multicorn-master]$ psql
>> psql (9.3beta2)
>> Type "help" for help.
>>
>> postgres=#
>>
>>
>> It does not work with
>> ActivePython3.2(ActivePython-3.2.2.3-linux-x86_64.tar.gz), Which version of
>> PostgreSQL are you running?
>>
>>
> Sorry for being late on this email. I overlooked the version you were
> pointing. I didn't test on PG 9.3Beta, I did on PG 9.2 after looking your
> error showing PG 9.2.4
>
> [postgres(at)lix PostgreSQL]$ psql
>> Password:
>> psql (9.2.4)
>> Type "help" for help.
>> postgres=# create language plpython2u;
>> ERROR: could not access file "$libdir/plpython2": No such file or
>> directory
>> postgres=# create language plpython3u;
>> ERROR: could not access file "$libdir/plpython3": No such file or
>> directory
>
>
> Later, I began testing it with PG 9.3beta and encountered same error
> message as you have shared here.
> Did some analysis and finally succeeded to create language plpython3u with
> AP-3.2, however with not many tweaks in compilation.(Steps might be
> arguing. Pardon me).
>
> Despite the fact that I have ActivePython-3.2 on my system, source
> compilation was looking for shared library. Hence compiled explicitly with
> shared_libpython=yes.
>
> Pre-Steps: (Assuming you have ActivePython 3.2)
>
> cd /opt/ActivePython-3.2/bin/
> cp python3.2-config python-config
> cp python3. python
>
> Test:
> export PATH=/opt/ActivePython-3.2/bin:$PATH
> # which python
> /opt/ActivePython-3.2/bin/python
> # which python-config
> /opt/ActivePython-3.2/bin/python-config
>
> Steps:
>
> 1. Install PG 9.3 beta with below steps:
>
> export PATH=/opt/ActivePython-3.2/bin:$PATH
> ./configure --prefix=/usr/local/pg93b3 --with-python
> make shared_libpython=yes
> make shared_libpython=yes install
>
> 2. After installation you should see below files in your PG installation
> Path:
>
> [root(at)localhost pg93b3]# pwd
> /usr/local/pg93b3
> [root(at)localhost pg93b3]# find . | grep python
> ./lib/postgresql/plpython3.so
> ./share/postgresql/extension/plpython3u--unpackaged--1.0.sql
> ./share/postgresql/extension/plpython3u--1.0.sql
> ./share/postgresql/extension/plpython3u.control
>
> 3. Now, create new cluster using INITDB
> 4. Before starting the cluster set the PYTHONHOME, PYTHONPATH,
> LD_LIBRARY_PATH
>
> export PYTHONHOME=/opt/ActivePython-3.2/
> export PYTHONPATH=/opt/ActivePython-3.2/bin:$PATH
> export LD_LIBRARY_PATH=/opt/ActivePython-3.2/lib:$LD_LIBRARY_PATH
>
> 5. Start the cluster and create the language:
>
> /usr/local/pg93b3/bin/pg_ctl -D /usr/local/pg93b3/data/ start
>
> -bash-4.1$ psql -p 4444
> psql (9.3beta1)
> Type "help" for help.
>
> postgres=# create language plpython3u;
> CREATE LANGUAGE
>
> Out of my analysis on the issue, Asif Naeem from our Dev group shared his
> valuable thoughts to conclude this. Thanks Asif.
>
> Question still in mind, Why plpython depends on Shared Libraries (.so) ?
>
> http://www.postgresql.org/docs/9.3/static/install-requirements.html
>
> ---
> Regards,
> Raghavendra
> EnterpriseDB Corporation
> Blog: http://raghavt.blogspot.com/
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Luca Ferrari 2013-07-16 08:34:31 Re: last_vacuum field is not updating
Previous Message guxiaobo1982 2013-07-16 06:52:16 Reply: Reply: Can we specify transaction level when connectting toexternal postgresql server via postgres_fdw