← Open Source
ChuckHend

pg_vectorize

Full-text and semantic search on any Postgres.

InfrastructureData systemsIndex & SearchRust
Open on GitHub
Momentum
+0stars in 24 hours0.0%
832
Stars
42
Forks
+0
This week
23
Contributors
Created 2023-07-24 · Updated 2026-10-16 · #13363 today
Top developers
ChuckHendadam-muinuddinEvanHStanton

ChuckHend/pg_vectorize is ranked 13,363 with 832 stars.

Same-category comparison

ChuckHend/pg_vectorize is ranked 13,363 among these 8 peers; hoophq/hoop is ranked 13,375.

Same-category comparison
NameRankMetrics
scaleapi/llm-engine13,317
Language:
Python
Stars:
839
Forks:
87
Description:
Scale LLM Engine public repository.
RedisAI/redis-inference-optimization13,321
Language:
C
Stars:
838
Forks:
105
Description:
A Redis module for serving tensors and executing deep learning graphs.
UniversalRobots/Universal_Robots_ROS2_Driver13,323
Language:
C++
Stars:
838
Forks:
363
Description:
Universal Robots ROS2 driver supporting CB3 and e-Series.
llama-farm/llamafarm13,340
Language:
Python
Stars:
835
Forks:
60
Description:
Deploy any AI model, agent, database, RAG, and pipeline locally or remotely in minutes.
hoophq/hoop13,375
Language:
Go
Stars:
831
Forks:
67
Description:
Open-source enforcement at runtime that masks sensitive data and blocks destructive commands from AI agents. You change one thing: your agent's port.
lucasjinreal/Kokoros13,401
Language:
Rust
Stars:
829
Forks:
117
Description:
🔥🔥 Kokoro in Rust. https://huggingface.co/hexgrad/Kokoro-82M Insanely fast, realtime TTS with high quality you ever have.
tech-shrimp/gemini-balance-lite13,439
Language:
JavaScript
Stars:
825
Forks:
789
eyelevelai/groundx-on-prem13,475
Language:
Go Template
Stars:
821
Forks:
89
Description:
A Kubernetes deployable instance of GroundX for document parsing, storage, and search.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageRust
CategoryInfrastructure
SubcategoryData systems, Index & Search
KeywordsRAG
Stars832
Forks42
Contributors23
Created date2023-07-24
Updated date2026-10-16
Stars in 1 day0
Stars in 7 days0
Rank13,363
Previous rank13,265
Rank change-98
7-day stars rank13,903
Previous 7-day stars rank13,925
7-day stars rank change22
Total stars rank12,906
Previous total stars rank12,886
Total stars rank change-20
CountryUSA
README summary

pg_vectorize: a VectorDB on Postgres A Postgres server and extension that automates the transformation and orchestration of text to embeddings and provides hooks into the most popular LLMs. This allows you to do get up and running and automate maintenance for vector search, full text search, and hybrid search, which enables you to quickly build RAG and search engines on Postgres. This project relies heavily on the work by pgvector for vector similarity search, pgmq for orchestration in background

workers, and SentenceTransformers. This project provides an external server only implementation and SQL experience via a Postgres extension. Modes at a glance: HTTP server (recommended for managed DBs): run a standalone service that connects to Postgres and exposes a REST API (POST /api/v1/table, GET /api/v1/search). Postgres extension (SQL): install the extension into Postgres and use SQL functions like and (requires filesystem access to Postgres; see . This generates embeddings for the existing data and continuously watches for

updates or new data: Search using the HTTP API: Which should I pick? Use the HTTP server when your Postgres is managed (RDS, Cloud SQL, etc. It requires only that is available in the database. Use Postgres extension when you self-host Postgres and can install extensions. This provides an in-database experience and direct SQL APIs for vectorization and RAG. If you want hands-on SQL examples or to install the extension into Postgres, see . For full HTTP API

docs and deployment notes, see . For contribution guidelines see in the repo root.

Frequently asked questions

How many stars and forks are recorded?

ChuckHend/pg_vectorize has 832 stars and 42 forks.

What is the repository rank?

ChuckHend/pg_vectorize is ranked 13,363.

What language and category are recorded?

ChuckHend/pg_vectorize has 832 stars, uses Rust and belongs to Infrastructure.

Which repository is closest in rank?

ChuckHend/pg_vectorize is compared with hoophq/hoop, ranked 13,375 with 831 stars.

README

pg_vectorize: a VectorDB on Postgres

A Postgres server and extension that automates the transformation and orchestration of text to embeddings and provides hooks into the most popular LLMs. This allows you to do get up and running and automate maintenance for vector search, full text search, and hybrid search, which enables you to quickly build RAG and search engines on Postgres.

This project relies heavily on the work by pgvector for vector similarity search, pgmq for orchestration in background workers, and SentenceTransformers.


API Documentation: https://chuckhend.github.io/pg_vectorize/

Source: https://github.com/chuckhend/pg_vectorize

Overview

pg_vectorize provides two ways to add semantic, full text, and hybrid search to any Postgres making it easy to build retrieval-augmented generation (RAG) on Postgres. This project provides an external server only implementation and SQL experience via a Postgres extension.

Modes at a glance:

  • HTTP server (recommended for managed DBs): run a standalone service that connects to Postgres and exposes a REST API (POST /api/v1/table, GET /api/v1/search).
  • Postgres extension (SQL): install the extension into Postgres and use SQL functions like vectorize.table() and vectorize.search() (requires filesystem access to Postgres; see ./extension/README.md).

Quick start — HTTP server

Run Postgres and the HTTP servers locally using docker compose:

# runs Postgres, the embeddings server, and the management API
docker compose up -d

Load the example dataset into Postgres (optional):

psql postgres://postgres:postgres@localhost:5432/postgres -f server/sql/example.sql
CREATE TABLE
INSERT 0 40

Create an embedding job via the HTTP API. This generates embeddings for the existing data and continuously watches for updates or new data:

curl -X POST http://localhost:8080/api/v1/table -d '{
		"job_name": "my_job",
		"src_table": "my_products",
		"src_schema": "public",
		"src_columns": ["product_name", "description"],
		"primary_key": "product_id",
		"update_time_col": "updated_at",
		"model": "sentence-transformers/all-MiniLM-L6-v2"
	}' -H "Content-Type: application/json"
{"id":"16b80184-2e8e-4ee6-b7e2-1a068ff4b314"}

Search using the HTTP API:

curl -G \
  "http://localhost:8080/api/v1/search" \
  --data-urlencode "job_name=my_job" \
  --data-urlencode "query=camping backpack" \
  --data-urlencode "limit=1" \
  | jq .
[
  {
    "description": "Storage solution for carrying personal items on ones back",
    "fts_rank": 1,
    "price": 45.0,
    "product_category": "accessories",
    "product_id": 6,
    "product_name": "Backpack",
    "rrf_score": 0.03278688524590164,
    "semantic_rank": 1,
    "similarity_score": 0.6296013593673706,
    "updated_at": "2025-10-05T00:14:39.220893+00:00"
  }
]

Which should I pick?

  • Use the HTTP server when your Postgres is managed (RDS, Cloud SQL, etc.) or you cannot install extensions. It requires only that pgvector is available in the database. You the HTTP services separately.
  • Use Postgres extension when you self-host Postgres and can install extensions. This provides an in-database experience and direct SQL APIs for vectorization and RAG.

If you want hands-on SQL examples or to install the extension into Postgres, see ./extension/README.md. For full HTTP API docs and deployment notes, see ./server/README.md.

For contribution guidelines see CONTRIBUTING.md in the repo root.

Nearby in the ranking
Similar items