我有一个Ubuntu18.04,Postgres 10服务器运行Python3.5.2,PL/Python函数工作得很好。
如何将PL/Python升级到3.8.0
我使用pyenv在用户'postgres‘下安装了3.8.0,我已经检查了python版本3.8.0,我甚至更新了/etc/postgresql/10/main/环境
PYTHONPATH= '/var/lib/postgresql/.pyenv/shims/python3'但是当我运行PL/Python函数时
CREATE FUNCTION ptest ()
RETURNS text
AS $$
import sys
return sys.version
$$ LANGUAGE plpython3u;结果仍然是3.5.2
发布于 2019-12-09 18:48:21
PostgreSQL的plpython扩展需要针对正确的python头文件进行编译。我怀疑头文件在python3.5和3.8之间是二进制兼容的。您需要自己重新编译PostgreSQL扩展(或全部PostgreSQL),或者找到一个附带正确编译包的包(我怀疑您会找到这个包)。
简单的答案是,“不要这样做”。你为什么要这么做?如果我愿意针对一条流血的边缘蟒构建我自己的版本,我可能会使用一个正在流血的边缘PostgreSQL,而不是两年前的版本。
发布于 2021-07-31 17:19:17
来回答为什么..。原因有二:
我同意,如果Postgresql /Python团队还不支持升级,就不应该“强制”升级。
来解决这件事。我见过一些人在PL/Python中使用虚拟环境。如果可以的话,尽量避免走这条路,而是直接得到Postgresql /Python团队的支持。
https://stackoverflow.com/questions/59252400
复制相似问题