vs

Citus vs pg_duckdb

Citus: Postgres extension that shards tables across nodes for multi-tenant SaaS and real-time analytics. pg_duckdb: PostgreSQL extension that embeds DuckDB's vectorized engine for fast analytics and data-lake queries.

key differences

  • Licensing: Citus is open source (copyleft) (GNU AGPL v3); pg_duckdb is open source (permissive) (MIT License).
  • Citus is built for larger datasets (≤ 1 PB) than pg_duckdb (≤ 10 TB).
  • Horizontal scaling is native in Citus and none in pg_duckdb.
  • Only Citus has full-text search, vector search, geospatial, change data capture, triggers.

choose citus for

  • +Multi-tenant B2B SaaS sharded by customer
  • +Real-time analytics dashboards over event data
  • +Time-series and IoT ingestion with rollups
  • +Scaling an existing Postgres app without changing databases

best at · OLTP, Real-time analytics, HTAP

choose pg-duckdb for

  • +Dashboards and reports directly on Postgres data
  • +Joining Postgres tables with Parquet/Iceberg data in S3
  • +Exporting query results to Parquet for data lakes
  • +Ad-hoc analytics without standing up a warehouse

best at · OLAP, Real-time analytics, Lakehouse

overview
Primary model
Relational
Relational
Also supports
Document, Columnar / OLAP, Spatial
Columnar / OLAP
Type
Extension
Extension
Status
Active
Active
Developer
Microsoft (Citus Data)
DuckDB Labs, MotherDuck and Hydra
First release
2016
2024
Latest version
14.3.0 (Oct 23, 2026)
1.1.1 (Dec 18, 2025)
License
Open source (copyleft)GNU AGPL v3
Open source (permissive)MIT License
Free tier
✓
✓
popularity
WhichDB Score
21.1
14.9
Rank
#144
#226
GitHub stars
12.8K
3.3K
Stack Overflow questions
149
–
scale & guarantees
Comfortable data size
Large (≤ 1 PB)
Medium (≤ 10 TB)
Horizontal scaling
Native
None
Multi-region
None
None
ACID
Full
Full
Consistency
Strong
Strong
Schema
Strict
Strict
Architecture
Distributed, Client server
Single node, Embedded
deployment
Self-hosted
✓
✓
Vendor-managed cloud
✓
—
Serverless
—
—
Embedded
—
—
Edge
—
—
Clouds
Azure
–
capabilities
Transactions
✓
✓
Joins
✓
✓
Secondary indexes
✓
✓
Full-text search
✓
—
Vector search
✓
—
Geospatial
✓
—
JSON
✓
✓
Change data capture
✓
—
Triggers
✓
—
Stored procedures
✓
—
Materialized views
✓
—
TTL / expiry
—
—
Pub/Sub
—
—
Columnar storage
✓
✓
In-memory
—
—
Durable persistence
✓
✓
Compression
✓
✓
Encryption at rest
—
—
Role-based access
✓
—
Time travel
—
—
Branching
—
—
Online schema changes
✓
—
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
—
—
interfaces
Query languages
SQL, PL/pgSQL
SQL
Client languages
Java, Python, JavaScript, Go, Ruby, C#, PHP, Rust
C, Java, Python, JavaScript, Go, Rust
Best for
OLTP, Real-time analytics, HTAP, Time-series
OLAP, Real-time analytics, Lakehouse, HTAP

Citus vs pg_duckdb: FAQ

What is the difference between Citus and pg_duckdb?

Citus: Postgres extension that shards tables across nodes for multi-tenant SaaS and real-time analytics. pg_duckdb: PostgreSQL extension that embeds DuckDB's vectorized engine for fast analytics and data-lake queries. Licensing: Citus is open source (copyleft) (GNU AGPL v3); pg_duckdb is open source (permissive) (MIT License). Citus is built for larger datasets (≤ 1 PB) than pg_duckdb (≤ 10 TB). Horizontal scaling is native in Citus and none in pg_duckdb.

When should I choose Citus over pg_duckdb?

Choose Citus for multi-tenant B2B SaaS sharded by customer; real-time analytics dashboards over event data; and time-series and IoT ingestion with rollups. Choose pg_duckdb for dashboards and reports directly on Postgres data; joining Postgres tables with Parquet/Iceberg data in S3; and exporting query results to Parquet for data lakes.

Is Citus or pg_duckdb more popular?

Citus ranks #144 on the WhichDB Score (21.1/100) and pg_duckdb ranks #226 (14.9/100). Popularity is not fit: check the requirements that matter for your project.

Are Citus and pg_duckdb open source?

Yes. Citus is open source. License: GNU AGPL v3. Yes. pg_duckdb is open source. License: MIT License.