当前位置: 首页 > 知识库问答 >
问题:

PostgreSQL无法创建plpythonu扩展

阙沛
2023-03-14

我试图写一个函数在PostgreSQL在Windows与Python脚本的主体,我运行到一个错误的消息时,试图创建plpythonu扩展。我运行的命令是:

CREATE EXTENSION plpythonu;

这将生成以下错误消息:

ERROR: could not access file "$libdir/plpython2": No such file or directory
SQL state: 58P01

我还试着跑步:

CREATE EXTENSION plpython3u;

这会导致以下错误:

ERROR: could not load library "C:/Program Files (x86)/PostgreSQL/9.2/lib/plpython3.dll": The specified module could not be found.
SQL state: 58P01

大蟒蛇。dll文件存在于该位置,但显然缺少一些关键依赖项。我到处都找遍了,没发现有什么有用的。我已经在机器上安装了Python2和Python3。。。

共有2个答案

阚乐湛
2023-03-14

可以找到完整的答案:https://postgresrocks.enterprisedb.com/t5/PostgreSQL/unable-to-install-pl-python-extension/m-p/4090它假定您已使用stackbuilder安装edb语言包。请检查安装中的命令是否正确。例如postgresql数据的路径、edb和python版本的安装路径。当您使用Dependency walker(depence.exe)时,只需注意pythonxx。dll。对于较旧的PG版本,这可能与EDB语言包安装的版本一致,也可能不一致。对于10.7版,需要3.4版Python。对于windows,更高的3.4 Python版本似乎没有msi安装程序。您可能必须先安装3.4.4,或尝试将第10页升级到最新版本(10.11)。此版本需要python 3.7,因此您可以使用EDB下载。但是python版本可能已经存在并且可以找到。无法加载库plpython3。dll(这里是stackoverflow)有点接近,但没有详细说明所需的环境变量。建议的解决方案不需要永久更改env vars,这在使用多个python安装时非常有用。

闾丘文昌
2023-03-14

EnterpriseDB最新(9.4或更高版本)的二进制安装仅包含plpython3u。dll。在9.4到9.6版本中,我必须安装Python3.3才能运行plpython3u。

您可以检查plpython3u需要哪个版本的Python。dll使用依赖项遍历器。

 类似资料:
  • 我正在Ubuntu 12.04.4上运行PostgreSQL 9.3.1。我想使用plpython语言扩展,但是当我尝试使用它时,我得到一个错误: 当我尝试创建扩展时: 我得到在对博客帖子进行了大量搜索和挖掘之后,我尝试安装其他软件包,并已将所有plpython文件从/usr/share/postgresql/9.1/extension复制到/opt/bitnami/postgresql/shar

  • 我已经在Windows 2012 R2服务器上安装了PostgreSQL Server 9.6.0和Python 3.4.2。 我复制了Python3。dll到C:/Program Files/PostgreSQL/9.6/lib/ 在PostgreSQL我尝试运行这个命令:创建EXTENSION plpython3u; 我收到这条信息: 错误:无法加载库"C:/Program Files/Pos

  • 我正试图用Gradle创建一个Fat/Uber罐子。不幸的是,我一直遇到以下错误: 我试图删除我的缓存目录,认为也许有些东西被破坏了,但仍然没有快乐。 建筑gradle文件: 我尝试过使用shadowJar插件,但这导致依赖项没有包含在胖jar中。关于这个问题,我有一个单独的问题。目前,我正在使用Maven,它完美地构建了一个胖罐子。

  • 我正在尝试将PostgreSQL配置为在我的rails应用程序中使用全文搜索,如本铁路广播中所述。 我使用的是一个全新的Ubuntu 12.04服务器,运行的是PostgreSQL 9.1.5,安装时使用的是apt get,使用的是ppa:pitti/PostgreSQL,使用的是precise。 尝试运行迁移时,以及在psql控制台中与对等postgres用户尝试相同的命令时,出现以下错误: 错

  • 好的,我看过很多关于这个的帖子,我花了一整天的时间来解决这个问题,但是没有成功。 我试图创建一个Laravel项目。我使用的是Mac(优胜美地),它运行PHP 5.5.14。机器上还有一个较旧版本的PHP。当我尝试使用“laravel new project ectname”从命令行创建项目时,没有报告错误,但是命令只创建了一个名为项目名称的空文件夹。我得到了“制作应用程序......”和“应用程

  • 问题内容: 我在掌握某些内容时遇到了一些问题-我可能正在处理完全错误的问题。 我正在尝试创建一个扩展ArrayList的类,但是具有一些增加功能的方法(至少对于我正在开发的程序而言)。 方法之一是findById(intid),它在每个ArrayList对象中搜索特定的id匹配项。到目前为止,它仍然有效,但它不会让我做for (Item i : this) { i.getId(); } 我不明白为