文章目录
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5.10
文档用途
本文介绍pgvector的安装及使用示例。
详细信息
简介
pgvector是PostgreSQL扩展,用于处理向量数据。用户可以在关系型数据库中直接存储高维向量,并执行相关查询搜索,对于需要相似性搜索的应用非常有用,例如:
- 推荐系统
- 图像识别
- 自然语言处理
- 语义搜索
安装
pgvector安装包:pgvector0.-hgdb-see-4.5.-e4f5471-2025****.x86_64.rpm
pgvector安装包需与数据库版本匹配。
安装:
#rpm包执行:
rpm -ivh pgvector0.*-hgdb-see-4.5.*-e4f5471-2025****.x86_64.rpm
#deb包执行:
dpkg -i pgvector0.*-hgdb-see-4.5.*-e4f5471-2025****.arm64.deb
安装完成后,安全版数据库使用sysdba用户,企业版使用highgo用户登录数据库创建vector扩展,如下:
sql
psql highgo sysdba
highgo=# create extension vector;
highgo=# \dx
List of installed extensions
Name | Version | Schema
---------+---------+-------------
plpgsql | 1.0 | pg_catalog
vector | 0.7.4 | public
使用示例
下面使用pgvector查询相似项。
例子步骤如下:
1、 创建包含向量列的表
sql
CREATE TABLE items (
id serial PRIMARY KEY,
embedding vector(3) --三维向量
);
2、 插入向量数据
sql
INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');
3、 查询最相似的项
sql
SELECT id, embedding,
(embedding <-> '[3,3,3]') AS distance -- 计算与目标向量的距离
FROM items
ORDER BY embedding <-> '[3,3,3]' -- 按距离排序
LIMIT 1;
id | embedding | distance
-----+--------------+------------------
1 | [1,2,3] | 2.23606797749979
(1 row)
以上查询向量'[3,3,3]'最相似的值是[1,2,3],实现了pgvector的特性-相似性查询。
总结
本文档介绍了pgvector的安装,使用pgvector实现了相似性查询特性。