rag-graph: graph RAG on plain Postgres

Review
Graph RAG
Tools
rag-graph is a Python library for graph RAG on plain Postgres that starts with vector and BM25 search and pays for graph traversal only when needed.
Published

September 28, 2026

Illustration: rag-graph: graph RAG on plain Postgres

It’s a Python library for graphRAG on plain Postgres. You point it at a directory of documents, it ingests them (the whole lot: chunks, embeddings, entities, relationships, full-text index) and you get back a query API that combines vector similarity, BM25, and graph traversal. All retrieval happens in one round-trip to Postgres. It is also a full toolkit around that library: a CLI , an optional FastAPI server with a web UI and an MCP server for Claude Desktop/Cursor/Zed.

Most graph RAG tools graph-ify everything up front. This one inverts that: start with vector+BM25 and only pay for graph traversal (local/hybrid modes) when the naive retrieval confidence is low or do a cheap 1-hop re-rank (naive_boost) otherwise. It matches what you’d expect analytically: graph structure helps disproportionately on multi-hop/cross-document reasoning and is close to useless on self-contained prose. Their own benchmarks bear this out.

I love the honest benchmark and the comparison with Apache AGE. Plus a forward look at the SQL/PGQ innovation in Postgres v19. It’s a single dev no-star repo but this does not diminish the innovative way of looking at things.

https://github.com/yonk-labs/pg-raggraph