问题标签 [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 投票
0 回答
685 浏览

postgresql - (Postgrex.Error)错误 22021(character_not_in_repertoire):用于编码“UTF8”的无效字节序列:0x92

我正在从 Internet 上的各个网站保存 HTML,并将其保存到一个简单的 Postgrestext字段。

这是我得到的错误:

** (Postgrex.Error) ERROR 22021 (character_not_in_repertoire): 编码“UTF8”的无效字节序列: 0x92

什么是一个快速的解决方法?我并不真正关心丢失一些数据,但不希望这样做。

0 投票
2 回答
1802 浏览

postgresql - pkey 上的 Ecto 唯一约束错误

尝试插入新房间时开始出现以下错误

主键不应该自动递增吗?什么会使这个错误突然发生?插入是作为 multi 的一部分完成的,相关部分是:

如需更多参考,这是我的架构,包括变更集

这是迁移

0 投票
1 回答
1328 浏览

postgresql - Postgrex.Error 错误 42501 没有足够的权限来创建扩展 citext

我正在尝试创建迁移。这是输出

但是直到现在它一直在dev模式下工作。

我确实尝试过

ALTER USER user WITH SUPERUSER

并安装了postgresql-contrib软件包,但没有任何效果。

0 投票
3 回答
197 浏览

date - 自定义 DateRange Ecto 类型的转换错误

我在编写自定义 Ecto 类型时遇到问题。它由%Postgrex.Range{}类型支持。代码是

迁移是

用户架构是

我的有问题的代码seeds.exs是这个:

最后,错误是这个:

当然,我不明白为什么会发生这种转换,这非常令人沮丧,特别是考虑到创建支持的自定义 Ecto 类型%Postgrex.Range{}应该有些微不足道。

编辑:Logger.debug在 cast 函数中放了一些,我可以看到

出现和

dump函数中。

0 投票
1 回答
303 浏览

json - Postgrex如何定义json库

我只是想在没有任何 ecto 设置的情况下使用 Postgrex,所以只是文档自述文件中的示例。

这是我的模块的样子:

当我运行我得到的代码时

有什么我没有正确设置的吗?根据我在文档中收集的内容,我什至不需要该扩展行,因为默认情况下会处理 json。

0 投票
1 回答
1066 浏览

postgresql - 为什么 Postgrex - Ecto 会抛出这个 not_null_violation 错误?

错误

这是我在测试帐户变更集时遇到的错误。似乎它只会由结构错误的数据库的 Ecto 迁移引起,但ecto.migrate运行良好,当我尝试使用下面的类似变更集插入行时,Postgresql 也不会抛出任何错误。

外迁移

migration_create_account.ex

migration_add_account.ex

ExMachina

工厂.ex

ExUnit

account_test.exs

Ecto 架构和变更集

0 投票
2 回答
776 浏览

erlang - 如何覆盖或禁用 Postgrex 超时设置:15 秒?

开发 Elixir 应用程序。有一个 Scraper 函数通过 Postgrex 驱动程序将数据从 Google 电子表格复制到 postgres 数据库中。通过 Google API 的连接工作正常,但该功能总是在 15 秒后超时。

我曾尝试15_000在源代码的任何地方更改 ms 超时设置,但似乎该设置已编译为二进制文件。我不是 erlang/elixir 开发人员,只是为了演示目的帮助客户安装应用程序。我的问题是:

  • 如何使用修改后的超时设置重新编译 Postgrex 驱动程序?
  • 是否有另一种方法可以覆盖此设置,或完全禁用超时?我已经尝试对源中“15”的每个实例进行查找替换。
0 投票
2 回答
613 浏览

windows-10 - 在 Windows 上带有 poolboy 示例的 Elixir postgrex 因“模块 DBConnection.Poolboy 不可用”而失败

我正在探索使用 Elixir 快速导入混合类型(CSV、JSON)的 Postgres 数据。作为 Elixir 的新手,我正在遵循 youtube 视频“使用 Elixir 和 Postgrex 快速导入和导出 - Elixir Hex 包展示”(https://www.youtube.com/watch?v=YQyKRXCtq4s)中给出的示例。基本的混合应用程序一直工作到引入 Poolboy 为止,即 Postgrex 使用单个连接成功地将记录加载到数据库中。

当我尝试遵循 Poolboy 配置并通过运行对其进行测试时

FastIoWithPostgrex.import("./data_with_ids.txt")

在 iex 或命令行中,我收到以下错误,我无法确定原因(已删除用户名和密码):

我在 Windows 10 上运行它,通过本地 SSH 隧道连接到 PostgreSQL 10.x 服务器。这是 lib/fast_io_with_postgrex.ex 文件:

这是 mix.exs 文件:

这是 config/config.exs 文件:

任何有关查找此错误原因的帮助将不胜感激!

0 投票
2 回答
270 浏览

elixir - 允许 Ecto 查询在测试环境中立即运行?

我想编写测试来验证我的应用程序中的 SQL 查询返回的数据是否符合某些约束:即返回值以插入降序排列。在应用程序中,我timestamps()在我的模式中使用将一个inserted_at字段包含到数据库中,并在我的查询 ( SELECT … ORDER BY inserted_at DESC) 中对其进行查询。

我的问题出现在我的测试中:如果我有类似的测试代码

我想断言他们的订单,比如

这失败了,即使在手动测试中这一切似乎都有效。经过检查,我发现inserted_at所有三个记录都是相同的。我尝试添加:timer.sleep()调用,但它不会改变结果,这表明 Ecto/Postgrex 层存在一些批处理或惰性。

我能想到的“最简单”的解决方案是某种方式来“强制”在呼叫站点进行交易,所以我可以:timer.sleep(1)在它们之间,给我不同的字段(因此是问题标题)但有XY 问题inserted_at的风险我我愿意接受其他建议。谢谢!

0 投票
1 回答
653 浏览

postgis - (Postgrex.Error) 错误 58P01 (undefined_file) $libdir/postgis-2.4

我不得不重新安装我现有项目使用的一些东西。

现在,当我运行 SELECT 语句时出现此错误:

它抱怨 PostGis。我确实 brew install postgis 再次安装它。仍然收到错误。我的macbook中的目录在哪里$libdir,以便我可以查看文件?如何修复此错误?