我在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库。任何人都可以帮我完成延长工作的剩余步骤吗?提前谢谢!
答案 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。
pi@raspberrypi:~/$ sudo apt-cache search ".*plpython3.*"
postgresql-plpython3-11 - PL/Python 3 procedural language for PostgreSQL 11
sudo apt-get install postgresql-contrib postgresql-plpython3-11
sudo su - postgres
psql
CREATE EXTENSION plpython3u;
使用命令验证:
select * from pg_language;