问题标签 [plpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2448 浏览

python - postgresql 9 plpython2.dll 未找到

我正在尝试在我的 postgresql 数据库中启用 PL/Python2。我的设置如下

在 \lib 文件夹中,我有 plpython3.dll 但没有 plpython2.dll,我需要作为我需要使用的函数是用 Python2 编写的。

我在另一个论坛上找到了一个 plpython2.dll,但它是一个 32 位版本(我使用依赖walker 来测试 dll 需要什么)

我已经尝试过只有 plpython.dll 的 postgresql 9.0(当我按照这些说明安装 plpython 时 Postgres 数据库崩溃),然后我尝试了 postgresql 9.1 并且出现了 plpython3.dll。

在文档中它指出“二进制包的用户可能会在单独的子包中找到 PL/Python”。但我在任何地方都找不到。

我的 PATH 环境变量中有正确的 Python,甚至将 python26.dll 复制到 \lib 文件夹中。

有谁知道我在哪里可以找到 plpython2.dll?

谢谢

0 投票
1 回答
2736 浏览

python - 就性能而言,PostgreSQL PL/Python 与它之外的 Python 相比如何?

我运行完全相同的 Python 函数,一个作为 PostgreSQL PL/Python,另一个在 PostgreSQL 之外作为常用的 Python 脚本。

令人惊讶的是,当我使用 调用 PostgreSQL PL/Pythonselect * from pymax7(20000);时,平均需要 65 秒,而当我调用通常的 Python 脚本python myscript.py 20000时,平均需要 48 秒。运行查询和脚本 10 次计算平均值。

应该预期这样的差异吗?PostgreSQL RDBMS (PL/Python) 内部的 Python 在性能方面与外部的 Python 相比如何?

我在 Ubuntu 12.04 64 位上运行 PostgreSQL 9.1 和 Python 2.7。

PostgreSQL PL/Python:

Python:

0 投票
2 回答
283 浏览

python - PL/Python 错误“无法将 SPI 错误转换为 Python 异常”

我正在研究一组 PL/Python 存储过程。我正在使用 PostgreSQL 9.3(从 apt.postgresql.org 安装)和 Python 2.7 解释器;在 Ubuntu 13.04 上运行。

该错误发生在大型操作的中间(创建一个物化视图,该视图使用来自具有 > 300,000 行的源表的数据并使用 PL/Python 存储过程计算一些字段)。

我得到的错误输出是:

(“get_first_level_parent”是其中一个存储过程的名称)。

PostgreSQL 服务器日志不提供任何进一步的说明(我不熟悉 PostgreSQL 和 PL/Python 内部结构)。使用详细错误日志记录运行时,我得到以下信息:

PostgreSQL 错误代码文档告诉我这XX000internal_error. 如果我隔离对存储过程的调用并在它自己的语句中运行它,例如SELECT get_first_level_parent(373673007),它不会引发错误。

我的问题是 - 我可以使用哪些工具/技术来调试此类错误?对于我当前的问题,我很可能通过重写存储过程来“解决”问题(慢慢地,一次测试一小部分)。这是唯一的出路吗?

0 投票
1 回答
1231 浏览

sql - PL/Python 错误:NameError:未定义全局名称“用户定义函数的名称”

我正在运行 Postgres 9.3,并且正在尝试创建一个调用用户定义的 sql 函数的 PL/Python 函数,但是在使用以下命令调用该函数后出现以下错误消息SELECT * FROM f2(TEXT1, TEXT2)

sql 函数如下所示:

PL/Python 函数是这样的:

因此,似乎在 f2 中找不到 f1,即使我可以自己调用它。

对此有任何指示吗?谢谢

0 投票
2 回答
3056 浏览

postgresql - 如何获取plpy执行的查询结果

我正在使用 postgres 9.3 和 Python 2.7。

在 plpython 函数中,我想执行一个返回布尔值的查询。我怎样才能得到布尔结果?

例如:

0 投票
1 回答
1230 浏览

postgresql - 将查询结果存储在 plpython 函数中的列表变量中

我对 postgresql 和编写函数很陌生,所以请耐心等待。我需要将 Python 脚本转换为 postgresql 函数,并且我打算为此目的使用 PL/Python。但是我在这样做时遇到了一些问题。执行该函数时,我收到一个错误:

错误:TypeError:+ 不支持的操作数类型:'int' 和 'dict' SQL 状态:XX000 上下文:回溯(最后一次调用):PL/Python 函数“椭圆”,第 5 行,平均 X=float( sum(Xarray))/len(Xarray) if len(Xarray) > 0 else float('nan') PL/Python 函数“椭圆”

据我所知,查询将结果存储在字典中,然后导致此错误(因为我正在尝试使用脚本中的列表进行操作)。至少我认为这可能是问题所在。所以我的问题是 - 有没有办法将查询结果存储在列表变量中?

0 投票
2 回答
5275 浏览

postgresql - 在 Windows 上安装 plpythonu

我正在尝试在 Windows 机器上的 postgres 服务器上安装 plpython。当我在 postgres 中发出命令CREATE EXTENSION plpython3u;时,出现以下错误,我正在尝试查找其来源。

该文件存在,我认为这意味着 Windows 找不到它所依赖的文件之一。当我使用Dependency Walker打开 plpython3.dll 时,它告诉我它找不到 GPSVC.dll。

这个缺失的 dll 是否可能会导致CREATE EXTENSION命令失败?我在 C:\Windows\System32 中找到了一个同名的 .dll 并将其复制到 C:\Windows\SysWOW64,但这并没有解决问题,虽然依赖 walker 现在找到了 .dll,但它引发了其他几个有关具有不同 CPU 类型的模块的错误。

0 投票
2 回答
3901 浏览

postgresql - 是否有任何方法可以在 Windows 64 位的 Postgresql 9.3 64 位或 32 位中成功安装 PLPython?

运行CREATE EXTENSION plpython3u给了我错误-The specified module could not be found即使文件位于正确的位置。

在阅读了网络上的所有内容后,我尝试按照建议下载另一个 python 版本(3.2)并替换dll.

现在我收到一个关于缺少魔术块的错误:缺少魔术块提示:需要扩展库才能使用 PG_MODULE_MAGIC 宏。

我用 32 位和 64 位版本的 Postgresql 尝试了相同的过程,但都失败了,就像解释的那样。

是否有任何解决方案可以在 Windows 64 位操作系统上安装该 PLPython?

0 投票
1 回答
1087 浏览

postgresql - plpython,plpythonu,plpython2u有什么区别

plpython,plpythonu,plpython2u有什么区别。

u 和 2u 是什么意思。

环顾四周,我找不到任何关于这件事的信息。

0 投票
2 回答
1269 浏览

python - 在 PL/Python 函数之间重用纯 Python 函数

我想在两个或多个 PL/Python 函数之间声明和共享一些简单的纯 Python 函数。我正在使用 Postgres 9.3。

例如,我有:

我想is_float在其他一些 PL/Python 函数中使用函数。我知道我可以将它创建为可调用的 PL/Python 函数,但我发现比直接调用纯 Python、自定义实用程序函数要笨重得多(执行基于 SQL 的 PL/Python 调用)。

是否可以在 Postgres 上通过 PL/Python 可重用的纯 Python 函数创建和公开?