5分钟在Windows装好PostgreSQL pgvector:从零到向量相似搜索

发布时间:2026/11/5 13:20:57

5分钟在Windows装好PostgreSQL pgvector:从零到向量相似搜索 5分钟在Windows装好PostgreSQL pgvector从零到向量相似搜索【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvectorpgvector Windows 安装比想象中简单这个开源扩展给 PostgreSQL 带来向量数据类型与 HNSW/IVFFlat 近邻搜索文本嵌入、图像向量都能直接用 SQL 查相似。下面按真实任务走一遍——编译装好扩展、建表查相似、给慢查询加索引。️ 一、Windows 上装 pgvectornmake 两行命令跑通编译先确认两件事PostgreSQL 是 13 以上版本装 16 及以上最省心Visual Studio 装了 C 桌面开发组件。漏装后者是新手最常见的卡点nmake 会直接报找不到编译器 cl.exe。以管理员身份打开 x64 Native Tools Command Prompt for VS整段贴入下面的命令。它在干什么设置 PGROOT 指向 PostgreSQL 安装目录克隆 v0.8.6 源码用 nmake 编译并安装——Windows 的构建规则就写在仓库根目录的 Makefile.win 里。set PGROOTC:\Program Files\PostgreSQL\16 git clone --branch v0.8.6 https://gitcode.com/GitHub_Trending/pg/pgvector cd pgvector nmake /F Makefile.win nmake /F Makefile.win install预期看到什么几屏编译信息后安静结束、没有任何 ERROR 就是成功vector.dll 已进 lib 目录.control 和 .sql 已进 share\extension。顺手验证打开 psql 执行CREATE EXTENSION vector;返回 CREATE EXTENSION 就说明扩展可用了。二、建表、塞数据、查相似三步验证扩展真的能用建表时把 embedding 列的类型写成vector(3)3 就是维度。psql 里依次执行下面三段建表、插两条数据、按 L2 距离找出离[3,1,2]最近的记录。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;预期看到什么最后一条返回 id1——[1,2,3] 离 [3,1,2] 比 [4,5,6] 近说明距离算子工作正常。要按语义相似度搜把-换成余弦距离就行。这个阶段不加索引也能查pgvector 默认做精确近邻搜索召回 100%只是数据上万后会变慢。vector 类型的实现可以看 src/vector.c。 三、搜得慢HNSW 还是 IVFFlat向量索引配置一次讲清先给结论多数场景选 HNSW。它查询快、召回高空表也能建IVFFlat 建得快、占内存少但必须先有数据做聚类空表上建出来效果很差。数据上万后全表扫描扛不住了该加近似索引。下面这段先给建图留足内存、建 HNSW 索引再用 EXPLAIN 确认查询真的走上了索引。SET maintenance_work_mem 2GB; CREATE INDEX ON items USING hnsw (embedding vector_l2_ops); EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM items ORDER BY embedding - [3,1,2] LIMIT 5;预期看到什么EXPLAIN 输出里出现Index Scan using ... hnsw说明索引生效。两个坑提醒一下近似索引会牺牲一点点召回加索引后结果和精确搜索略有差异是正常的若返回行数偏少把hnsw.ef_search从默认的 40 调大即可。四、装完之后接下来可以做什么到这一步向量数据已经和关系数据在同一个数据库里能 JOIN、能走事务。三个方向值得马上动手一是接入真实嵌入把模型输出的文本或图像 embedding 存进 halfvec 列存储体积直接减半二是给带 WHERE 条件的查询配好过滤索引必要时开启 0.8.0 引入的迭代扫描解决近似索引过滤后结果变少的问题三是定期用 EXPLAIN 看线上查询确认索引没被优化器绕过。不用再引入额外的向量数据库PostgreSQL 一个就够了。【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/1 0:12:37

现代农业物联网建设方案:五大场景与四层架构实战解析

简介:这是一份面向智慧农业、设施农业相关从业者与学习者的专业课件,完整呈现“现代农业物联网建设方案”项目的总体思路。内容以八卦洲这一全国最大的野生蔬菜生产基地为实例,围绕设施农业智能化改造,依次讲解项目背景、总体规划…

2026/11/5 13:20:10

Dubbo服务下线实时告警:基于ZooKeeper Watch的轻量级监控方案

简介:这是一套面向Java分布式系统运维与开发人员的Dubbo服务高可用监控解决方案,聚焦于Provider异常下线的实时感知与告警响应。资源通过Zookeeper监听机制实现服务状态变更捕获,结合邮件通知模块,在不侵入原有Dubbo代码的前提下&…

2026/11/5 13:20:10

SSM超市管理系统源码解析:从分层架构到本地部署与业务修改

简介:这份资源是面向高校计算机专业学生与Java初学者的一套SSM框架课程设计完整项目,围绕超市管理场景,帮助读者完成从框架整合到业务模块落地的实战练习,适合作为毕业设计或课程作业的参考方案。压缩包共792个文件,约…

2026/11/5 13:20:10

SSM超市管理系统实战:从课设跑通到二次开发全解析

简介:这份资源是面向高校计算机相关专业学生与Java入门开发者的SSM课程设计参考项目,围绕超市管理场景,解决商品、库存、销售等业务模块从设计到落地的实践需求,适合作为课程作业、毕业设计原型或SSM框架练手案例。压缩包共792个文…

2026/11/5 13:15:07

PIPE4.3.0安装排错:JDK版本、JAVA_HOME与Petri验证

简介:PIPE 4.3.0 是一款基于 Petri 网的图形化建模与仿真软件,面向软件工程、系统分析与教学实验场景,帮助读者完成并发、同步与竞争等系统行为的建模、动态仿真及性质分析。压缩包共 2391 个文件,约 28.43MB,包含大量…

2026/11/5 13:15:07

用栈实现队列:双栈结构与工程实践

1. 栈与队列的相爱相杀第一次看到这个题目时,我正坐在星巴克啃着牛角包。用栈实现队列?这就像用筷子喝汤——不是不行,但总觉得哪里怪怪的。栈和队列这对数据结构里的欢喜冤家,一个后进先出(LIFO)&#xff…

2026/11/5 13:10:06

锂电池PACK生产数字孪生平台架构与实现

1. 锂电池PACK生产数字孪生平台建设背景 在新能源行业快速发展的当下,锂电池PACK生产面临着前所未有的质量管控挑战。传统生产模式下,工艺参数分散在各个设备中,质量数据追溯困难,设备之间缺乏有效协同,这些问题直接影…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑