database compatibility assessment

ORACLE 虚拟列(GENERATED ALWAYS AS ... VIRTUAL) 迁移 postgresql 16 怎么改

迁衡基于规则 ora.column.virtual 分析 ORACLE 虚拟列(GENERATED ALWAYS AS ... VIRTUAL) 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

支持度partial
严重度major
置信度high
依据规则ora.column.virtual

怎么改

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

判定说明

PG16 生成列仅 STORED;VIRTUAL 需改 STORED(占存储)或视图

库侧 / 应用侧路径

库侧改造

可行:核对生成表达式函数兼容面后原样建虚拟列;不兼容函数改物化列 + 触发器或查询期表达式

应用侧改造

可行:表达式逻辑上移应用层计算后写入

推荐路线:db_side。验证建议:虚拟列取值与源库全量抽样比对;表达式内函数逐个核对(人工复核,不盲改)

规则样例