database compatibility assessment

MYSQL PARTITION BY RANGE 分区表 迁移 postgresql 16 怎么改

迁衡基于规则 my.ddl.partition_by_range 分析 MYSQL PARTITION BY RANGE 分区表 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

支持度undeclared
严重度minor
置信度medium
依据规则my.ddl.partition_by_range

怎么改

需按命中位置逐条评估改写

判定说明

能力矩阵未声明该特征,按不支持处理并降低置信度

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:OB 支持且分区能力超集;PG 声明式分区语法不同(PARTITION OF)且分区键必须含在主键/唯一键内的约束更严——MySQL"分区键必须是唯一键子集"的同类约束两端细节不同,DDL 逐表改写

规则样例

CREATE TABLE log_t (id BIGINT, dt DATE) PARTITION BY RANGE (TO_DAYS(dt)) (PARTITION p0 VALUES LESS THAN (739252))
ALTER TABLE sales PARTITION BY RANGE COLUMNS (sale_date) (PARTITION p1 VALUES LESS THAN ('2025-01-01'))
CREATE TABLE log_t (id BIGINT, dt DATE)