Postgres MigrationClickHouse Workshops

Instructor track

Facilitation notes, timing, checkpoints, common failures, and reset guidance for the Postgres migration lab.

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

The full workshop is 4-6 hours. Provisioning the RDS instance and seeding it is the long pole, so start it before participants arrive or reserve a startup buffer. Keep the learner pages on screen for commands; use these notes for pacing and intervention.

ModuleBudgetHard checkpoint
00 Setup30-45 minTooling verified on the participant's platform
01 Source environment45-60 minwal_level is logical, the seed has finished, and results/before.json exists
02 Plan the cutover30-45 minrunbook/cutover.md has no TODO left in it
03 Replicate45-60 minThe migration pipe is caught up and the failure injection has been run and repaired
04 Cut over35-50 minWriter commits against Managed Postgres, sequences match, reconciliation passes, no slot remains on RDS
05 Stream the analytical copy30-45 minThe ClickPipe's initial load is complete and CDC is caught up
06 Route the OLAP workload45-60 minBoth EXPLAINs produced, the pushdown repair done, results/after.json exists
07 Validate and tear down35-45 minThe quiz is submitted and nothing is left running in either account

Those budgets are attention, not wall clock. Three waits are unattended and long: the terraform apply, the seed in module 01, and the initial load in module 03. Module 02 is scheduled to absorb the seed, which is why module 02 provisions nothing — it is the only module whose cost is attention rather than infrastructure, so it is the one that can run inside a wait.

The four things that decide whether the day finishes

  • Start the seed early. Module 01's page inverts the learner order for exactly this reason: apply, reboot, schema, seed, and only then teach. A seed that starts after the talk track costs the room its afternoon.
  • Do not reveal the sequence step in module 02. One step in the cutover window is a step most people do not think of. Module 03 either confirms a participant found it or shows them the failure it causes. Telling them here removes both outcomes and cannot be undone.
  • Run module 03's failure injection as a synchronized room-wide beat, and state the two rules before it starts: ENABLE is the only repair, and nobody breaks for lunch with a disabled subscription.
  • Facilitate the teardown, do not assign it. It is the workshop's only ongoing cost and it is a daily one in two separate accounts.

Reference pages, and when they open

The reference track holds three model answers, and each has a gate:

PageOpens after
Cutover runbookModule 04 Step 2, with the participant's executed runbook beside it
Pushdown walkthroughThe participant's own EXPLAIN sweep in module 06
Knowledge check rationalesA submitted quiz attempt in module 07

Say the gates out loud rather than hoping nobody clicks early. The runbook page is the one that matters: it names the module 02 answer.

Never ask learners to paste AWS or ClickHouse Cloud credentials into chat, slides, shared terminals, or version-controlled files. Filled-in .env and Terraform variable files stay local.

ในหน้านี้

TH