"Online-Ddl"
- MySQL Online Schema Change:gh-ost 跟 pt-online-schema-change 兩條完全不同的 ghost table 路徑
MySQL ALTER TABLE 可能鎖整張表,production 需要 online schema change 流程。gh-ost(GitHub)跟 pt-online-schema-change(Percona)都用 ghost table 解決、但底層機制完全不同:pt-osc 用 trigger 同步、gh-ost 用 binlog stream 同步。本文走兩工具機制對照表 → trigger vs binlog 各自取捨 → 配置 step-by-step → 5 production 踩雷(trigger overhead / binlog 延遲 / FK constraint / hot trigger lock / 切換瞬間 deadlock)→ 何時用哪一個
- PostgreSQL Online Schema Change:先用 ALTER 內建特性、不能解才 pg_repack / pg-osc
PostgreSQL ALTER TABLE 對多數變更已是 *fast catalog-only*(add column nullable / drop column / 改 default),不必走 ghost table tool。本文走 PG 內建 fast DDL 行為、何時必須走 pg_repack / pg-osc、兩工具機制對比(trigger-based vs WAL-shipping)、配置 step-by-step、5 production 踩雷(lock 升級 / VACUUM FULL 誤用 / pg_repack version mismatch / concurrent index 失敗清理 / generated stored column 不能 online)、跟 MySQL gh-ost / pt-osc sibling 對比