pgvector 安装及使用示例

文章目录

环境

系统平台: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实现了相似性查询特性。

相关推荐
catoop9 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
Web极客码9 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
库库的数据库笔记9 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
姚远Oracle ACE10 小时前
为什么无法连接到 PostgreSQL?
数据库·postgresql
ss27310 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27310 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
Henry-SAP11 小时前
SAP PP模块全景概览
数据库
喜欢吃豆11 小时前
Better Auth 深度解析:从用户认证到企业级身份基础设施
数据库·架构·权限·多租户
其实防守也摸鱼12 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全