PostgreSQL:如何安装plpythonu扩展

Pau*_*lno 12 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库.任何人都可以帮我完成延长工作的剩余步骤吗?提前致谢!

and*_*abs 12

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

apt-get update && apt-get install postgresql-plpython3-11
Run Code Online (Sandbox Code Playgroud)


Cra*_*ger 11

你正在使用Bitnami的PostgreSQL软件包/opt.目前尚不清楚你是否apt-get通过安装程序脚本/程序安装了这个程序,但在任何一种情况下,它都与Ubuntu postgresql程序包中的PostgreSQL不同.

安装postgresql-plpython对您没有任何好处,因为您正在为不同的PostgreSQL安装安装PL/Python支持,而不是您实际使用的安装.

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

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


小智 6

我正在运行 Raspbian 10 (buster) / 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
Run Code Online (Sandbox Code Playgroud)
  1. sudo apt-get install postgresql-contrib postgresql-plpython3-11

  2. sudo systemctl start postgresql(或用于enable在每次启动时启动它,请参阅Linux 上的 PostgreSQL 入门)在独立 Linux 或sudo service postgresql start(在 WSL2 上)。

否则,你会得到错误:

psql: error: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
  1. sudo su - postgres

  2. psql

  3. CREATE EXTENSION plpython3u;

  4. 使用命令验证:

select * from pg_language;
Run Code Online (Sandbox Code Playgroud)