pgvecto.rs  by tensorchord

Postgres extension for vector similarity search

Created 2 years ago
2,112 stars

Top 21.1% 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

8 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Bryan Helmig Bryan Helmig(Cofounder of Zapier) and Jared Palmer Jared Palmer(SVP at GitHub; Founder of Turborepo; Author of Formik, TSDX).

pgvector-node by pgvector

0%
413
Node.js library for pgvector support
Created 4 years ago
Updated 1 month ago
Feedback? Help us improve.