database compatibility assessment

ORACLE SAMPLE 采样子句 迁移 postgresql 16 怎么改

迁衡基于规则 ora.syntax.sample 分析 ORACLE SAMPLE 采样子句 到 postgresql 16 的兼容性、改写路径与验证建议。

兼容性判定

真机验证:opengauss 6.0.5, gaussdb 505 · TABLESAMPLE 原生支持(SYSTEM/BERNOULLI);SAMPLE 子句语法需改写,SEED 用 REPEATABLE
支持度partial
严重度minor
置信度high
依据规则ora.syntax.sample

怎么改

TABLESAMPLE SYSTEM (n)

判定说明

TABLESAMPLE 原生支持(SYSTEM/BERNOULLI);SAMPLE 子句语法需改写,SEED 用 REPEATABLE

库侧 / 应用侧路径

库侧改造

需人工确认改造边界

应用侧改造

需人工确认改造边界

推荐路线:case_by_case。验证建议:改 TABLESAMPLE SYSTEM/BERNOULLI(PG 系语法位置与百分比参数含义一致但关键字不同);SAMPLE BLOCK 双参数/SEED 可重现采样的支持面需核对

规则样例

SELECT * FROM big_t SAMPLE (10)
SELECT COUNT(*) FROM big_t SAMPLE BLOCK (1) SEED (42)
SELECT * FROM big_t WHERE MOD(id, 10) = 0