pgvecto.rs  by tensorchord

Postgres extension for vector similarity search

created 2 years ago
2,084 stars

Top 21.9% on sourcepulse

GitHubView on GitHub
Project Summary

pgvecto.rs is a PostgreSQL extension offering scalable, low-latency vector similarity search, designed to enhance existing PostgreSQL databases rather than replace them. It targets developers and data scientists needing efficient vector operations within a relational database context, providing advanced features like filtering and support for higher dimensions.

How It Works

Built with Rust and the pgrx framework, pgvecto.rs leverages dynamic SIMD instruction dispatch for optimized performance across different hardware. It introduces new vector data types (binary, FP16, INT8) and manages index storage separately from PostgreSQL's native engine, aiming for improved efficiency and flexibility.

Quick Start & Requirements

  • Install: Use Docker: docker run -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d ghcr.io/tensorchord/pgvecto-rs:pg17-v0.4.0
  • Prerequisites: PostgreSQL 17 (via Docker image), psql client.
  • Setup: Minimal setup time via Docker.
  • Docs: Getting Started, Overview

Highlighted Details

  • Supports vector dimensions up to 65,535, significantly higher than pgvector's 2,000.
  • Enables hybrid search with relational filtering, unlike pgvector where filters can reduce result completeness.
  • Offers FP16 and INT8 vector data types for memory and performance optimization.
  • Dynamically dispatches SIMD instructions for maximum hardware utilization.

Maintenance & Community

  • Active development with a Discord community for discussions and contributions.
  • Roadmap available at ROADMAP.
  • Numerous contributors listed, indicating community engagement.

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatibility: Permissive license allows commercial use and integration with closed-source applications.

Limitations & Caveats

Index WAL support is currently in progress. The project notes a new implementation, VectorChord, encouraging migration for improved stability and performance.

Health Check
Last commit

5 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
1
Star History
73 stars in the last 90 days

Explore Similar Projects

Starred by Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX).

pgvector-node by pgvector

0.8%
399
Node.js library for pgvector support
created 4 years ago
updated 2 weeks ago
Feedback? Help us improve.