兼容性判定
公开资料依据 · 建议 PoC 复核支持度partial
严重度critical
置信度medium
依据规则my.partition.exchange
怎么改
目标有原生 EXCHANGE 时逐项映射;否则在受控事务/窗口执行 DETACH/ATTACH、重命名并保留旧分区为 staging;WITHOUT VALIDATION 的越界行若目标不能承载,必须清洗/拒绝并报告行为收紧,或退到继承/手工路由,该状态不可完整复刻;多步方案不得冒充原子交换
判定说明
openGauss 具备分区交换能力,但 MySQL EXCHANGE PARTITION 的校验、锁和原子性需映射;结论为 doc_based 草案,建议 PoC 复核
库侧 / 应用侧路径
库侧改造
可行:先比对列序/类型/索引/约束/collation 与边界,预建 CHECK 避免 attach 扫描,再按锁序执行并保存反向操作
应用侧改造
不可行:分区维护优先数据库侧处理
推荐路线:db_side。验证建议:覆盖严格结构一致、边界内外、WITH/WITHOUT VALIDATION、DEFAULT 分区扫描、触发器不触发、自增值、锁时长;逐故障点演练失败恢复/反向 attach,并做双向行数和校验和对账
规则样例
ALTER TABLE sales EXCHANGE PARTITION p2025 WITH TABLE sales_stage
ALTER TABLE sales EXCHANGE PARTITION p0 WITH TABLE stage WITHOUT VALIDATION
ALTER TABLE sales DROP PARTITION p0
参考来源
相关改造点
- MYSQL → opengauss 6.0 B 模式 全部改造点
- opengauss 6.0 B 模式 兼容性总览
- MYSQL 迁移国产库总览
- MYSQL GET_LOCK / RELEASE_LOCK 咨询锁函数 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL ALTER TABLE ALGORITHM= / LOCK= 在线 DDL 子句 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL ALTER TABLE 增删主键限制 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL AUTO_INCREMENT 自增列 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL 表/列级 CHARSET 与 COLLATE 子句 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL CHECK 约束执行与静默忽略差异 迁移 opengauss 6.0 B 模式 怎么改