1.宝塔已经安装好了PostgreSQL数据库
2.查看postgresql是否已经安装过pgvector插件
连接数据库,然后执行扩展命令
CREATE EXTENSION vector;
如果没有安装过插件,就会报错
如果已经安装过插件,就会显示执行成功,需要使用超级管理员用户 postgres 才就可以!!!
3.下载pgvector插件
下载地址:GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres
postgresql14 对应 pgvector0.5的版本
postgresql15 对应 pgvector0.6的版本
4.数据库安装插件
将插件压缩包进行解压
去插件目录下执行make命令
make
发生错误
make: *** No rule to make target '/usr/lib/postgresql/16/lib/pgxs/src/makefiles/pgxs.mk'. Stop.
这是因为make命令不知道postgresql数据库的安装位置在哪导致的
解决方法:在 /etc/profile 配置文件添加pg_config项,配置为postgresql的安装位置
1.查询postgresql的安装位置
2.修改配置文件并生效
vim /etc/profile
source /etc/profile
pgvector目录下执行 make 命令和 make install 命令
make
make install
这个时候,postgresql数据库中pgvector插件就算安装完成了
5.验证是否安装成功
创建一个数据库,建立链接,然后执行命令开启向量扩展;需要使用超级管理员用户才可以!!!
CREATE EXTENSION vector;
注意:需要postgresql的超级管理员用户才可以给当前使用的数据库创建vector的扩展,普通用户没有权限会报错;
连接超级管理员用户 postgres
修改完数据库配置,需要重启数据库
6.创建表,插入向量
CREATE TABLE document_chunk
(
id VARCHAR(64) PRIMARY KEY,
document_id VARCHAR(64),
chunk VARCHAR(1024),
chunk_index INT,
vector vector(1024)
);
COMMENT ON TABLE document_chunk IS '文档分片表';
COMMENT ON COLUMN document_chunk.id IS '主键id';
COMMENT ON COLUMN document_chunk.document_id IS '所属文档id';
COMMENT ON COLUMN document_chunk.chunk IS '文档分片内容';
COMMENT ON COLUMN document_chunk.chunk_index IS '分片索引';
COMMENT ON COLUMN document_chunk.vector IS '向量';