数据 · 2026年11月10日

Tiger Data 发布开源扩展 pg_vectorsearch,旨在提升 PostgreSQL 向量搜索的扩展性

A digital financial candlestick chart showing market trends on a dark screen
Tötös Ádám / Unsplash

Tiger Data 发布了名为 pg_vectorsearch 的开源 PostgreSQL 扩展,目前处于 alpha 阶段。该扩展专为向量相似性搜索设计,其核心组件 PRISM 索引采用数据分区和压缩技术,取代了 pgvector 中 HNSW 索引所使用的基于图的方法,从而降低了内存需求并缩短了索引构建时间。

在 Tiger Data 使用一亿个向量进行的基准测试中,PRISM 在一台配备 128 GB 内存的机器上耗时一小时四十分完成索引构建,而 HNSW 在一台配备 512 GB 内存的机器上则耗时四十二小时。该扩展支持现有的 pgvector 列,允许应用程序无需独立数据库即可执行向量搜索。开发者需安装该扩展并在向量列上创建 PRISM 索引以利用新功能。

PRISM 将相似向量分组到分区中,并以压缩格式密集存储在数据库页面中,而非将每个向量连接到其邻居。这种方法将搜索范围缩小到相关分区,并顺序扫描压缩向量,从而避免昂贵的随机内存或磁盘访问。该索引结合了层次聚类、压缩向量以及 RaBitQ 量化技术,以减少距离计算开销,并依赖 PostgreSQL 的原生存储、日志和并发机制。

目前,增量再平衡功能尚未完全实现,频繁的数据变更可能需要重建索引以维持搜索效率。该扩展要求 PostgreSQL 18 或更高版本,当前支持最多 1968 维的向量。结合 WHERE 和 ORDER BY 的过滤向量搜索在正式版本发布前尚不支持。Tiger Data 计划将其现有的 pgvectorscale 扩展转入维护模式。