在 Mac 上安装 pgvector 扩展

8
我正在尝试在我的Mac上安装Postgres向量扩展,但出现了以下问题:
ERROR:  extension "vector" has no installation script nor update path for version "0.4.0".

这是我所做的:
  1. 按照github上显示的安装指南进行操作: enter image description here

但是当我运行 CREATE EXTENSION vector; 时,出现了一个错误:

ERROR:  could not open extension control file "/Applications/Postgres.app/Contents/Versions/13/share/postgresql/extension/vector.control": No such file or directory
  1. 我使用以下命令将pgvector的内容复制到postgresql/extension中:

    sudo cp -r ~/Downloads/pgvector/* /Applications/Postgres.app/Contents/Versions/13/share/postgresql/extension/

尝试运行CREATE EXTENSION vector;,现在出现了错误:

ERROR:  extension "vector" has no installation script nor update path for version "0.4.0".

这里有人遇到过这个问题吗?

顺便说一下,我正在使用 PostgreSQL 13.10


你解决了这个问题吗?我也遇到了同样的问题。 - mike
将文件直接复制到pg扩展目录会创建一个无效的目录结构。请参阅下面的答案,了解如何修复此问题。 - Michael Brown
将文件直接复制到pg扩展目录会创建一个无效的目录结构。请参阅下面的答案,了解如何修复。 - undefined
3个回答

4
我遇到了同样的问题,并且成功解决了。
我的设置:
- postgres v 14 - 通过 Postgres.app 安装
第一个错误(混合 PG 配置):
尽管我是通过 PG 应用程序安装的 PG,但我尝试使用 Homebrew 安装此扩展。 这导致了一些 PG 配置设置的混乱。
在命令行上运行以下命令:
pg_config --libdir

给出这个输出:/opt/homebrew/share/postgresql@14
这对于Postgres.app的安装来说不好。
修复方法(重置pg配置):
假设是Postgres.app的安装!
brew uninstall pgvector

brew uninstall postgresql

现在运行:
pg_config --libdir

我得到的是:/Applications/Postgres.app/Contents/Versions/14/lib
现在,使用Makefile方法安装pgvector。
第二个错误(扩展文件放错位置)
不要(像OP那样)只是将pgvector文件复制到Postgress扩展目录中。这将创建一个无效的目录结构。
我相信make install会将文件放在正确的位置。 如果CREATE EXTENSION vector; 仍然失败,您可以检查以下内容以确保文件放在正确的位置。
修复方法
您应该在以下目录中安装以下文件。
所有.SQL和.control文件。 确保这些文件位于以下目录中。

/Applications/Postgres.app/Contents/Versions/14/share/postgresql/extension

vector.so在以下目录中

/Applications/Postgres.app/Contents/Versions/14/lib/postgresql

安装扩展

psql <your db>
CREATE EXTENSION vector;

我没想到会出现这个错误,但是按照这个解决方案最终成功了。 - undefined

0

我也遇到了同样的问题。 安装后,您必须登录到您的Postgres数据库,例如通过

psql postgres

并运行

CREATE EXTENSION vector;

这是我得到的: postgres=# 创建扩展向量; 错误:无法打开扩展控制文件“/Applications/Postgres.app/Contents/Versions/14/share/postgresql/extension/vector.control”:没有该文件或目录。 - Andrei
这是我得到的:postgres=# 创建扩展向量; 错误:无法打开扩展控制文件“/Applications/Postgres.app/Contents/Versions/14/share/postgresql/extension/vector.control”:没有这样的文件或目录 - undefined
1
@Andrei,请确保你正在使用来自https://postgresapp.com/downloads.html的最新版本的postgres.app。 - undefined

0
根据pgvector文档,你可以使用Homebrew安装pgvector。
brew install pgvector

然后连接到您的PostgreSQL服务器:
psql postgres

创建扩展:
create extension vector;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接