Skip to content
Tool Review · Database Proxy & Connection Pooling

Citus

Citus is Microsoft's open source PostgreSQL extension that shards tables or schemas across a cluster of PostgreSQL nodes; it is managed on Azure as elastic clusters in Azure Database for PostgreSQL, while Azure Cosmos DB for PostgreSQL is closed to new deployments.

Free Research-based review
Last verified November 2026. Version checked: 14.3.0 (23 October 2026; 13.5.0 released the same day for the 13.x line). Features and pricing for commercial products change; check the vendor site for the latest details.
Product status: Azure Cosmos DB for PostgreSQL, the earlier managed Citus service, is on a retirement path: Microsoft Learn says new deployments are blocked and existing clusters remain supported (migration page updated 27 July 2026). Microsoft directs new distributed PostgreSQL workloads to elastic clusters in Azure Database for PostgreSQL; no final retirement date was published.
Vendor
Microsoft
Price
Free
Platforms
Linux (deb and rpm packages), Docker, Azure (elastic clusters in Azure Database for PostgreSQL)
Licence
GNU AGPL v3 (open source)
Product type
PostgreSQL extension (open source, AGPL-3.0)
Official site
Works with
PostgreSQLAzure Database for PostgreSQL flexible server (elastic clusters)Azure Cosmos DB for PostgreSQL (existing clusters only)

At a glance

Product typePostgreSQL extension (sharding layer inside the database), not a network proxy
Supported databasesPostgreSQL (Citus 14 targets current versions, including PostgreSQL 18)
Pooling modesNot a connection pooler; elastic clusters on Azure offer PgBouncer, and self-managed clusters typically put PgBouncer in front
Routing and read/write splittingRoutes each query to the shards that hold the data, or fans out across nodes; not a read/write splitter
Load balancing and failoverData and query work spread across nodes; high availability through Patroni (self-managed) or the managed service
Authentication and TLSStandard PostgreSQL authentication and TLS; Microsoft Entra ID on Azure elastic clusters
DeploymentSelf-managed (deb and rpm packages, single-node Docker image) or Azure elastic clusters
LicensingAGPL-3.0, free; Azure bills compute, storage and IOPS
Short answer

Citus is the way to scale PostgreSQL itself across several servers without leaving PostgreSQL: it is an extension, not a proxy or a fork, so tables, SQL and most extensions keep working while data is distributed by a shard key or by schema. It needs a data model designed around a distribution column or per-tenant schemas, and for a managed service on Azure today you should choose elastic clusters, not Cosmos DB for PostgreSQL.

How we know: This profile is research-based: features, licence, versions and the Azure service status were checked on 7 November 2026 against the citusdata/citus GitHub repository and its releases and against Microsoft Learn pages for Azure Cosmos DB for PostgreSQL and elastic clusters in Azure Database for PostgreSQL. We have not deployed a Citus cluster or run benchmarks.

Overview

Citus is an extension that turns PostgreSQL into a distributed database. A cluster is a set of PostgreSQL servers with the extension installed: distributed tables are split into shards by a distribution column and spread over the nodes, reference tables are copied to every node so joins and foreign keys work, and a distributed query planner either routes a query to one node or runs it in parallel across many. Schema-based sharding, added in Citus 12.0, treats each schema as a shard, which suits multi-tenant applications and microservices. Citus also includes a columnar access method for compressed analytical tables.

Microsoft acquired Citus Data in January 2019 and develops the extension in the open; 14.3.0 (23 October 2026) is current and the README examples pair Citus 14 with PostgreSQL 18. On Azure, elastic clusters in Azure Database for PostgreSQL flexible server are Microsoft's managed Citus offering. Azure Cosmos DB for PostgreSQL, the earlier managed Citus service, is on a retirement path with new deployments blocked; see Azure Cosmos DB and Azure Database for PostgreSQL.

Key features

  • Row-based sharding of distributed tables by a distribution column
  • Schema-based sharding (since 12.0) for multi-tenant apps and microservices
  • Reference tables replicated to all nodes for joins and foreign keys
  • Distributed query planner that routes single-shard queries and parallelises multi-shard queries and DML
  • Online shard rebalancing when nodes are added
  • Columnar access method for compressed, scan-friendly tables
  • Queries can be run from any node, not only the coordinator

Integrations and ecosystem

PostgreSQLAzure Database for PostgreSQL elastic clustersPatroni (high availability)PgBouncerDockerPostGIS and other PostgreSQL extensions

Pros and cons

Pros

  • Scales PostgreSQL horizontally while keeping PostgreSQL SQL, tools and extensions
  • Two sharding models, by distribution column or by schema
  • Managed option on Azure in addition to self-hosting
  • Open source with regular releases on two supported lines (13.x and 14.x)

Cons

  • Schemas and queries must be designed around the distribution column to avoid costly cross-shard work
  • AGPL-3.0 obligations need a licence review for some redistribution and SaaS uses
  • Azure Cosmos DB for PostgreSQL users face a migration to elastic clusters
  • Self-managed multi-node clusters need manual setup and separate HA tooling

Pricing

The Citus extension is free and open source under the AGPL-3.0 licence; you can run it on your own PostgreSQL servers at no licence cost. The managed option is elastic clusters in Azure Database for PostgreSQL flexible server, billed by Azure for compute (per vCore), storage and IOPS with no extra charge for Citus, according to Microsoft's migration page. The older managed service, Azure Cosmos DB for PostgreSQL, is closed to new deployments.

Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.

Who it is best for

Teams that have outgrown one PostgreSQL server for multi-tenant SaaS, real-time analytics or high-throughput workloads and want to stay on PostgreSQL rather than move to a different distributed database.

Typical use cases

  • Multi-tenant SaaS with each tenant in its own schema or keyed by tenant_id
  • Real-time analytics dashboards over large event tables
  • Scaling write throughput beyond a single PostgreSQL server
  • Storing older analytical data in columnar tables next to row tables

Who should look elsewhere

  • Applications that only need more connections or read replicas: a pooler such as PgBouncer or replicas are simpler.
  • Teams that want a distributed database with built-in multi-region consensus replication: see CockroachDB vs PostgreSQL.

Verdict

Our take

Citus is the most direct way to shard PostgreSQL while staying on PostgreSQL, with a managed path on Azure through elastic clusters. It is a data-architecture decision rather than a drop-in component: model the distribution key or schemas first, check the AGPL terms, and if you run Azure Cosmos DB for PostgreSQL, plan the move to elastic clusters.

Frequently asked questions

Is Citus a proxy or a database?

Neither exactly: it is a PostgreSQL extension. Every node is a normal PostgreSQL server with Citus installed, and the extension handles sharding and distributed queries inside the database rather than in a separate proxy process.

Is Azure Cosmos DB for PostgreSQL being retired?

It is on a retirement path. Microsoft Learn says new deployments are blocked, existing clusters including read replicas remain supported, and new projects should use elastic clusters in Azure Database for PostgreSQL. Microsoft provides a migration tool; no final retirement date was published as of 7 November 2026.

Is Citus free?

Yes, the extension is open source under AGPL-3.0 and free to self-host. On Azure you pay for the elastic cluster's compute, storage and IOPS, with no extra charge for Citus.

Does Citus need a connection pooler?

Often. Citus is not a pooler, and distributed queries open connections between nodes, so deployments commonly put PgBouncer in front; Azure elastic clusters support PgBouncer.

Sources

Checked November 2026.

Listed in: Database Proxy & Connection Pooling, NoSQL & Distributed Databases.

How we research reviews and what star ratings mean: our editorial method.

Compare your options

Browse the full tools directory or see the head to head comparisons.