首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法安装plpython3u - postgresql

无法安装plpython3u - postgresql
EN

Stack Overflow用户
提问于 2020-06-09 12:13:01
回答 2查看 615关注 0票数 2

我正在尝试在postgresql中使用python语言。如下所示:

代码语言:javascript
复制
create or replace function test(_a integer) returns integer as $$

if _a%2==0:
    return 'even'
elif _a%3==0:
    return 'mult of 3'

else:
    return _a

$$ language plpython3u

但是当我运行这段代码时,我得到了这个错误:

代码语言:javascript
复制
ERROR:  language "plpython3u" does not exist
HINT:  Use CREATE EXTENSION to load the language into the database.
SQL state: 42704

然后,我尝试通过执行以下命令来创建python语言的扩展:

代码语言:javascript
复制
create extension plpython3u

它告诉我以下错误:

代码语言:javascript
复制
ERROR:  could not load library "C:/Program Files/PostgreSQL/12/lib/plpython3.dll": The specified module could not be found.

SQL state: 58P01

我检查了plpython3.dll文件是否在那里。然后,我读到了一些关于通过从源代码编译postgres并添加--with python来修改postgresql configure文件的内容(我找到了其中的一些here)。

我的问题是我不知道如何真正做到这一点。我的操作系统是windows server 2019 64位,python版本是3.7.4,postgresql版本是12.2-1 (pgadmin 4.18)。

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

发布于 2020-10-23 03:23:35

让python与postgres协同工作似乎依赖于版本或版本。我目前使用的是postgres 9.6。我已经安装了python 3.9。我之前在postgres中安装了扩展plpython3u,但随着时间的流逝,我转移到了另一台计算机上。当我试图运行一个基于Python的过程时,我得到了一个错误。我从这里:https://www.opcsupport.com/s/article/How-do-I-figure-out-why-my-DLL-is-failing-Microsoft-Dependency-Walker或这里:https://www.dependencywalker.com/下载了依赖遍历。当我打开依赖遍历时,我将plpython3.dll拖入依赖遍历,.dll位于这里:f:\pg96lib。然后,我看到了下面的屏幕,似乎表明我需要安装Python3.7。我从这里下载了Python3.7:https://www.python.org/downloads/windows/。我的python过程现在可以工作了。

票数 1
EN

Stack Overflow用户

发布于 2020-06-09 13:58:04

不需要从源代码构建,这将需要您安装C编译器,这在Windows上是很重要的。

您从来没有告诉我们python3.dll是否存在于目录中,所以我假设它就在那里。然后,该错误将指示缺少python3.dll链接的共享库,很可能是Python3中的共享库。安装Python3可能会解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62274910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档