> **See also:** [ROADMAP.md](../ROADMAP.md) ## v1.9.0 — Federation & State Management > **Release Theme** > The furthest point on the distributed axis: stream tables that span multiple > PostgreSQL clusters, and state that can be checkpointed and recovered > independently of PostgreSQL's own backup machinery. > > This is explicitly the least certain item on the roadmap. It is recorded here > because the design work exists, not because it is committed. It will only be > built if real users ask for it — a single PostgreSQL instance, made fast > (v0.88.0–v0.89.0) and trustworthy (v0.82.0–v0.87.0, v0.90.0–v0.93.0), covers > the overwhelming majority of the problem pg_trickle exists to solve. ### Multi-cluster federation ``` ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ Cluster A │ │ Cluster B │ │ Cluster C │ │ • Source: orders │ │ • Source: users │ │ • ST: dashboard │ │ • ST: order_agg │────▶│ • ST: user_stats │────▶│ (joins A + B) │ └──────────────────┘ └──────────────────┘ └──────────────────┘ │ │ │ └────────────────────────┴────────────────────────┘ │ ┌───────────────────┐ │ Federation │ │ Coordinator │ │ (global DAG) │ └───────────────────┘ ``` | Item | Description | Ref | |------|-------------|-----| | FD-1 | **Federation coordinator.** A standalone service maintaining the global DAG across clusters, deployable as a Kubernetes `Deployment` or a plain binary. Clusters register via `pgtrickle.register_federation(coordinator_url)`. | LT-5 | | FD-2 | **Cross-cluster change forwarding.** When an upstream cluster refreshes a stream table, its change events are forwarded downstream through the change log backend from v1.8.0. | LT-5 | | FD-3 | **Global frontier synchronization.** The coordinator tracks per-cluster frontiers so a downstream cluster only processes events up to the consistent frontier of all its upstreams — the existing single-cluster consistency guarantee, extended. | LT-5 | | FD-4 | **`create_federated_stream_table()`.** SQL API for defining a stream table whose sources live in other registered clusters. | LT-5 | ### State management | Item | Description | Ref | |------|-------------|-----| | ST-1 | **Object-storage checkpointing.** Checkpoint stream table state and frontiers to S3/GCS for disaster recovery independent of `pg_basebackup`, with a documented restore path and a recovery-time objective measured in the test suite. | LT-8 | | ST-2 | **Global priority queue and resource governor.** Cross-database and cross-cluster scheduling that respects freshness SLAs (v0.90.0) globally rather than per database. | — | **Exit criteria:** - [ ] Federated stream tables produce results identical to the equivalent single-cluster computation - [ ] Global frontier synchronization proven under injected cross-cluster lag and partition - [ ] Object-storage checkpoint restore validated end to end with a measured RTO - [ ] Nothing in this release is required by, or affects, a single-cluster deployment