关键字:
KingbaseES、plpython3u安装
一、plpython3u介绍
PL/Python为Python的过程语言,允许用Python语言编写PSQL函数。PL/Python 只是一种“不可信”语言,这意味着它没有提供任何方法来限制用户在其中的所作所为,并且因此被命名为plpythonu。如果未来开发出在 Python 中的安全执行机制,可能会出现一种可信的变体plpython。
PL/Python 同时支持 Python 2 和 Python 3 两种语言变体。因为 Python 2 和 Python 3 语言变体在某些重要的方面并不兼容,PL/Python 使用了下列命名和转换模式以避免混淆它们:
- 名为plpython2u的 PostgreSQL 语言实现了基于 Python 2 语言变体的 PL/Python。
- 名为plpython3u的 PostgreSQL 语言实现了基于 Python 3 语言变体的 PL/Python。
- 名为plpythonu的语言实现了基于默认 Python语言变体(当前是 Python 2)的 PL/Python(这种默认与任何本地 Python 安装所认为的“默认”无关,例如/usr/bin/python)。
二、plpython3u安装
本实例的安装环境为Python3.10、KingbaseES V8。并根据Python函数的具体要求安装对应的第三方依赖包,如numpy、scipy、pandas等。
2.1.安装Python
- 从本地将Python3.10.0.tgz安装包上传到Linux服务器。
- 使用tar -zxvf Python-3.10.0.tgz命令解压Python3.10.0.tgz安装包。
- 使用cd Python-3.10.0/命令进入解压后的目录。
- sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
- ./configure --prefix=/home/liyan/Python-3.10.0/ --enable-shared,其中,--prefix为python安装目录。通过该链接生成Makefile文件。
- 使用make&&make install命令进行编译并安装。
2.2.设置python的环境变量
- 使用vi ~/.bashrc打开环境变量的配置界面。
- 在环境配置界面添加以下路径:

2.3.安装Python函数依赖的第三方包
- pip3 install numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --prefix /home/liyan/Python-3.10.0/
- pip3 install scipy-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --prefix /home/liyan/Python-3.10.0/
- pip3 install scikit_learn-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --prefix /home/liyan/Python-3.10.0/
- pip3 install pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --prefix /home/liyan/Python-3.10.0/
2.4.将修改的.py文件更新到依赖包文件中
2.5.重新编译KingbaseES V8
- 使用./configure --prefix=/home/liyan/postgresql --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-libxml --with-uuid=e2fs --enable-debug CFLAGS=-O0 --with-icu –with-python命令重新编译KingbaseES V8。
- 使用make world –j4命令进行编译。
- 使用make install-world进行安装,值得注意的是:一定要加-world,因为这样做会同时安装插件。
2.6.创建plpython3u扩展
启动并进入数据库,执行create extension plpython3u;
2.7.将plpython代码放入一个现有插件的sql执行文件中,返回终端,进入现有插件目录,使用make install 命令进行代码编译。
2.8.创建现有插件扩展
create extension kdb_oracle_aggex;
2.9.在KingbaseES V8中直接输入测试用例,就可以正常使用plpython3u扩展了。
三、总结
KingbaseES V8使用PL/Python过程语言创建扩展,实现了Oracle的新特性,兼容了Oracle。
本文详细介绍了在Python3.10环境下安装和配置PL/Python3u版本以在KingbaseESV8中使用的步骤,包括Python安装、环境变量设置、第三方库安装以及创建和测试plpython3u扩展。
1931

被折叠的 条评论
为什么被折叠?



