环境

系统平台: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扩展,如下:

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、 创建包含向量列的表

CREATE TABLE items (
    id serial PRIMARY KEY,
    embedding vector(3) --三维向量
);

2、 插入向量数据

INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');

3、 查询最相似的项

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实现了相似性查询特性。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐