postgresql在windows下安装,可以选择编译好的免安装包。这样,下载下来可以直接初始化,启动。
下载链接如下:https://www.enterprisedb.com/download-postgresql-binaries
需要注意的是,pgsql版本,我开始使用pgsql12.14版本,发现添加插件之后启动失败。后来下载16.11版本,同样的插件,就没有问题。
扩展包,也有编译好的vector.dll,pg_vector.conf配置文件等。下载地址:https://github.com/portalcorp/pgvector_compiled
扩展包下载好,解压之后有三个文件夹lib,share,include,直接拷贝到pgsql目录下,合并原来的目录即可。
我看到好多文章里面提到要修改配置文件data/postgresql.conf,把shared_preload_libraries = 'vector'配置上,我反正添加了。
重启pgsql。不报错。就表示pg_vector插件安装成功。
插件有了,并不表示我们创建的数据库就支持这扩展,我们需要手动创建这个扩展。

通过命令行进入数据库,我们创建扩展:
sql
create extension if not exists vector;

在扩展基础上,创建表。
sql
create table documents (
id bigserial primary key,
embedding vector(3));

插入数据,并查询记录:
sql
test=# insert into documents (embedding) values ('[1,2,3]'),('[4,5,6]'),('[4,0,5]');
INSERT 0 3
test=# select id,embedding <-> '[1,2,3]' as score,embedding from documents order by embedding <-> '[1,2,3]';
id | score | embedding
----+-------------------+-----------
1 | 0 | [1,2,3]
3 | 4.123105625617661 | [4,0,5]
2 | 5.196152422706632 | [4,5,6]
(3 行记录)

直观的看,[4,0,5]和[4,5,6]还是做了一个简单的比较排序。