PL/Python过程语言允许用Python 语言编写PostgreSQL函数。 我们需要安装python扩展程序。
要注意PostgreSQL和Python的版本对应关系。PostgreSQL 9.6只支持Python 3.3;Postgresql 9.2-9.5只支持Python 3.2。
1. 下载并安装Python 3.3。在https://www.python.org/download/releases/3.3.0/ 选择操作系统对应对应版本。
2. 进入python的安装路径下的DDLs文件夹,找到python3.dll。把它复制到Postgresql安装目录下的lib文件夹中,重命名为python33.dll(“33”代表python 3.3).
3. 执行如下代码:
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没有安装python.dll程序,或者安装的python.dll版本不对,在执行“CREATE EXTENSION plpython3u” 后,会报出如下错误:
ERROR: could not access file "$libdir/plpython3": No such file or directory.
所以一定要注意安装正确的版本。