博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PL/Python PostgreSQL 存储过程语言(花架子)
阅读量:6892 次
发布时间:2019-06-27

本文共 1870 字,大约阅读时间需要 6 分钟。

hot3.png

总有一天,我要把这样的文章,删掉,通通删掉,I Hate PG!

plpythonu安装

安装呢是在编译的过程中选择

./configure --with-python [root@laptop]# ./configure --help |grep python  --with-python           build Python modules (PL/Python)[root@]# 具体可以使用如下命令论证./configure --help |grep python  (Linux 环境中多使用 help, 真个人生都是升华的,不多说了,技术的梗,离开技术希望你也能活)

然后使用psql 吧,类似安装模块的语法,安装语言

postgres=#   CREATE PROCEDURAL LANGUAGE plpythonu;CREATE LANGUAGEpostgres=# \?postgres=# \dL                       List of languages   Name    |  Owner   | Trusted |         Description          -----------+----------+---------+------------------------------ plpgsql   | postgres | t       | PL/pgSQL procedural language plpythonu | postgres | f       | (2 rows)postgres=# \dL+postgres=# CREATE OR REPLACE FUNCTION hello ()postgres-#   RETURNS TEXTpostgres-# AS $$postgres$# import ospostgres$# return '你好,我当前目录为:'+ os.getcwd()postgres$# $$ LANGUAGE plpythonu;CREATE FUNCTIONpostgres=# SELECT hello();               hello                ------------------------------------ 你好,我当前目录为:/dev/shm/hello(1 row)postgres=#

开篇一: 在greenplum(@pivotal) 中使用PL/Python

在下面的语句中加入了 try{} catch {} 是加入了异常处理

CREATE TABLE test(id int, name varchar(20));INSERT INTO test(id, name) VALUES(1, 'hire'),(2, 'me');CREATE OR REPLACE FUNCTION query_test(a text) RETURNS text AS $$try:    query = "SELECT name FROM test"    r = plpy.execute(query)    return r[0]except Exception, ex:    plpy.notice(str(ex))    return str(ex)$$LANGUAGE plpythonu ; SELECT query_test('nothing');SELECT * FROM test;

定义查询计划 使用prepare

CREATE OR REPLACE FUNCTION query_test(a text) RETURNS text AS $$try:    query = "SELECT id FROM test where name = $1 "    plan = plpy.prepare(query, ["text"])    r = plpy.execute(plan , [a])    return r[0]except Exception, ex:    plpy.notice(str(ex))    return str(ex)$$LANGUAGE plpythonu ; SELECT query_test('me');

参考资料:

  1. 猪脑子

转载于:https://my.oschina.net/innovation/blog/782306

你可能感兴趣的文章
加密、解密、签名
查看>>
STAR云安全评估
查看>>
文件共享服务(personal-note)
查看>>
推荐13款优秀的网页线框图设计和制作工具
查看>>
Linux实现的IEEE 802.1Q VLAN
查看>>
我的友情链接
查看>>
NYOJ19 擅长排列的小明
查看>>
webbench网站压力测试工具
查看>>
服务器被恶意篡改密码之后
查看>>
Java中的static关键字解析
查看>>
简单示例实现django的orm
查看>>
在linux中如何安装源码包
查看>>
我的友情链接
查看>>
运维进行时-修改数据库密码
查看>>
android 数据存储小结
查看>>
Maps in ES6
查看>>
(桌面虚拟化最佳实践--呼叫中心系统优化之一)呼叫中心的特点
查看>>
Windows 活动目录(AD)服务器系统升级到2012之旧域降级(四)
查看>>
PHP 字符串
查看>>
exchange server 2013 owa im和lync server 2013集成异常的解决办法
查看>>