问题标签 [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.
postgresql - 设置事务隔离级别时的 Phoenix / Elixir 测试
我有一段看起来像这样的代码:
在我的测试套件中,我不断遇到错误:
我想知道我是否在做一些根本性的错误,或者我是否缺少有关测试环境的某些东西。
谢谢!
elixir - 为什么以小于 6 的精度将 DateTime 转储到 :utc_datetime_usec 会失败?
我想知道为什么我不能DateTime
以小于 6 的精度转储一个?为什么我们不能只用零填充?
例子
预期的
实际的
elixir - Postgrex - 查询返回不明确的列引用错误
我有以下查询:
我收到以下错误:
ERROR 42702 (ambiguous_column): column reference "sectors" is ambiguous
。sectors
是一个嵌入的模式Profile
。
我试图解决这个问题是通过将filter_sector
查询的结构改造成这样的:
但我仍然遇到同样的错误。奇怪的是,当过滤器只有一个“扇区”值或一个“可用性”值时,查询可以工作,但是当两个值都存在时,就会出现错误。
postgresql - 如何使用 Postgrex 在 Amazon Redshift 上执行的 SELECT 语句的结果填充本地 Postgres 表?
Postgrex 文档给出了这个如何传输数据的优秀示例:
但是,这不适用于 Redshift,因为 Redshift 不支持 COPY TO STDOUT。如果我从 Postgrex 尝试它,我会得到一个语法错误,与从 psql 尝试它一样。根据 Redshift,“不支持从 Xen-tables 复制到文件”。
所以我将我的 COPY TO STDOUT 切换为 SELECT,但现在我不知道如何在第二部分中加载它。如果我将其保留为 COPY FROM STDIN,它只会将所有结果加载到一行中。
有什么建议么?
elixir - 如何防止繁琐的查询在 Postgrex 中超时?
我正在运行查询并使用 Postgrex 将结果加载到 Stream 中,如下所示:
但我收到以下错误:
由于我想做繁琐的查询,这些查询肯定需要超过 2950 毫秒才能运行,我想知道如何配置 Postgrex 以让我的查询花费更多时间。我在https://hexdocs.pm/postgrex/Postgrex.html#transaction/3阅读了有关该:timeout
选项的信息,但我不确定如何包含它,或者它是否是我正在寻找的。
非常感谢任何指导,谢谢!
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)
但不清楚这是否符合我想要做的事情(看起来很可能不是)
如果有人对我如何解决这个问题有任何建议,我们将不胜感激。谢谢!
postgrex - 使用 postgrex 查询 bytea 字段
我正在尝试使用以下内容查询 postgres 中的表:
该device_id
变量是一个 Elixir 字符串,当id
和owner_id
列是时,此查询曾经工作text
。但是它们已更改为bytea
,我的查询现在没有返回任何行。
表中有一个匹配的行。我该如何解决?
postgresql - elixir,ecto:无法将参数传递给“CREATE VIEW”原始 SQL 查询
我们正在构建一个 elixir 应用程序,并使用 ecto 连接到我们的数据库。应用程序的角色之一是根据我们的事件存储创建报告。我们决定用原始 SQL 编写这些报告的代码。
我需要使用一些参数创建一个临时视图。考虑以下代码:
上面的代码,只有一个参数,不起作用(显然在 ecto/postgrex 级别)。但是,删除参数会使 postgres 级别的查询失败。
我已经使用这种方式为大量查询传递参数,包括 SELECT 和 CREATE TABLE 查询。然而,出于某种原因, CREATE VIEW 似乎不接受参数。
知道如何解决这个问题吗?
postgresql - 如何停止 Postgrex 进程及其 TypeServer 进程?
我有几千个数据库。我想一个接一个地连接到它们中的每一个并发出查询。我通过为每个人启动一个这样的 Postgrex 进程来做到这一点。
然后我发出 a Postgrex.query
,然后像这样停止它
一切似乎都很好,除了我最终有数千个Postgrex.TypeServer
进程占用了似乎很长一段时间都没有清理的内存。
有没有更好的方法来清理Postgrex
进程以便TypeServer
也停止?
我在 Postgrex 0.13.3 上。
编辑:
为了澄清一点,我想在每个 Postgrex 进程停止后清理 TypeServer。在整个 Enum.map 完成后清理所有 TypeServer 对我来说并不是那么有用,因为它会导致内存缓慢增长,然后是急剧下降而不是平线。
postgresql - 类型模块无法处理类型`_geometry`
我正在尝试使用 Ecto 设置 Postgis,我一直在密切关注https://github.com/bryanjos/geo_postgis的文档。但是当尝试检索具有以下字段的资源时
我收到以下错误
我已经定义了我的类型。
在迁移中添加了我的字段
我究竟做错了什么?