PostgreSQL extension that shards tables across a cluster for distributed SQL workloads
- Stars12.6k
- Forks779
- Open Issues1.1k
AGPL-3.0
- C
- PLpgSQL
- Python

About Citus
Citus is a PostgreSQL extension that turns Postgres into a distributed database. It targets applications that have outgrown a single PostgreSQL node, especially multi-tenant apps, analytical queries, time series, IoT data, and real-time analytics workloads.
Distributed tables are sharded across PostgreSQL nodes to combine CPU, memory, storage, and I/O. Reference tables are replicated to all nodes for joins and foreign keys. A distributed query engine routes and parallelizes SELECT, DML, and other operations, while columnar storage compresses data and speeds up scans.
Citus works with recent PostgreSQL versions and existing PostgreSQL tools and extensions. It can run on a single Citus node, on a multi-node cluster with added worker nodes and shard rebalancing, or as Azure Cosmos DB for PostgreSQL managed service.
Key features
- Distributed tables sharded across PostgreSQL nodes
- Reference tables replicated to all nodes for joins and foreign keys
- Distributed query engine for SELECT, DML, and other operations
- Columnar storage for compression, scans, and projections
- Query from any node for distributed queries
Details
- First released
- 2016
- Type
- PostgreSQL extension
- Scaling
- Single node · Multi-node cluster
- Storage
- Row · Columnar
- Cloud
- Azure Cosmos DB for PostgreSQL
- License
- AGPL-3.0
