Citus For PostgreSQL Goes Fully Open Source
Written by Nikos Vaggalis   
Monday, 04 July 2022

Citus, the PostgreSQL extension that transforms Postgres into a distributed database, has gone completely open source with latest release, version 11.

I say completely, because some parts, like the shard rebalancer, had already been open sourced in earlier versions. This version however open sources everything. 

But first a few words about Citus. As with other extensions that give PostgreSQL superpowers, Citus enhances Postgres with :

  • Distributed tables that are sharded across a cluster of PostgreSQL nodes to combine their CPU, memory, storage and I/O capacity.
  • References tables that are replicated to all nodes for joins and foreign keys from distributed tables and maximum read performance.
  • Distributed query engine routes and parallelized SELECT, DML, and other operations on distributed tables across the cluster.
  • Columnar storage that compresses data, speeds up scans, and supports fast projections, both on regular and distributed tables.
  • Query from any node enables you to utilize the full capacity of your cluster for distributed queries


Oracle Database and IBM Db2 both provide a shared-nothing architecture (each node in the cluster has its own compute and storage) as separate features and with Citus, PostgreSQL could do so very much too. Along with this you could also scale out horizontally by adding more servers to Citus' clusters and rebalance data from the already existing servers to the new ones without downtime.

Open sourcing, makes the Enterprise Edition's extra features available to all. These include:

  • Non-blocking shard rebalancer: moves shards without blocking modifications
  • Multi-user support: manage roles across the cluster
  • Role statements: propagates CREATE/DROP/ALTER ROLE statements
  • Grant statements: propagates GRANT/REVOKE statements
  • Row-level security: row-level security on distributed tables
  • Database owner: Propagates ALTER DATABASE ... OWNER TO
  • citus.node_conninfo: authenticate internal connections
    pg_dist_authinfo: per user authentication of internal connections
  • pg_dist_poolinfo: install pooler for internal connections
  • Tenant isolation: More control on tenants
  • citus_stat_statements: Per tenant statistics
  • COPY optimization: for large JSON/JSONB objects
  • Cluster command: more postgres compatibility

But the biggest changes v11 (v11.0.2 as of this June) has over its predecessors are:

dropping support for PostgreSQL 12

that the schema and Citus metadata are now automatically synchronized throughout the database cluster therefore you can always query distributed tables from any node in a Citus cluster.


the introduction of the non-blocking shard rebalancer under which Citus can move shards around by using logical replication, hence your application will only experience a brief blip in write latencies when scaling out the cluster by moving existing data to new nodes.

If you think that with those features Citus sounds more like a complete PostgreSQL version than a mere extension,you'd be aligned with the voices that call for its merging into the main PostgreSQL branch. Despite that Citus will remain as is, a separate extension.

So much power inside a single 7MB zip file source distribution...

Get 11.0.2 from Github.


More Information

Release notes

Related Articles

pg_ivm - Materialised Views On Steroids  

AGE - The Open Source PostgreSQL Extension For Graph Database Functionality

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Bruce Bastian, WordPerfect's Co-Creator

Bruce Bastian, co-creator of WordPerfect, has died aged 76. Bastion created the word processing software as a graduate student at Brigham Young University, together with Alan Ashton, his computer [ ... ]

Semantic Kernel for Java Now GA

The Microsoft Semantic Kernel (SK) is an open source lightweight framework that lets you easily mix conventional programming languages with AI "prompts". After a year of work since the initial re [ ... ]

More News

kotlin book



or email your comment to:

Last Updated ( Monday, 04 July 2022 )