Skip to content

docs: add Citus distributed extension integration guide - #341

Open
JerseyYee wants to merge 1 commit into
IvorySQL:masterfrom
JerseyYee:docs/citus-integration
Open

JerseyYee wants to merge 1 commit into
IvorySQL:masterfrom
JerseyYee:docs/citus-integration

Conversation

@JerseyYee

Copy link
Copy Markdown

Summary

Add CN/EN documentation for integrating Citus 14.2 with IvorySQL 5.x, closing IvorySQL/IvorySQL#1122.

  • New ecosystem component page citus.adoc (CN + EN): overview, build-from-source against IvorySQL pg_config, shared_preload_libraries configuration (preserving IvorySQL's default preloads), distributed table usage with shard pruning and online rebalancing
  • Register Citus in the ecosystem navigation (CN/EN nav.adoc) and the ecosystem overview list (entry 404 link #33, CN/EN)

Verification

All commands below were actually executed against ivorysql/ivorysql:5.6-bookworm (IvorySQL 5.6, PostgreSQL 18.6 backend) in Docker with Citus 14.2.0 built from source:

  • CREATE EXTENSION citus succeeds on the PostgreSQL-mode port (5432); citus_version() reports Citus 14.2.0
  • create_distributed_table('orders','user_id') creates 32 shards; INSERT/SELECT/aggregates work transparently
  • EXPLAIN confirms distributed execution with shard pruning (Custom Scan (Citus Adaptive), Task Count: 1 for a distribution-column filter)
  • rebalance_table_shards() runs successfully

The doc also records two verified limitations in Oracle compatibility mode (port 1521): CREATE EXTENSION citus fails under the Oracle parser (PostgreSQL-specific syntax such as NO CYCLE), and Oracle-typed tables (NUMBER/VARCHAR2) cannot be distributed because worker-side Citus only runs in a PostgreSQL-mode instance.

Checklist

  • CN documentation added
  • EN documentation added
  • CN/EN navigation updated
  • CN/EN ecosystem overview updated
  • Verified on IvorySQL 5.6 + Citus 14.2.0

Closes IvorySQL/IvorySQL#1122

Add CN/EN documentation for integrating Citus 14.2 with IvorySQL 5.x:
- installation from source against IvorySQL pg_config
- shared_preload_libraries configuration preserving IvorySQL defaults
- distributed table usage with shard pruning and rebalancing (verified)
- Oracle compatibility mode limitations (verified on 5.6 dual-mode)

Closes IvorySQL/IvorySQL#1122
@github-actions
github-actions Bot temporarily deployed to pull request October 17, 2026 13:14 Inactive
@github-actions

Copy link
Copy Markdown

🚀 IvorySQL-Docs Preview Ready

@JerseyYee

Copy link
Copy Markdown
Author

Hi @jiaoshuntian, a friendly ping on this one - the Citus integration guide has been open since Oct 17 with CI green and no merge conflicts.

It follows the same structure as the other ecosystem component pages (overview, installation, configuration, usage, limitations), and the setup notes were verified against IvorySQL 5.6 with Citus 14.2.0, including the Oracle-mode limitations observed during testing. Would you have a chance to take a look when you are available? Happy to adjust anything.

@jiaoshuntian

Copy link
Copy Markdown
Contributor

Validating plugin compatibility will take some time. The IvorySQL team will provide feedback on this PR as soon as possible.

This branch was previously deployed

1 inactive deployment
pull request — 0edbaad8 Deployed Oct 17, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants