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

相关推荐
2301_809204701 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy277771 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪2 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite2 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋92 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net3 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路4 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl200209254 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人5 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
哆啦A梦15885 小时前
20, Springboot3+vue3实现前台轮播图和详情页的设计
javascript·数据库·spring boot·mybatis·vue3