GBase 8a 支持使用python语言编写的UDF函数

本文介绍了GBase 8a如何使用PL/Python支持Python编写的UDF函数,包括匿名执行Python脚本和自定义函数的创建。详细阐述了参数传递、函数定义语法,并给出了多种数据类型的示例。同时,文中列出了当前支持的数据类型映射关系及存在的限制,如仅支持Python2、不支持Python3等。
摘要由CSDN通过智能技术生成

在Postgres中,使用PL/Python存储过程语言来支持使用python语言编写的UDF函数。PL/Python以‘非信任’语言( ’untrusted’ language)的形式存在,这意味着它不限制用户如何使用Python。所以这种语言被命名为plpythonu。如果Python将来提供了新的安全机制,会提供plpython语言。未信任的PL/Python的编写者必须谨慎编写这些函数,不要用来做非法操作,因为这个功能使得拥有DBA身份的用户可以执行任意脚本。只有超级用户才有权限创建这些函数。
1、匿名执行任意python脚本
支持参数传入,输出参数返回字符串类型的执行结果。
语法格式:

python(code,[<parameter_1>[,…] [,parameter_n])
code为字符串类型的python代码
parameter可选,type是GBase 8a MPP Cluster支持的数据类型
示例:

gbase> select python('return 1+1');
+----------------------+
| python('return 1+1') |
+----------------------+
| 2                    |
+----------------------+
gbase> select python('import datetime\nreturn datetime.datetime.now()');
+-----------------------------------------------------------+
| python('import datetime\nreturn datetime.datetime.now()') |
+-----------------------------------------------------------+
| 2017-01-03 17:38:47.138760                                |
+-----------------------------------------------------------+
gbase> select python('import platform\nreturn platform.platform()') as result;
+-------------------------------------------------------------+
| result                                                      |
+-------------------------------------------------------------+
| Linux-2.6.32-431.el6.x86_64-x86_64-with-redhat-6.5-Santiago |
gbase> set @a=1,@b=2;
gbase> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值