Windows11安装PostgreSQL16和PgVector完整教程
一、前言 1. 向量数据库 大模型、AI检索、智能推荐、图文匹配……这些业务的快速落地,让向量检索成了技术架构里绕不开的一环。文本、图片、音频、视频这些非结构化数据,统统通过Embedding模型转成多维向量,业务再靠向量相似度来完成匹配、搜索、聚类之类的操作。传统的关系型数据库根本扛不住海量向量的
一、前言
1. 向量数据库
大模型、AI检索、智能推荐、图文匹配……这些业务的快速落地,让向量检索成了技术架构里绕不开的一环。文本、图片、音频、视频这些非结构化数据,统统通过Embedding模型转成多维向量,业务再靠向量相似度来完成匹配、搜索、聚类之类的操作。传统的关系型数据库根本扛不住海量向量的相似度计算,于是专用向量数据库就冒出来了。但单独部署一套向量库,运维成本、数据同步成本、架构复杂度都会飙升。所以,基于传统数据库扩展来实现向量能力的方案,凭借低侵入、易集成、能复用原有生态这些优势,成了中小型项目、个人开发、企业内部系统的首选。

2. PgVector 应用场景
PgVector是PostgreSQL生态下的一款向量扩展,它把关系型数据库的事务能力跟向量检索能力完美地揉在了一起。典型的应用场景包括这些:

- AI语义检索:知识库、问答系统、文档检索,文本向量化后做语义匹配;
- 多媒体检索:图片、音频、视频存成向量,实现以图搜图、相似音视频查找;
- 个性化推荐:用户行为、内容特征都向量化,完成商品、内容的智能推荐;
- 数据分析与聚类:用户分群、内容归类、异常检测这类向量聚类场景;
- 混合查询业务:同时需要结构化数据查询 + 向量相似度检索的混合业务,不用拆分多套存储,一个库搞定。
这篇文章基于Windows 11系统,搭配主流的PostgreSQL 16版本,手把手带你完成PgVector的安装、配置和功能验证。适合开发、测试、学习环境使用,要是生产环境,建议切换到Linux部署,稳定性更好。
二、关于 PgVector
1. PgVector 是什么
PgVector是一个开源的PostgreSQL扩展插件,由 ankane 团队维护,它原生给PostgreSQL加上了向量数据类型和向量检索能力。不改PostgreSQL本身的结构,以扩展的形式运行,兼容PostgreSQL的完整生态(事务、索引、JOIN、备份恢复、权限管理这些)。目前支持多个PostgreSQL版本和主流操作系统,提供源码编译、容器、包管理等多种部署方式,是Postgres体系里用得最广的向量检索扩展。
2. PgVector 可以做什么
- 多类型向量存储:支持普通浮点向量、半精度向量、二进制向量、稀疏向量,适配不同精度和存储需求;
- 丰富距离算法:内置L2距离、内积、余弦距离、L1距离、汉明距离、杰卡德距离,覆盖绝大多数相似度计算场景;
- 双层检索模式:支持精确检索(百分百召回)和近似最近邻检索(牺牲少量召回换极致速度);
- 专业向量索引:提供HNSW、IVFFlat两大主流向量索引,能应对千万级甚至亿级向量数据的检索优化;
- 全量SQL兼容:用标准SQL完成向量的增删改查、条件过滤、聚合计算,学习成本极低;
- ACID事务保障:继承PostgreSQL的事务特性,向量数据同样支持事务、回滚、并发控制,数据安全性更高。
简单说就是:有了PgVector,你的PostgreSQL就能直接当成「关系型数据库 + 向量数据库」二合一存储来用。为什么要提基于PG生态的方案?因为很多中小企业,存储和计算都放在数据库里,技术储备的同学不多,得尽量精简技术栈、降低运维难度。熟悉PostGIS的人都知道,GIS扩展也是基于PG的,很多业务都可以围绕PostGIS来开展。
三、Windows11 环境下安装详解
先看下开发环境,用的是Windows 11 64位操作系统。设备硬件信息如下:

如果你的开发环境是Linux,那这部分看到这里就可以跳过了。言归正传,下面继续深入讲解PgVector的安装。
1. 安装方式汇总
一般来说,PgVector主要有4种安装方案,可以根据自己的环境来选:
- 源码编译安装:Linux、Mac、Windows通用,自由度最高,可以自定义版本,这篇文章重点讲Windows下的源码编译;
- Docker容器部署:一键拉起集成Postgres + PgVector的镜像,适合快速体验和测试环境;
- 包管理器安装:Linux发行版、macOS可以通过APT、YUM、Homebrew直接安装,Windows支持conda安装;
- 云托管服务:各大云厂商的托管PostgreSQL服务大多已经预装了PgVector,不用手动部署。
对于Windows 11本地开发和调试的场景,这里用最简单的方法——使用预编译的版本安装。
2. 前置环境准备
(1)安装 PostgreSQL 16
首先确保系统已经安装了PostgreSQL 16,根据环境需要也可以安装更高的版本。步骤简述:

- 前往PostgreSQL官网下载Windows安装包(PostgreSQL 16.x);
- 双击安装,自定义安装路径(本文默认路径:
D:Program FilesPostgreSQL16),设置超级管理员postgres的密码; - 保持默认端口
5432,完成安装,启动PostgreSQL服务。
关键记录:PostgreSQL根目录
PGROOT=D:Program FilesPostgreSQL16,后续编译需要用到。
2. 安装 PgVector
这里用一种简单的方法来安装PgVector——当然,你也可以选择自定义编译的方式。如果只是为了学习和使用PgVector,参考本文的预编译安装方法就够了。
- 下载Windows预编译文件
在浏览器中输入下面的地址,可以找到已经编译好的PgVector版本:
https://github.com/andreiramani/pgvector_pgsql_windows/releasespage=1

- 下载适配PostgreSQL 16版本的PgVector(本文使用稳定版v0.8.2)
https://github.com/andreiramani/pgvector_pgsql_windows/releases/tag/0.8.2_16.1

需要注意,下载时要根据本地实际环境和软件版本来选择对应版本。
- 解压文件

- 覆盖PG16安装目录
将上面解压出来的文件夹(除了readme.txt)都复制到PG16的安装目录下,复制过去之后选择覆盖所有。

3. 重启 PostgreSQL 服务
安装完成后,重启PostgreSQL服务让扩展生效:
- 按下
Win + R输入services.msc打开服务列表; - 找到
postgresql-x64-16服务,右键重启。

四、PgVector 功能测试
这一节通过标准SQL走一遍「创建数据库 → 启用扩展 → 建表 → 插入向量 → 相似度检索」的完整流程,验证前面PgVector的安装环境是否可用。
1. 连接 PostgreSQL
随便用一个客户端连接(PostgreSQL自带的psql、DBea ver、Na vicat、pgAdmin都行),这里以Na vicat 17为例:

2. 创建测试数据库
-- 创建向量测试库 CREATE DATABASE hydromind_db;
3. 启用 PgVector 扩展
每个数据库都需要单独执行一次启用命令:
CREATE EXTENSION IF NOT EXISTS vector;

执行没有报错,说明PgVector扩展加载成功。
4. 基础实例测试
(1)创建带向量字段的数据表
创建一张测试表,包含自增主键和一个3维向量字段:
-- 创建测试数据表
CREATE TABLE sample_vectors (
id SERIAL PRIMARY KEY,
embedding VECTOR(3),
description TEXT
);
(2)插入向量数据
向量以数组格式写入:
-- 插入示例向量数据
INSERT INTO sample_vectors (embedding, description)
VALUES ('[1,2,3]', '简单向量示例'),
('[4,5,6]', '另一个测试向量');
(3)余弦距离查询
演示另一种常用的相似度算法(余弦距离):
-- 执行向量相似性搜索测试 SELECT id, description, embedding <-> '[3,1,2]' AS distance FROM sample_vectors ORDER BY distance LIMIT 3;

以上SQL全部正常执行并返回结果,说明PostgreSQL 16 + PgVector 0.8.2 在 Windows 11 环境下的部署完成了。
五、总结
- 本文基于Windows 11 + PostgreSQL 16,使用预编译安装的方式完成了PgVector的部署,适配本地开发、学习、测试场景,步骤完整且可落地;
- PgVector作为Postgres生态的向量扩展,兼顾了关系型数据库的稳定性和向量检索的能力,能大幅简化AI检索类项目的架构和运维;
- 基础测试只演示了向量的增查和基础距离算法,后续可以进一步探索HNSW/IVFFlat向量索引、高维向量、混合条件查询等高级用法。
如果是生产环境,建议优先考虑Linux部署或Docker容器化方案;个人学习、本地调试,Windows这套方案完全够用。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。
