Citus 14.0 is out! Now with PG18 Support. Read all about it in Mehmet’s 14.0 blog post. 💥
Citus 14.0 is out! Now with PG18 Support. Read all about it in Mehmet’s 14.0 blog post. 💥
Scale Postgres by distributing data & queries. You can start with a single Citus node, and simply add nodes & rebalance shards in order to grow.
Reduce your infrastructure headaches by using a single database for both your transactional and analytical workloads.
Download and use Citus open source for free. You can manage Citus yourself, embrace open source, and help us improve Citus via GitHub.
As an extension to Postgres, it’s easy to keep Citus in sync with the latest Postgres releases & stay current with all the latest innovations in its community.
Citus 14.0 is out & includes support for PostgreSQL 18.
Our 5th annual virtual event POSETTE: An Event for Postgres 2026 will be on Jun 16-18, 2026. Watch for the schedule & speaker announcement on Feb 25.
| Distributed query engine | Distributed query planner & adaptive executor that parallelizes queries across shards and nodes. |
|---|---|
| Distributed schemas | Transparently shard your database by schema name across a cluster of Postgres nodes to leverage their combined CPU, memory, disk, and I/O. |
| Distributed tables | Shard tables across a cluster of Postgres nodes to leverage their combined CPU, memory, disk, and I/O. |
| Reference tables | Replicate tables to enable JOINs, foreign keys from distributed tables, & faster reads. |
| Co-located shards | Optimize performance for joins and foreign keys by co-locating shards of distributed tables. |
| Parallel distributed SELECT | Parallelize analytical queries across the distributed cluster for maximum performance. |
| Parallel distributed DML | Transform data inside the database with parallelized update, delete, & insert..select commands. |
| Full SQL query routing | Route complex SQL queries and transactions across a cluster with minimal overhead. |
| Distributed transactions | Perform complex transactions, stored procedures, and more in atomic distributed transactions. |
| Parallelized COPY | Employ parallel indexing, constraint checking, and disk writes to speed up data loading streams. |
| Change Data Capture (CDC, in Preview) | Citus 11.3 adds a new citus.enable_change_data_capture setting (in preview) that enables logical replication for distributed tables and reference tables to the CDC clients. |
| Columnar storage | Compress local and/or distributed tables to save on storage, reduce I/O bandwidth, & speed up analytics queries. |
| Sharding | Transparently distributes tables and schemas across Citus worker nodes, to enable scale out & improve performance. |
|---|---|
| Easy to add nodes | Easy to add more Citus nodes, whether starting with Citus on a single node or a multi-node cluster. |
| Shard rebalancer | Redistribute shards across nodes and track rebalancer progress in a Citus cluster. Online, non-blocking, fully open source. In 11.1, added background shard rebalancer. |
| Single-node Citus | Be scale-out ready by starting (or testing) on a single Citus node. So you can easily add nodes later. |
| Distributed Postgres cluster | Combine the compute, memory, disk, & IO of multiple database nodes into one database. |
| Tenant monitoring | New in 11.3, use citus_stat_tenants view to monitor your tenant’s usage statistics |
| Tenant isolation | Isolate shards for large SaaS tenants to improve performance for other SaaS tenants. Fully open source, and with zero-downtime. |
| Sharding flexibility | Tooling to change how data is distributed: change shard count, undistribute tables, distribute schemas, undistributed schemas, change distribution column. |
| Query from any node | Automatic metadata syncing (added in Citus 11) means you can now query from any node if you need to reach higher query throughput. |
| HA with Patroni | New to Citus 11.2 integration with Patroni 3.0 gives you fully declarative clustering with high availability and automatic failover. |
| Open Source | PostgreSQL & Citus are built on one of the most collaborative open source ecosystems. |
|---|---|
| Packaged as an extension | Citus is an extension to Postgres (not a fork)—so when you use Citus, you’re also using Postgres. |
| Postgres tooling & ecosystem | Rich ecosystem of Postgres tooling & integrations. |
| Joins | One of the reasons (along with foreign keys & constraints) that teams who need scale want to keep using Postgres. |
| Indexes | Postgres offers different index types: B-tree, GIN, BRIN, GiST, as well as partial indexes. |
| Stored procedures | Ability to run functions within the database to execute complex transactions efficiently. |
| UPDATE/DELETE | Staple of relational databases: the ability to update (modify) or delete older data. |
| Constraints | Constraints are a powerful construct to enforce rules and keep invalid data out of your Postgres database. |
| Time Partitioning | Citus works with native Postgres range partitioning, and also provides tooling for easily managing time partitions. |
| JSON & JSONB | JSON and JSONB data types are a popular way to store & index semi-structured data in Postgres. |
| Rich datatypes | Citus works well with the 40+ data types in Postgres, plus the ability to create custom, user-defined types. |
| Postgres extension compatibility | Popular extensions often used with Citus: PostGIS, HLL, pg_cron, pg_stat_statements, t-digest, pgvector, pg_partman, TopN, & more. |
| Monitoring metrics | Utilities can be used to query table and relation sizes. pg_stat_statements gives visibility into statistics about queries that are running. Use any Postgres compatible monitoring tool. |
|---|---|
| Access controls | Granular access controls enable you to limit capabilities to certain types of users to control user access and reduce risk. |
| User management | Automatically manage user creation across the cluster, and enable fine-grained control over inter-node authentication using certificates or other methods. |
| Tenant monitoring | Find noisy neighbors with CPU usage insights and query counts from citus_stat_tenants. Maintain a resource utilization snapshot for top N tenants to use with Grafana to visualize congestion & locate roadblocks. |
| Cluster activity views | Extends pg_stat_activity via citus_stat_activity and citus_dist_stat_activity views. These views pull all the activity across the cluster, making it easier to examine the activity within the cluster. |
Not every application benefits from distributing Postgres, parallelizing queries, compressing tables via columnar, and the ability to scale from a single node to a distributed database cluster. But many do. Some popular use cases for the Citus database: multi-tenant SaaS apps, real-time analytics, time series, & microservices.