news 2026/5/1 7:13:58

5分钟搞定pgvector:让PostgreSQL拥有向量搜索超能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟搞定pgvector:让PostgreSQL拥有向量搜索超能力

5分钟搞定pgvector:让PostgreSQL拥有向量搜索超能力

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

还在为复杂的向量搜索工具发愁吗?pgvector让你的PostgreSQL数据库瞬间变身AI向量搜索引擎!这个开源扩展为PostgreSQL添加了强大的向量相似性搜索功能,让你能够将向量数据与业务数据存储在一起,实现高效、精确的相似性匹配。

无论你是要构建推荐系统、实现图像搜索,还是开发智能问答应用,pgvector都能帮你轻松搞定。支持L2距离、内积、余弦距离等多种相似度计算方式,让你的应用具备真正的AI智能!

为什么选择pgvector?🚀

一站式解决方案:无需额外部署专门的向量数据库,直接在现有的PostgreSQL环境中使用ACID保证:享受PostgreSQL完整的事务支持,数据安全有保障零学习成本:使用熟悉的SQL语法,立即上手向量搜索

快速上手:3步开启向量搜索之旅

第一步:安装扩展

在Linux和Mac系统上,安装pgvector简单到只需几条命令:

cd /tmp git clone --branch v0.8.1 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector make make install

Windows用户也不用担心,使用Visual Studio命令提示符即可完成安装:

set "PGROOT=C:\Program Files\PostgreSQL\18" cd %TEMP% git clone --branch v0.8.1 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector nmake /F Makefile.win nmake /F Makefile.win install

第二步:启用扩展并创建表

连接到你的PostgreSQL数据库,执行以下SQL:

-- 启用向量扩展 CREATE EXTENSION vector; -- 创建包含向量列的表 CREATE TABLE items ( id bigserial PRIMARY KEY, embedding vector(3) );

第三步:插入数据并开始搜索

现在你可以插入向量数据并进行相似性搜索了:

-- 插入向量数据 INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]'); -- 查找最相似的向量 SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;

核心功能深度解析

多种向量类型支持

pgvector不仅支持标准的单精度浮点向量,还提供了丰富的向量类型选择:

  • halfvec:半精度向量,节省存储空间
  • bit:二进制向量,适合大规模数据
  • sparsevec:稀疏向量,处理高维稀疏数据

精确与近似搜索自由切换

精确搜索:保证100%的召回率,适合数据量不大的场景近似搜索:通过HNSW和IVFFlat索引,在大数据量下依然保持高速

强大的索引策略

HNSW索引:构建多层图结构,查询性能优秀但构建时间较长IVFFlat索引:将向量分组到列表中,构建快速但查询性能相对较低

实战案例:构建智能推荐系统

假设你要构建一个商品推荐系统,下面是完整的实现流程:

-- 创建商品表 CREATE TABLE products ( id bigserial PRIMARY KEY, name text, category text, embedding vector(1536) -- OpenAI embedding维度 ); -- 插入商品向量 INSERT INTO products (name, category, embedding) VALUES ('笔记本电脑', '电子产品', '[0.1,0.2,...,0.1536]'), ('智能手机', '电子产品', '[0.3,0.1,...,0.1536]'); -- 为用户推荐相似商品 SELECT name, category FROM products ORDER BY embedding <=> '[0.2,0.1,...,0.1536]' LIMIT 10;

性能优化秘籍

索引参数调优

对于HNSW索引,关键参数包括:

  • m:每层最大连接数(默认16)
  • ef_construction:构建图的动态候选列表大小(默认64)
-- 创建优化的HNSW索引 CREATE INDEX ON products USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 64);

查询性能提升技巧

-- 设置搜索参数 SET hnsw.ef_search = 100; -- 使用事务确保参数仅对当前查询生效 BEGIN; SET LOCAL hnsw.ef_search = 100; SELECT * FROM products ORDER BY embedding <=> '[0.2,0.1,...,0.1536]' LIMIT 10; COMMIT;

常见问题速查手册

Q:pgvector支持的最大向量维度是多少?A:标准向量支持2000维,半精度向量支持4000维,二进制向量支持64000维!

Q:如何在不同编程语言中使用pgvector?A:支持所有有PostgreSQL客户端的语言,包括Python、JavaScript、Java、Go等。

Q:数据量大时如何保证搜索速度?A:使用HNSW或IVFFlat近似索引,在召回率和速度之间找到最佳平衡。

进阶功能探索

混合搜索:向量+全文搜索

SELECT id, name, category FROM products, plainto_tsquery('高端电子设备') query WHERE to_tsvector(name || ' ' || category) @@ query ORDER BY embedding <=> '[0.2,0.1,...,0.1536]' LIMIT 10;

子向量索引:处理超长向量

-- 索引向量的前768维 CREATE INDEX ON products USING hnsw ((subvector(embedding, 1, 768)::vector(768)) vector_cosine_ops);

总结与展望

pgvector为PostgreSQL带来了革命性的向量搜索能力,让传统的关系型数据库也能胜任AI时代的挑战。无论是初创公司还是大型企业,都能从这个轻量级解决方案中获益。

现在就开始你的向量搜索之旅吧!记住,强大的功能背后是简单的使用体验。pgvector让你的PostgreSQL数据库不仅存储数据,更能理解数据!

🎯专业提示:在生产环境中,记得使用CREATE INDEX CONCURRENTLY来避免阻塞写入操作。

【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:46:28

Qwen-Image-2512功能测评:中文渲染与图像编辑表现如何

Qwen-Image-2512功能测评&#xff1a;中文渲染与图像编辑表现如何 1. 引言&#xff1a;为什么这款模型值得关注&#xff1f; 你有没有遇到过这样的尴尬&#xff1f;输入一段精心设计的中文提示词&#xff0c;结果生成的图片里文字全是乱码、错位&#xff0c;甚至干脆不显示。…

作者头像 李华
网站建设 2026/5/1 3:52:16

3步零基础打造p5.js音乐可视化:让代码与旋律共舞 ✨

3步零基础打造p5.js音乐可视化&#xff1a;让代码与旋律共舞 ✨ 【免费下载链接】p5.js p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the co…

作者头像 李华
网站建设 2026/5/1 3:52:15

palera1n越狱终极指南:从新手到专家的完整操作手册

palera1n越狱终极指南&#xff1a;从新手到专家的完整操作手册 【免费下载链接】palera1n Jailbreak for arm64 devices on iOS 15.0 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n 还在为iOS系统的限制而苦恼吗&#xff1f;想要完全掌控你的iPhone设备&a…

作者头像 李华
网站建设 2026/5/1 4:46:16

餐厅环境评估:顾客满意度语音AI检测部署案例

餐厅环境评估&#xff1a;顾客满意度语音AI检测部署案例 1. 引言&#xff1a;用声音感知顾客情绪&#xff0c;重新定义餐厅体验管理 你有没有过这样的经历&#xff1f;走进一家餐厅&#xff0c;明明装修不错、菜品也还行&#xff0c;但就是感觉“哪里不对”——氛围冷清、服务…

作者头像 李华
网站建设 2026/5/1 3:52:18

iPad越狱完全指南:从入门到精通的技术实践

iPad越狱完全指南&#xff1a;从入门到精通的技术实践 【免费下载链接】palera1n Jailbreak for arm64 devices on iOS 15.0 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n 随着iOS系统的不断更新&#xff0c;越来越多的用户希望能够突破系统限制&#xf…

作者头像 李华