PostgreSQL PLPython - Python Procedural Language 安装

PostgreSQL PLPython - Python Procedural Language 安装,第1张

概述PL/Python - Python Procedural Language 安装 前提是你系统里安装了python2,python3,pg数据库。 查看系统提供plpython包(已经编译好的)。 [root@localhost ~]# dnf search python |grep postgresqlpython3-postgresql.x86_64 : Connect to Postgr PL/Python - Python Procedural Language 安装

前提是你系统里安装了python2,python3,pg数据库。

查看系统提供plpython包(已经编译好的)。
[root@localhost ~]# dnf search python |grep postgresqlpython3-postgresql.x86_64 : Connect to Postgresql with Python 3python-storm-postgresql.x86_64 : Postgresql backend for python-stormpostgresql-plpython.x86_64 : The Python2 procedural language for Postgresqlpostgresql95-plpython.x86_64 : The Python procedural language for Postgresqlpostgresql94-plpython.x86_64 : The Python procedural language for Postgresqlpostgresql-plpython3.x86_64 : The python3 procedural language for Postgresqlpostgresql94-python-deBUGinfo.x86_64 : DeBUG information for package                                     : postgresql94-pythonpostgresql94-python.x86_64 : Development module for Python code to access apython-testing.postgresql.noarch : automatically setup a Postgresql testingpython3-testing.postgresql.noarch : automatically setup a Postgresql testing

我用的是fedora22系统。postgresql-plpython.x86_64、postgresql-plpython3.x86_64是我们需要安装的(Python2和python3版本都支持)。

安装插件包
[root@localhost ~]# dnf install postgresql-plpython.x86_64[root@localhost ~]# dnf install postgresql-plpython3.x86_64
检查一下安装目录是否有插件:
-bash-4.3$ pwd/usr/share/pgsql/extension-bash-4.3$ ll |grep python-rw-r--r--. 1 root root   351 6月  13 03:06 plpython2u--1.0.sql-rw-r--r--. 1 root root   196 6月  13 03:06 plpython2u.control-rw-r--r--. 1 root root   402 6月  13 03:06 plpython2u--unpackaged--1.0.sql-rw-r--r--. 1 root root   351 6月  13 03:06 plpython3u--1.0.sql-rw-r--r--. 1 root root   196 6月  13 03:06 plpython3u.control-rw-r--r--. 1 root root   402 6月  13 03:06 plpython3u--unpackaged--1.0.sql-rw-r--r--. 1 root root   347 6月  13 03:06 plpythonu--1.0.sql-rw-r--r--. 1 root root   194 6月  13 03:06 plpythonu.control-rw-r--r--. 1 root root   393 6月  13 03:06 plpythonu--unpackaged--1.0.sql-bash-4.3$

plpython3u.control、plpython2u.control等已经有了。

pg数据库安装plpython扩展
CREATE EXTENSION plpython3u; CREATE EXTENSION plpython2u;

上述sql的执行可以在pgadmin IDE工具里执行(有权限用户)。可以查看是否安装了扩展。

试一下创建一个函数:
CREATE FUNCTION pymax (a integer,b integer)  RETURNS integerAS $$  if a > b:    return a  return b$$ LANGUAGE plpython3u;

执行一下:

select pymax(12,13);

输出13。

pgadmin 查看已经安装的扩展图:

错误处理:

错误处理错误: 无法打开扩展控制文件 "/usr/share/pgsql/extension/plpythonu3.control": 没有那个文件或目录

********** 错误 **********

错误: 无法打开扩展控制文件 "/usr/share/pgsql/extension/plpythonu3.control": 没有那个文件或目录sql 状态: 58P01

上述错误表示插件安装包没能安装正确。必须确保pg扩展目录内有,才可以。

总结

以上是内存溢出为你收集整理的PostgreSQL PL/Python - Python Procedural Language 安装全部内容,希望文章能够帮你解决PostgreSQL PL/Python - Python Procedural Language 安装所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1175622.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存