RDS Postgres to ClickHouse Managed Postgres
Move a live e-commerce workload off AWS RDS Postgres, stream its analytical copy into ClickHouse, and route the dashboard's unchanged SQL to it.
Four to six hours. You start with one RDS Postgres instance serving both a checkout path and an operations dashboard, and finish with the transactional workload on ClickHouse Managed Postgres, the analytical workload on ClickHouse, and a dashboard whose SQL you never edited.
Modules
| Module | Time | Learner | Instructor | Done when |
|---|---|---|---|---|
| 00 | 30-45 min | Setup | notes | Tooling verified on your platform |
| 01 | 45-60 min | Source environment and baseline | notes | wal_level is logical, the seed has finished, and results/before.json exists |
| 02 | 30-45 min | Plan the cutover | notes | runbook/cutover.md has no TODO left in it |
| 03 | 45-60 min | Replicate | notes | The migration pipe's initial load is complete, its slot has stopped falling behind, and the failure injection has been run and repaired |
| 04 | 35-50 min | Cut over | notes | The writer commits against Managed Postgres, sequences match, reconciliation passes, no slot remains on RDS |
| 05 | 30-45 min | Stream the analytical copy | notes | The ClickPipe's initial load is complete and CDC is caught up |
| 06 | 45-60 min | Route the OLAP workload | notes | EXPLAIN shows a Foreign Scan for the analytics role and a local plan for the writer, the pushdown repair is done, and results/after.json exists |
| 07 | 35-45 min | Validate and tear down | notes | The quiz is submitted and nothing is left running in either account |
Module 02 runs while module 01's seed finishes, so the times above overlap by roughly half an hour. That scheduling is deliberate: it is the module that costs no infrastructure and absorbs the seed's runtime.
This workshop provisions real AWS infrastructure in your own account. Module 00 states the expected cost and module 07 ends with teardown.