ORACLE Oracle NUMBER 星号精度源类型 迁移 PostgreSQL 16 + orafce 4.16 适配说明

迁衡基于规则 ora.type.number_star_precision 分析 ORACLE Oracle NUMBER 星号精度源类型 到 PostgreSQL 16 + orafce 4.16 的兼容性、改写路径与验证建议。

兼容性判定

公开资料依据 · 建议 PoC 复核
支持度partial
严重度major
置信度low
依据规则ora.type.number_star_precision

迁移建议

NUMBER(*,s) 按 *->38 策略改 numeric(38,s) 并走独立边界规则

判定说明

star 折38是迁移策略而非原生类型语法;真实值域、scale 与驱动元数据建议 PoC 复核

库侧 / 应用侧路径

库侧改造

可行:显式规范化 precision/scale;临时对象和 schema 成功/失败均 DROP

应用侧改造

可行:核对 Decimal 精度、驱动元数据和序列化契约

推荐路线:db_side。验证建议:最大最小值、小数、NULL、往返与驱动元数据;临时对象和 schema 确认零残留,建议 PoC 复核

规则样例

CREATE TABLE invoice (amount NUMBER(*))
CREATE TABLE invoice (amount NUMBER(*,2))
SELECT CAST(amount AS NUMBER(*,2)) FROM invoice

参考来源

相关改造点

技术支持

微信交流群 微信二维码

微信:prejudice_me