---
title: "pgvecto.rs"
type: "tool"
slug: "tensorchord-pgvecto-rs"
canonical_url: "https://www.graphcanon.com/tools/tensorchord-pgvecto-rs"
github_url: "https://github.com/tensorchord/pgvecto.rs"
homepage_url: "https://docs.vectorchord.ai/getting-started/overview.html"
stars: 2177
forks: 84
primary_language: "Rust"
license: "Apache-2.0"
categories: ["vector-databases", "data-retrieval"]
tags: ["postgres", "llm", "hacktoberfest", "rust", "chatgpt", "gpt", "nearest-neighbor-search", "faiss"]
updated_at: "2026-07-07T18:45:20.228066+00:00"
---

# pgvecto.rs

> Scalable, Low-latency and Hybrid-enabled Vector Search in Postgres

pgvecto.rs is a Rust-based PostgreSQL extension that provides scalable vector search capabilities with support for high-dimensional data, advanced filtering techniques, and multiple data types.

## Facts

- Repository: https://github.com/tensorchord/pgvecto.rs
- Homepage: https://docs.vectorchord.ai/getting-started/overview.html
- Stars: 2,177 · Forks: 84 · Open issues: 76 · Watchers: 20
- Primary language: Rust
- License: Apache-2.0
- Last pushed: 2025-02-26T14:11:43+00:00

## Categories

- [Vector Databases](/categories/vector-databases.md)
- [Data & Retrieval](/categories/data-retrieval.md)

## Tags

postgres, llm, hacktoberfest, rust, chatgpt, gpt, nearest-neighbor-search, faiss

## Related tools

- [transformers](/tools/huggingface-transformers.md) - 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models (★ 162,347)
- [langflow](/tools/langflow-ai-langflow.md) - Langflow is a powerful platform for building and deploying AI-powered agents and workflows. (★ 151,298)
- [firecrawl](/tools/firecrawl-firecrawl.md) - The API to search, scrape, and interact with the web at scale. (★ 147,117)
- [PaddleOCR](/tools/paddlepaddle-paddleocr.md) - PaddleOCR: A powerful OCR toolkit for transforming PDFs/images into structured data (★ 84,919)
- [graphify](/tools/graphify-labs-graphify.md) - AI coding assistant skill that transforms various file types into a queryable knowledge graph (★ 79,371)
- [worldmonitor](/tools/koala73-worldmonitor.md) - Real-time global intelligence dashboard. (★ 61,516)
- [llm-app](/tools/pathwaycom-llm-app.md) - Ready-to-run cloud templates for RAG, AI pipelines, and enterprise search with live data. (★ 59,097)
- [meilisearch](/tools/meilisearch-meilisearch.md) - Meilisearch is a lightning-fast search engine API that brings AI-powered hybrid search to your sites and applications. (★ 58,448)

## README (excerpt)

```text
<div align="center">
<h1>pgvecto.rs</h1>
</div>

<p align=center>
<a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://img.shields.io/discord/974584200327991326?style=flat&logo=discord&cacheSeconds=60"></a>
<a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=flat&logo=X&cacheSeconds=60" alt="trackgit-views" /></a>
<a href="https://hub.docker.com/r/tensorchord/pgvecto-rs"><img src="https://img.shields.io/docker/pulls/tensorchord/pgvecto-rs" /></a>
<a href="https://github.com/tensorchord/pgvecto.rs#contributors-"><img alt="all-contributors" src="https://img.shields.io/github/all-contributors/tensorchord/pgvecto.rs/main"></a>
</p>

`pgvecto.rs` is a Postgres extension that provides vector similarity search functions. It is written in Rust and based on [pgrx](https://github.com/pgcentralfoundation/pgrx).

> [!NOTE]
> We have a new implementation [VectorChord](https://github.com/tensorchord/VectorChord/) with better stability and performance. Users are encouraged to migrate to VectorChord. Check out the [migration guide](https://docs.vectorchord.ai/vectorchord/admin/migration.html).

## Comparison with pgvector

Checkout [pgvecto.rs vs pgvector](https://docs.vectorchord.ai/faqs/comparison-pgvector.html) for more details.

| Feature | pgvecto.rs | pgvector |
| --- | --- | --- |
| Filtering | Introduces VBASE method for vector search and relational query (e.g. Single-Vector TopK + Filter + Join). | When filters are applied, the results may be incomplete. For example, if you originally intended to limit the results to 10, you might end up with only 5 results with filters. |
| Vector Dimensions | Supports up to 65535 dimensions. | Supports up to 2000 dimensions. |
| SIMD | SIMD instructions are dynamically dispatched at runtime to maximize performance based on the capabilities of the specific machine. | Added CPU dispatching for distance functions on Linux x86-64" in 0.7.0. |
| Data Types | Introduces additional data types: binary vectors, FP16 (16-bit floating point), and INT8 (8-bit integer). | \- |
| Indexing | Handles the storage and memory of indexes separately from PostgreSQL | Relies on the native storage engine of PostgreSQL |
| WAL Support | Provides Write-Ahead Logging (WAL) support for data, index support is working in progress. | Provides Write-Ahead Logging (WAL) support for index and data. |                         |

## [Documentation](https://docs.vectorchord.ai/getting-started/overview.html)

- Getting Started
  - [Overview](https://docs.vectorchord.ai/getting-started/overview.html)
  - [Installation](https://docs.vectorchord.ai/getting-started/installation.html)
- Usage
  - [Indexing](https://docs.vectorchord.ai/usage/indexing.html)
  - [Search](https://docs.vectorchord.ai/usage/search.html)
- Administration
  - [Configuration](https://docs.vectorchord.ai/admin/configuration.html)
  - [Upgrading from older versions](https://docs.vectorchord.ai/admin/upgrading.html)
- Developers
  - [Development Tutorial](https://docs.vectorchord.ai/developers/development.html)

## Quick start

For new users, we recommend using the [Docker image](https://github.com/tensorchord/pgvecto.rs/pkgs/container/pgvecto-rs) to get started quickly.

```sh
docker run \
  --name pgvecto-rs-demo \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -p 5432:5432 \
  -d ghcr.io/tensorchord/pgvecto-rs:pg17-v0.4.0
```

Then you can connect to the database using the `psql` command line tool. The default username is `postgres`, and the default password is `mysecretpassword`.

```sh
psql -h localhost -p 5432 -U postgres
```

Run the following SQL to ensure the extension is enabled.

```sql
DROP EXTENSION IF EXISTS vectors;
CREATE EXTENSION vectors;
```

pgvecto.rs introduces a new data type `vector(n)` denoting an n-dimensional vector. The `n` within the brackets signifies the dimensions of the vector.

You could create a table with the following SQL.

```sql
-- create table
```

---

**Machine-readable endpoints**

- JSON: [`/api/graphcanon/tools/tensorchord-pgvecto-rs`](/api/graphcanon/tools/tensorchord-pgvecto-rs)
- LLM index: [/llms.txt](/llms.txt)
- Full corpus: [/llms-full.txt](/llms-full.txt)

_GraphCanon - The knowledge graph for AI development. https://www.graphcanon.com/_
