在postgresql (Windows版)中使用plpython

PL/Python过程语言允许用Python 语言编写PostgreSQL函数。 我们需要安装python扩展程序。

 要注意Windows 版本PostgreSQL和Python的版本对应关系。经验证,PostgreSQL 11 支持Python 3.6-3.8;PostgreSQL 9.6只支持Python 3.3;Postgresql 9.2-9.5只支持Python 3.2。

对于 PostgreSQL 9.6,安装plpython的方法如下:

1. 下载并安装Python 3.3。在https://www.python.org/download/releases/ 选择操作系统对应对应版本。

2. 进入python的安装路径下的DDLs文件夹,找到python3.dll。把它复制到Postgresql安装目录下的lib文件夹中,重命名为python33.dll(“33”代表python 3.3).

3. 重启PostgreSQL 使之生效

4. 执行如下测试代码:

create extension if not exists plpython3u;

create function pymax (a integer, b integer)

returns integer

as $$

    if a > b:

        return a

    return b

$$ language plpython3u;

 

select pymax(1,2);

 

返回结果:2

这样就成功地创建并调用了一个由PL/Python编写的函数。

 

对于 PostgreSQL 11,安装plpython的方法如下:

  1. 下载并安装Python 3.6。在https://www.python.org/download/releases/ 选择操作系统对应对应版本
  2. 进入python的安装目录,找到python3.dll。把它复制到PostgreSQL安装目录下的lib文件夹中,重命名为python36.dll(“36”代表python 3.6).
  3.  重启PostgreSQL 即可生效

 

注意:

如果PostgreSQL没有安装python.dll程序,或者安装的python.dll版本不对,在执行“CREATE EXTENSION plpython3u” 后,会报出如下错误:

ERROR:  could not access file "$libdir/plpython3": No such file or directory.

所以一定要注意安装正确的版本。

 

你可能感兴趣的:(postgresql)