PostgreSQL:如何安装plpythonu扩展

时间:2014-09-29 01:31:53

标签: python postgresql

我在Ubuntu 12.04.4上运行PostgreSQL 9.3.1。我想使用plpython语言扩展,但是当我尝试使用它时出现错误:

ERROR: language "plpythonu" does not exist

当我尝试创建扩展程序时:

CREATE EXTENSION plpythonu

...我收到错误: ERROR: could not access file "$libdir/plpython2": No such file or directory

经过大量搜索和挖掘博客文章后,我尝试安装其他软件包并将所有plpython文件从/usr/share/postgresql/9.1/extension复制到/ opt / bitnami / postgresql / share / extension,其中PostgreSQL似乎寻找他们。这至少让我到了PostgreSQL看到可用扩展的地方。我跑的时候:

select name, default_version, installed_version from pg_available_extensions where name like 'plpy*'

我明白了:

name | default_version | installed_version ------------+-----------------+------------------- plpython2u | 1.0 | plpython3u | 1.0 | plpythonu | 1.0 |

我仍然没有在/ opt / bitnami / postgresql / lib中看到的plpython库。任何人都可以帮我完成延长工作的剩余步骤吗?提前谢谢!

3 个答案:

答案 0 :(得分:11)

您正在/opt使用Bitnami的PostgreSQL软件包。不清楚你是用apt-get还是通过安装程序脚本/程序安装它,但在任何一种情况下它都不是和Ubuntu {{1中的那个'不同的PostgreSQL包裹。

安装postgresql对你没有任何好处,因为你正在为不同的PostgreSQL安装安装PL / Python支持,而不是你实际使用的那个。

您需要使用最初用于安装Bitnami PostgreSQL的相同安装方法来添加PL / Python支持(如果可用)。它可能不是由Bitnami提供的。

否则,如果你不太喜欢使用Bitnami的PostgreSQL,你可以使用http://apt.postgresql.org/推荐的软件包。

答案 1 :(得分:0)

对于postgres 11.2(基于Debian),我需要安装:

apt-get update && apt-get install postgresql-plpython3-11

答案 2 :(得分:0)

我正在运行Raspbian 10(破坏程序)/ Linux raspberrypi 4.19.97-v7 +#1294,并运行以下命令在PostgreSQL 11.7上安装PL / Python 3。

  1. 确定哪些版本可用于安装:
pi@raspberrypi:~/$ sudo apt-cache search ".*plpython3.*"
postgresql-plpython3-11 - PL/Python 3 procedural language for PostgreSQL 11
  1. sudo apt-get install postgresql-contrib postgresql-plpython3-11

  2. sudo su - postgres

  3. psql

  4. CREATE EXTENSION plpython3u;

  5. 使用命令验证:

select * from pg_language;