PostgreSql中使用python



windows的环境搭建

  1. 找到windows系统上面pg需要的python版本。
    1. 在pg的安装目录下面的lib(如:C:\Program Files\PostgreSQL\9.4\lib)找到文件plpython3.dll
    2. 下载工具分析依赖:depend.exe(下载地址: http://www.dependencywalker.com/)
    3. 分析出依赖的python版本,譬如:Postgresql9.4需要python3.3
  2. 安装python。
    1. 在python官网下载相应的python版本,并且和pg的位数一致(64bits)
    2. 安装python,配置环境变量,cmd中输入python,正常运行即可。
  3. 用superuser登录pg,执行:create extension plpython3u;
  4. 没有报错,完成环境的搭建.


Linux下环境的搭建

  1. 安装python,如果是源码安装需要制定 --enable-shared
  2. 配置Linux下的python环境变量,如:
    PYTHON_HOME=~~/python/3_5
    export PATH=$PYTHON_HOME/bin:$PATH
    export PYTHON=$PYTHON_HOME/bin/python3
    export LD_LIBRARY_PATH=$PYTHON_HOME/lib:$LD_LIBRARY_PATH 
  3. pg采用源码编译,并制定-with-python3
  4. 用superuser登录pg,执行:create extension plpython3u;
  5. 没有报错即可


测试:


create or replace function py_max(a  int, b int)
returns int
as
$$
    if a > b:
        return a
    return b
$$ language plpython3u; 

select py_max(10, 20);
=> 20


使用python做存储过程的优势

  1. 有些流程控制更加方便
  2. 可以使用python的自带的库,譬如分词库,numpy等等
10-04 15:50