PostgreSQL插件的安装

1、Windows下postgresql的插件安装

所有的插件都是通过源代码编译的 ,在window上需要自己用msvc去编译,在linux用 gcc

安装步骤:

首先,你得在你Windows上安装postgresql

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

选择一个版本安装,这里需要注意,安装完后会跳出下面页面:

点击下一步,勾选下图选项,这是安装语言所需要的

安装完成,修改pg_hba.conf 以及postgresql.conf,修改完配置文件,重启一下服务

1.1、下载和安装PostgreSQL相对应的plv8版本,下载地址如下:

http://www.postgresonline.com//downloads/pg10plv8jsbin_w64.zip

1.解压后:

2.将bin、lib、share文件夹下文件分别复制到PostgreSQL的相对应的安装目录下:

3.打开PostgreSQL SQL编辑器,执行下列sql语句:

CREATE EXTENSION plv8;
CREATE EXTENSION plls;
CREATE EXTENSION plcoffee;

CREATE OR REPLACE FUNCTION upsert_inventory(param_inv json) RETURNS
text AS $$
var o = JSON.parse(param_inv);
/** update plan **/
var uplan = plv8.prepare('UPDATE inventory SET prod_name = $1, loc_id = $2 WHERE prod_code = $3', ['text', 'int', 'text'] );
/** insert plan **/
var iplan = plv8.prepare('INSERT INTO inventory( prod_name, loc_id, prod_code) VALUES($1, $2, $3)', ['text', 'int', 'text'] );
var num_changed;
var num_ins = 0, num_upd = 0;
if (typeof o != 'object')
   return NULL;
else {
    for(var i=0; i<o.length; i++){
      num_changed = uplan.execute([o[i].prod_name, o[i].loc_id, o[i].prod_code]);
      num_upd += num_changed;
      if (num_changed == 0){ /** we got no updates, so insert **/
        num_changed = iplan.execute([o[i].prod_name, o[i].loc_id, o[i].prod_code]);
        num_ins += num_changed;
      } 
    } 
}
iplan.free();
uplan.free();
return num_upd + ' record(s) updated and ' + num_ins + ' records inserted';
$$ LANGUAGE plv8 VOLATILE;

安装PostgreSQL的plv8插件成功!

1.2、下载和安装PostgreSQL相对应的plpython3u插件

1.下载地址如下(因为我的postgresql的版本是10.3-2,故对应的Python版本应为3.4):

https://www.python.org/ftp/python/3.4.0/python-3.4.0.amd64.msi

2.安装好后,打开PostgreSQL SQL编辑器,执行下列sql语句:

CREATE extension plpython3u;

3.查看安装后的插件:

SELECT * from pg_extension;

postgresql增加plpython3u编程语言 centos7环境:

请参考https://blog.csdn.net/weixin_43198168/article/details/86644629

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值