# pgvector 文档

> PostgreSQL 开源向量相似性检索基础扩展：涵盖 vector、halfvec、bit 与 sparsevec 数据类型，精确与近似最近邻搜索，以及 HNSW 与 IVFFlat 索引。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

**`pgvector`** 是 PostgreSQL 生态中最基础的开源向量相似性检索扩展。它提供了核心的 `vector`、`halfvec`、`bit` 与 `sparsevec` 向量数据类型、距离操作符，以及内置的 **HNSW** 和 **IVFFlat** 索引访问方法。

> [!TIP] 与 `vchord` 的关系
> [`vchord`](/zh/docs/vchord/) 直接构建在 `pgvector` 的数据类型（`vector` 与 `halfvec`）和距离操作符（`<->`、`<#>`、`<=>`）之上。无需修改现有的表结构或应用层 SQL，即可直接在现有的 `pgvector` 向量列上创建 [`vchord`](/zh/docs/vchord/)（`vchordrq` 或 `vchordg`）索引。

## 核心特性

- **精确与近似最近邻检索（KNN / ANN）**：与 PostgreSQL 完整 ACID 事务、时间点恢复（PITR）、关系连接（JOIN）及谓词过滤无缝融合。
- **多种向量数据表示**：
  - 单精度浮点向量（`vector`，索引最高支持 2,000 维，无索引存储最高支持 16,000 维）
  - 半精度浮点向量（`halfvec`，索引最高支持 4,000 维）
  - 二值位向量（`bit`，索引最高支持 64,000 维）
  - 稀疏向量（`sparsevec`，最高支持 1,000 个非零元素、总维度高达 100 万维）
- **六种距离度量**：欧氏 L2 距离（`<->`）、内积（`<#>`）、余弦距离（`<=>`）、曼哈顿 L1 距离（`<+>`）、汉明距离（`<~>`）以及杰卡德距离（`<%>`）。
- **迭代式索引扫描（Iterative Index Scans，0.8.0+）**：当带 `WHERE` 过滤条件导致候选集不足时，自动扩展 HNSW 或 IVFFlat 索引遍历范围以保证召回数量。

## 文档章节导航


- [安装与快速上手](/zh/docs/vector/getting-started/) — 通过 Pigsty、Docker、Linux 软件源、Homebrew 或源码编译安装 `pgvector`，启用扩展并执行向量写入与批量导入。
- [查询与过滤检索](/zh/docs/vector/querying/) — 距离操作符、相似度计算、向量聚合函数、带 `WHERE` 条件的迭代索引扫描以及全文/BM25 混合检索。
- [HNSW 与 IVFFlat 索引](/zh/docs/vector/indexing/) — HNSW 与 IVFFlat 索引构建与参数调优、并行建索引、进度监控，以及使用 [`vchord`](/zh/docs/vchord/) 突破内存瓶颈。
- [向量量化与稀疏向量](/zh/docs/vector/quantization/) — 半精度（`halfvec`）、二值量化（`bit` + 精确重排）、稀疏向量（`sparsevec`）以及套娃（Matryoshka）子向量索引。
- [参考手册、调优与 FAQ](/zh/docs/vector/reference/) — 完整 SQL 函数与操作符速查表、GUC 参数、内存规划、执行计划排查与常见问题解答。
- [使用 vchord 扩展亿级规模](/zh/docs/vchord/) — 在现有的 `pgvector` 向量列上无缝添加 `vchordrq` 与 `vchordg` RaBitQ 索引，无需修改业务查询即可扩展至亿级规模。

---

本节页面：

- [安装与快速上手](/zh/docs/vector/getting-started/): 在 PostgreSQL 14–18 上安装 pgvector 并运行第一个向量相似性查询。
- [查询与过滤检索](/zh/docs/vector/querying/): pgvector 的最近邻操作符、距离与相似度计算、向量聚合、带 WHERE 条件的迭代式索引扫描与混合检索。
- [HNSW 与 IVFFlat 索引](/zh/docs/vector/indexing/): 在 pgvector 中创建、调优与维护 HNSW 和 IVFFlat 近似最近邻索引，并与 vchord 进行对比。
- [向量量化与稀疏向量](/zh/docs/vector/quantization/): pgvector 中的半精度向量（halfvec）、二值量化（bit）、稀疏向量（sparsevec）与套娃（Matryoshka）子向量索引。
- [参考手册、调优与 FAQ](/zh/docs/vector/reference/): pgvector 的完整 SQL 函数参考、GUC 配置参数、性能调优、监控方法与常见问题解答。

---

反链：

- [我们真的需要专门的向量数据库吗？](/zh/blog/post/do-we-really-need-a-specialized-vector-database/)
- [我们真的需要专门的向量数据库吗？(2023)](/zh/blog/post/do-we-really-need-a-specialized-vector-database-2023/)
- [基于 Postgres 原生 BM25 与 VectorChord 的混合搜索](/zh/blog/post/hybrid-search-with-postgres-native-bm25-and-vectorchord/)
- [PostgreSQL 向量搜索：内存与磁盘方案对比分析](/zh/blog/post/vector-search-over-postgresql-a-comparative-analysis-of-memory-and-disk-solutions/)
- [VectorChord：在 AWS 上高性价比地上传与搜索 4 亿向量](/zh/blog/post/vectorchord-cost-efficient-upload-and-search-of-400-million-vectors-on-aws/)
- [文档](/zh/docs/)
- [关于](/zh/docs/about/)
- [pg_bestmatch](/zh/docs/bestmatch/)
- [安装与工作原理](/zh/docs/bestmatch/getting-started/)
- [SQL 参考](/zh/docs/bestmatch/reference/)
- [使用指南](/zh/docs/bestmatch/usage/)
- [vchord_bm25](/zh/docs/bm25/)
- [安装指南](/zh/docs/tokenizer/installation/)
- [vchord](/zh/docs/vchord/)
- [混合检索](/zh/docs/vchord/use-case/hybrid-search/)
