问题标签 [postgrex]

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 投票
2 回答
466 浏览

postgresql - 设置事务隔离级别时的 Phoenix / Elixir 测试

我有一段看起来像这样的代码:

在我的测试套件中,我不断遇到错误:

我想知道我是否在做一些根本性的错误,或者我是否缺少有关测试环境的某些东西。

谢谢!

0 投票
1 回答
373 浏览

elixir - 为什么以小于 6 的精度将 DateTime 转储到 :utc_datetime_usec 会失败?

我想知道为什么我不能DateTime以小于 6 的精度转储一个?为什么我们不能只用零填充?

例子

预期的

实际的

0 投票
1 回答
124 浏览

elixir - Postgrex - 查询返回不明确的列引用错误

我有以下查询:

我收到以下错误: ERROR 42702 (ambiguous_column): column reference "sectors" is ambiguoussectors是一个嵌入的模式Profile

我试图解决这个问题是通过将filter_sector查询的结构改造成这样的:

但我仍然遇到同样的错误。奇怪的是,当过滤器只有一个“扇区”值或一个“可用性”值时,查询可以工作,但是当两个值都存在时,就会出现错误。

0 投票
0 回答
88 浏览

postgresql - 如何使用 Postgrex 在 Amazon Redshift 上执行的 SELECT 语句的结果填充本地 Postgres 表?

Postgrex 文档给出了这个如何传输数据的优秀示例:

但是,这不适用于 Redshift,因为 Redshift 不支持 COPY TO STDOUT。如果我从 Postgrex 尝试它,我会得到一个语法错误,与从 psql 尝试它一样。根据 Redshift,“不支持从 Xen-tables 复制到文件”。

所以我将我的 COPY TO STDOUT 切换为 SELECT,但现在我不知道如何在第二部分中加载它。如果我将其保留为 COPY FROM STDIN,它只会将所有结果加载到一行中。

有什么建议么?

0 投票
1 回答
1141 浏览

elixir - 如何防止繁琐的查询在 Postgrex 中超时?

我正在运行查询并使用 Postgrex 将结果加载到 Stream 中,如下所示:

但我收到以下错误:

由于我想做繁琐的查询,这些查询肯定需要超过 2950 毫秒才能运行,我想知道如何配置 Postgrex 以让我的查询花费更多时间。我在https://hexdocs.pm/postgrex/Postgrex.html#transaction/3阅读了有关该:timeout选项的信息,但我不确定如何包含它,或者它是否是我正在寻找的。

非常感谢任何指导,谢谢!

0 投票
0 回答
76 浏览

elixir - 如何使用 Postgrex 将 Elixir 值转换为 SQL 格式?

例如,假设我有一个 Postgrex 日期值~D[2017-11-28]。我想将它传递给一个假设的 Postgrex 函数Postgrex.hypothetical_format_to_sql,该函数将返回类似的东西"2017-11-28"(即相同的数据,但采用 PostgreSQL 格式而不是 Elixir 数据)。

理想情况下,它采用任意 Elixir 值并将其格式化为 Postgres 数据。我强烈怀疑 Postgrex 中存在类似的东西。我读了这个(https://hexdocs.pm/postgrex/Postgrex.Extension.html#callbacks),它提到encode(state)但不清楚这是否符合我想要做的事情(看起来很可能不是)

如果有人对我如何解决这个问题有任何建议,我们将不胜感激。谢谢!

0 投票
0 回答
35 浏览

postgrex - 使用 postgrex 查询 bytea 字段

我正在尝试使用以下内容查询 postgres 中的表:

device_id变量是一个 Elixir 字符串,当idowner_id列是时,此查询曾经工作text。但是它们已更改为bytea,我的查询现在没有返回任何行。

表中有一个匹配的行。我该如何解决?

0 投票
1 回答
249 浏览

postgresql - elixir,ecto:无法将参数传递给“CREATE VIEW”原始 SQL 查询

我们正在构建一个 elixir 应用程序,并使用 ecto 连接到我们的数据库。应用程序的角色之一是根据我们的事件存储创建报告。我们决定用原始 SQL 编写这些报告的代码。

我需要使用一些参数创建一个临时视图。考虑以下代码:

上面的代码,只有一个参数,不起作用(显然在 ecto/postgrex 级别)。但是,删除参数会使 postgres 级别的查询失败。

我已经使用这种方式为大量查询传递参数,包括 SELECT 和 CREATE TABLE 查询。然而,出于某种原因, CREATE VIEW 似乎不接受参数。

知道如何解决这个问题吗?

0 投票
1 回答
40 浏览

postgresql - 如何停止 Postgrex 进程及其 TypeServer 进程?

我有几千个数据库。我想一个接一个地连接到它们中的每一个并发出查询。我通过为每个人启动一个这样的 Postgrex 进程来做到这一点。

然后我发出 a Postgrex.query,然后像这样停止它

一切似乎都很好,除了我最终有数千个Postgrex.TypeServer进程占用了似乎很长一段时间都没有清理的内存。

有没有更好的方法来清理Postgrex进程以便TypeServer也停止?

我在 Postgrex 0.13.3 上。

编辑:

为了澄清一点,我想在每个 Postgrex 进程停止后清理 TypeServer。在整个 Enum.map 完成后清理所有 TypeServer 对我来说并不是那么有用,因为它会导致内存缓慢增长,然后是急剧下降而不是平线。

0 投票
0 回答
69 浏览

postgresql - 类型模块无法处理类型`_geometry`

我正在尝试使用 Ecto 设置 Postgis,我一直在密切关注https://github.com/bryanjos/geo_postgis的文档。但是当尝试检索具有以下字段的资源时

我收到以下错误

我已经定义了我的类型。

在迁移中添加了我的字段

我究竟做错了什么?