Postgresql 15、pgvector 和 Ruby on Rails 7 - 找不到 vector.control

问题描述 投票:0回答:1

我们的 CI/CD 使用 GitHub 操作来运行我们的测试套件等。 在操作工作流中设置数据库时,尝试运行“CREATE EXTENSION vector;”时会失败。 (在 Rails 迁移中,它是“enable_extension 'vector'”,我确信这是正确的语法,因为所有其他扩展都可以工作。我一直收到此错误:

ActiveRecord::StatementInvalid: PG::UndefinedFile: ERROR:  could not open extension control file "/usr/share/postgresql/1***/extension/vector.control": No such file or directory

我已确认以下内容:只有一个版本的 Postgres 服务器正在运行,即版本 15。有问题的文件确实存在,在预期路径中,具有与其余扩展相同的权限:

/usr/share/postgresql/15/extension/vector.control

安装完所有内容后,我重新启动 postgres。我尝试使用 apt-get 安装 pgvector,并手动使用 https://github.com/pgvector/pgvector 提供的示例。 据我所知它已安装(正如我上面所说,丢失的文件就在它应该在的位置)。 我在日志跟踪中看到这一点:

Setting up postgresql-15-pgvector (0.***.***-1.pgdg22.0***+1) ...

我已将丢失文件的位置添加到我的路径中。

我无法确定问题是否出在 rake 任务上,或者是否只是传递来自 PG 的错误,但我怀疑后者,因为它在错误消息中显示“PG::UndefinedFile”。

我的容器是

ubuntu-latest
,图像是
redis:alpine
。 Ruby 版本为 3.2.2,所有 gems 安装正确。

有人知道我做错了什么吗?

ruby-on-rails postgresql rake pgvector
1个回答
0
投票

我自己对这个问题没有得到满意的答案,但我能找到的最好的答案是这些 GitHub Actions 的设置说明

我能够使用那里的服务说明(使用

pgvector/pgvector:pg15
图像)让 Postgres 和 Pgvector 在我的 Rails 应用程序的 GitHub Actions CI 中很好地协同工作。

© www.soinside.com 2019 - 2024. All rights reserved.