问题标签 [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 回答
364 浏览

python - 一个查询中打开了多少个plpython执行环境?

postgres(和greenplum)中的用户定义函数是独立运行的吗?当我使用 plpythonu 用户定义函数进行查询时,打开了多少个执行环境?运行查询时是否有任何共享的 python 解释器状态?

假设我有一个 plpython 用户定义函数:

对于一个表create table files (name varchar, path varchar)和对该表的查询,如下所示:

每次执行我的 plpython 函数都会产生一个新的 python 环境吗?在 MPP 数据库中,我可以假设 postgres 的行为在每个段之间重复,而段之间没有共享状态吗?

0 投票
2 回答
949 浏览

python - 像在spss中一样在sql中制作数据透视表

我在 PostgreSQL 中有很多数据。但我需要像 SPSS 一样做一些数据透视表。例如,我有城市和州的表格。

实际上,在这张表中,我有 4 个城市和 2 个州。我想用百分比做数据透视表

我了解如何在这种特殊情况下使用 sql 来做到这一点。但我想要的只是使用一些存储函数将一个变量与另一个变量交叉(只需计算不同的值并通过“count(*)其中variable_in_column_names = 1等等)来划分它。我现在在看plpython。我的一些问题是:

  1. 如何在没有形状适合输出列的数量和类型的临时表的情况下输出记录集。
  2. 也许有可行的解决方案?

如我所见,输入将是表名、第一个变量的列名、第二个变量的列名。在函数体中进行大量查询(count(*),遍历变量中的每个不同值并对其进行计数等等),然后返回一个带有百分比的表。

  1. 实际上我在一个查询中没有很多行(大约 10k),并且可能是在原始 python 中做这些事情的最好方法,而不是 plpython?
0 投票
5 回答
21235 浏览

python - postgres 和 python

在 postgres 9.2 中,我正在尝试创建一个可以作为触发器的 python 程序。我想运行一个外部程序(本地磁盘上的一个 exe),所以我使用 python 来运行它。当我尝试创建一个这样的简单程序时:

我得到错误:

当我运行时:

我得到错误:

我正在使用 Windows 7 和 python 2.5 。

我查看了很多地方,但找不到解决方案。

有任何想法吗?

0 投票
1 回答
1359 浏览

postgresql - plpython 获取 INSERT TRIGGER 上的所有行

我正在尝试使用 python 触发器过程实现类似于复制的东西。

程序

扳机

这确实有效,但效率不高。行是批量插入的,我想重用套接字来发送所有行。但是,当我执行语句级触发器时,我无权访问这些行。

我正在考虑定义一个序列,该序列将是最后处理的行 id。然后使用它SELECT在语句级触发器内部获取过程中的所有数据。问题是似乎没有一种方法可以在不增加序列值的情况下获取它。

关于如何解决这个问题的任何建议?

0 投票
2 回答
4078 浏览

python - plpython 中的 import 语句是如何处理的?

我有一个 plypython 函数,它可以做一些 json 魔术。为此,它显然导入了 json 库。

每次调用函数时都会调用导入吗?我必须注意任何性能影响吗?

0 投票
0 回答
200 浏览

python - 参数化创建表时的 PL/Python 错误

我正在运行一堆按 PostgreSQL 8.3 数据库上的日期参数化的清理脚本。

我只是想用几个日期变量参数化一堆代码并测试创建表给我以下错误:

警告:无法转储无法识别的节点类型:858861618

这是导致问题的代码:

如何使用 python 参数化一个简单的创建表脚本而不生成错误警告:无法转储无法识别的节点类型:858861618?

0 投票
1 回答
680 浏览

python - 从 plpython 函数之间传递一个 real[] 作为参数

我是 python 新手,我正在尝试在 pl/python 中进行一些服务器编程(以实现更快的处理),经过多次尝试,我决定在此列表中寻求帮助。

我想通过传递一个vessel_speed创建的类型从另一个调用一个pl/python函数

我正在尝试以这种方式从另一个 pl/python 调用虚拟函数:

返回错误:

任何人都知道如何解决这个问题?...或任何替代解决方案?非常感谢,胡安

0 投票
1 回答
476 浏览

postgresql - 在 Postgres 中哪里可以找到我的 PLPython 函数?

我已经在特定模式中创建了一些函数,但是“函数”部分里面什么都没有。

我创建了像这个例子这样的函数:

0 投票
1 回答
928 浏览

python - postgres plpy.execute 与 hstore 字符串文字失败

我正在使用 postgresql 9.2 编写一个 plpython 函数。假设代码已经执行了一个返回 hstore 字符串的查询。然后我想发出一个查询:

假设它是一个包含 hstore 字符串的字符串:A=>B

运行方式

退货

如果您在上面的代码中替换为 hstore_to_array,则输出为:

我还尝试使用 hstore 运算符而不是函数,并且我已经在 pgsql 终端中尝试了这些函数,以确保它们在未嵌入 python 时工作。任何指针将不胜感激。

0 投票
1 回答
2261 浏览

python - 如何在 Postgres 中使用 Plpython3 返回结果集

plpython 函数如何将结果集作为普通的 sql 查询结果集(而不是文本)返回。

这是函数定义 -

当我执行select demo_report(); 它应该将结果集返回给客户端而不是文本。现在我将其作为文本 - 在此处输入图像描述

我在 Windows 上使用带有 plpython3u 的 Postgres 9.2。