PostgreSQL中使用Python编写存储过程实现科学计算
条评论作为写进官方文档过程语言支持,Python
可说是PostgreSQL
中最适合写数据库函数的了。因为Python
是宇宙最强胶水语言,能用Python
就意味着打开了另一个世界的大门,比如GPU计算
、机器学习
什么的。当然这是后话了,今天我们先来个简单的,做些与科学计算有关的的东西(这应该也很少有人在数据库上来做)。需要这样几个步骤。
1. 前期准备
至少要在服务上装备好PostgreSQL 10
、Python 3
2. 安装postgresql-plpython-10
扩展
apt-get install postgresql-plpython3-10 |
3. 在PostgreSQL中启用扩展
create extension "plpython3u"; |
4. 尝试创建一个函数
create function pymax(a integer, b integer) |
5. 执行函数
studypg=# select pymax(2, 3); |
结果完美
6. 尝试来点复杂的
这次引用numpy
库,用来计算以e为底的自然数对数
,其实就是numpy
中封装好的log
函数啦。
create or replace function pylog(x float) |
执行一下,效果完美
studypg=# select pylog(1); |
如果遇到提示
[38000] ERROR: ImportError: No module named 'numpy' |
说明服务器的numpy
模块没安装,可以通过下面的命令安装
pip3 install numpy |
总结
至此你已经学会了,如何在PostgreSQL
中使用Python
,以及借助Python
生态的力量,去解决传统关系型数据库并未涉足的领域。希望能对你有所帮助。如果你钟爱JavaScript
,可以看我之前写的用JavaScript在PostgreSQL中写存储过程,也不失为一个有意思的尝试。
本文标题:PostgreSQL中使用Python编写存储过程实现科学计算
文章作者:牧云踏歌
发布时间:2018-09-29
最后更新:2019-01-28
原始链接:http://www.kankanzhijian.com/2018/09/29/PostgreSQL-python-function/
版权声明:本博客文章均系本人原创,转载请注名出处