问题标签 [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 - (Postgrex.Error)错误 22021(character_not_in_repertoire):用于编码“UTF8”的无效字节序列:0x92
我正在从 Internet 上的各个网站保存 HTML,并将其保存到一个简单的 Postgrestext
字段。
这是我得到的错误:
** (Postgrex.Error) ERROR 22021 (character_not_in_repertoire): 编码“UTF8”的无效字节序列: 0x92
什么是一个快速的解决方法?我并不真正关心丢失一些数据,但不希望这样做。
postgresql - pkey 上的 Ecto 唯一约束错误
尝试插入新房间时开始出现以下错误
主键不应该自动递增吗?什么会使这个错误突然发生?插入是作为 multi 的一部分完成的,相关部分是:
如需更多参考,这是我的架构,包括变更集
这是迁移
postgresql - Postgrex.Error 错误 42501 没有足够的权限来创建扩展 citext
我正在尝试创建迁移。这是输出
但是直到现在它一直在dev
模式下工作。
我确实尝试过
ALTER USER user WITH SUPERUSER
并安装了postgresql-contrib
软件包,但没有任何效果。
date - 自定义 DateRange Ecto 类型的转换错误
我在编写自定义 Ecto 类型时遇到问题。它由%Postgrex.Range{}
类型支持。代码是
迁移是
用户架构是
我的有问题的代码seeds.exs
是这个:
最后,错误是这个:
当然,我不明白为什么会发生这种转换,这非常令人沮丧,特别是考虑到创建支持的自定义 Ecto 类型%Postgrex.Range{}
应该有些微不足道。
编辑: 我Logger.debug
在 cast 函数中放了一些,我可以看到
出现和
在dump
函数中。
json - Postgrex如何定义json库
我只是想在没有任何 ecto 设置的情况下使用 Postgrex,所以只是文档自述文件中的示例。
这是我的模块的样子:
当我运行我得到的代码时
有什么我没有正确设置的吗?根据我在文档中收集的内容,我什至不需要该扩展行,因为默认情况下会处理 json。
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 架构和变更集
erlang - 如何覆盖或禁用 Postgrex 超时设置:15 秒?
开发 Elixir 应用程序。有一个 Scraper 函数通过 Postgrex 驱动程序将数据从 Google 电子表格复制到 postgres 数据库中。通过 Google API 的连接工作正常,但该功能总是在 15 秒后超时。
我曾尝试15_000
在源代码的任何地方更改 ms 超时设置,但似乎该设置已编译为二进制文件。我不是 erlang/elixir 开发人员,只是为了演示目的帮助客户安装应用程序。我的问题是:
- 如何使用修改后的超时设置重新编译 Postgrex 驱动程序?
- 是否有另一种方法可以覆盖此设置,或完全禁用超时?我已经尝试对源中“15”的每个实例进行查找替换。
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 文件:
任何有关查找此错误原因的帮助将不胜感激!
elixir - 允许 Ecto 查询在测试环境中立即运行?
我想编写测试来验证我的应用程序中的 SQL 查询返回的数据是否符合某些约束:即返回值以插入降序排列。在应用程序中,我timestamps()
在我的模式中使用将一个inserted_at
字段包含到数据库中,并在我的查询 ( SELECT … ORDER BY inserted_at DESC
) 中对其进行查询。
我的问题出现在我的测试中:如果我有类似的测试代码
我想断言他们的订单,比如
这失败了,即使在手动测试中这一切似乎都有效。经过检查,我发现inserted_at
所有三个记录都是相同的。我尝试添加:timer.sleep()
调用,但它不会改变结果,这表明 Ecto/Postgrex 层存在一些批处理或惰性。
我能想到的“最简单”的解决方案是某种方式来“强制”在呼叫站点进行交易,所以我可以:timer.sleep(1)
在它们之间,给我不同的字段(因此是问题标题)但有XY 问题inserted_at
的风险我我愿意接受其他建议。谢谢!
postgis - (Postgrex.Error) 错误 58P01 (undefined_file) $libdir/postgis-2.4
我不得不重新安装我现有项目使用的一些东西。
现在,当我运行 SELECT 语句时出现此错误:
它抱怨 PostGis。我确实 brew install postgis 再次安装它。仍然收到错误。我的macbook中的目录在哪里$libdir
,以便我可以查看文件?如何修复此错误?