pg-sharding
spqr
Go

Stateless Postgres Query Router.

Last updated Jul 10, 2026
1.5k
Stars
96
Forks
84
Issues
+2
Stars/day
Attention Score
77
Language breakdown
Go 82.1%
Gherkin 12.8%
PLpgSQL 1.3%
Yacc 1.3%
Python 0.9%
Shell 0.7%
Files click to expand
README

Go Go Docs Telegram Chat

Stateless Postgres Query Router

Stateless Postgres Query Router is a production-ready system for horizontal scaling of PostgreSQL via sharding.


PostgreSQL is awesome, but it's hard to manage a single database with some terabytes of data and 105+ queries per second. Current sharding solutions focus on analytical and hybrid workloads (OLAP, HTAP). Moreover, most of those solutions do not provide a smooth path for monolith to sharded transitions, which is why Yandex Cloud's Data Platform team developed SPQR.

SPQR is a production-ready system for horizontal scaling of PostgreSQL via sharding. We appreciate any kind of feedback and contribution to the project.

Get started

To get started, please visit our documentation. The full list of features is available here.

Development

You can use make run for a quick example using Docker. For local development, you need the latest Go version.

How to build:

make make build

How to run:

spqr-router run --config path-to-router-config.yaml

Tests

SPQR has all types of tests: unit, regress, and end-to-end. These tests require Docker Compose, and can be run using make. For more information on testing, please see unittest, regress, and feature sections in Makefile.

Support

We have a Telegram chat to discuss SPQR usage and development. If you're missing a feature or have found a bug, please open a GitHub Issue. We appreciate any kind of feedback and contribution to the project.

License

The SPQR source code is distributed under the PostgreSQL Global Development Group License.

🔗 More in this category

© 2026 GitRepoTrend · pg-sharding/spqr · Updated daily from GitHub