Repolode
timescale

timescale/pgvectorscale

基于 Rust 的 Postgres 扩展,在 pgvector 之上提供 DiskANN 索引和标签过滤,用于更快、更省成本的向量检索。

可替代:Pinecone

Star
3,161
Fork
160
未关闭 Issue
19
最近提交
24天前

这是什么?

pgvectorscale 是一个 PostgreSQL 扩展,与开源向量扩展 pgvector 配合使用,用于加速 embedding 列上的近似最近邻搜索。它新增了 StreamingDiskANN 索引类型,灵感来自微软的 DiskANN 研究,并提供基于 Statistical Binary Quantization 的压缩存储布局。

该扩展支持基于标签的过滤向量搜索,可以在一次查询中结合相似度排序与 smallint[] 列上的数组重叠过滤。也支持任意 WHERE 条件,但这些条件会在向量搜索之后作为后过滤应用。距离度量支持余弦、L2 和内积,沿用 pgvector 的操作符语法。

项目使用 Rust 和 PGRX 框架编写,而非 C。可以通过预构建的 Docker 镜像运行,也可以从源码编译,并已作为扩展提供给 Timescale Cloud 使用。

核心功能

  • 01为 pgvector 的 embedding 列新增 StreamingDiskANN 索引。
  • 02使用 Statistical Binary Quantization 压缩向量存储。
  • 03通过 && 数组重叠操作符支持基于标签的过滤搜索。
  • 04支持与 pgvector 一致的余弦、L2 和内积距离操作符。
  • 05提供可调的构建参数和查询参数,用于权衡精度与速度。

适用场景

  • 在现有 PostgreSQL 数据库中实现语义搜索或 RAG 检索。
  • 在自托管的 Postgres 上存储大规模 embedding 数据,降低成本。
  • 按分类标签或元数据条件过滤最近邻搜索结果。

快速上手

  1. 1

    运行 TimescaleDB Docker 镜像(参见链接的安装文档)

  2. 2

    使用 psql 连接到数据库

    psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>"
  3. 3

    创建 pgvectorscale 扩展(CASCADE 会同时安装 pgvector)

    CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;

使用前须知

  • 由于一个未解决的问题,无法在 macOS Intel (x86) 机器上从源码构建。
  • 从源码安装需要 Rust 工具链和 cargo-pgrx 构建环境。

收录于专题

标签

常见问题

pgvectorscale 是什么?
基于 Rust 的 Postgres 扩展,在 pgvector 之上提供 DiskANN 索引和标签过滤,用于更快、更省成本的向量检索。 pgvectorscale 是一个 PostgreSQL 扩展,与开源向量扩展 pgvector 配合使用,用于加速 embedding 列上的近似最近邻搜索。它新增了 StreamingDiskANN 索引类型,灵感来自微软的 DiskANN 研究,并提供基于 Statistical Binary Quantization 的压缩存储布局。
pgvectorscale 可以免费使用吗?用的什么许可证?
pgvectorscale 以 PostgreSQL 许可证开源。用于商业产品前,请先确认许可证条款。
pgvectorscale 还在维护吗?
活跃维护中。pgvectorscale 最近一次提交是在 2026年10月14日。
pgvectorscale 适合用来做什么?
在现有 PostgreSQL 数据库中实现语义搜索或 RAG 检索。 在自托管的 Postgres 上存储大规模 embedding 数据,降低成本。 按分类标签或元数据条件过滤最近邻搜索结果。
pgvectorscale 怎么安装和运行?
运行 TimescaleDB Docker 镜像(参见链接的安装文档) 使用 psql 连接到数据库: psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>" 创建 pgvectorscale 扩展(CASCADE 会同时安装 pgvector): CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;
在哪里获取 pgvectorscale?
源代码和安装说明在 GitHub 上:https://github.com/timescale/pgvectorscale

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目