本章节为使用者介绍统一SQL支持的数据库版本及版本校验功能。

1.4.8. 源库版本

源数据库

默认版本

支持版本

MySQL

8.0(80000)

5.7(50700), 8.0(80000)

Oracle

19c(1900)

11g(1100), 19c(1900)

1.4.9. 目标库版本

数据库

默认版本(配置版本号)

支持版本(配置版本号)

PostgreSQL

13.5(130500)

13.5(130500), 14.3(140300)

达梦 DM

8.0(80000)

8.0(80000)

OceanBase Oracle 模式

3.2.3.3(3020303)

3.2.3.3(3020303), 4.2.1.0(4020100)

OceanBase MySQL 模式

4.2.1.0(4020100)

4.2.1.0(4020100)

GaussDB Oracle 模式

505.0.0(5050000)

505.0.0(5050000), 505.2.0(5050200), 505.2.1(5050201)

GaussDB500 Oracle 模式

500.0.0(5000000)

500.0.0(5000000)

GaussDB MySQL M 模式

505.2.0(5050200)

505.2.0(5050200)

GaussDB MySQL B 模式

505.2.0(5050200)

505.2.0(5050200)

GaussDB PG 模式

505.2.0(5050200)

505.2.0(5050200)

openGauss MySQL 模式

6.0.2(6000200)

6.0.2(6000200)

openGauss Oracle 模式

6.0.2(6000200)

6.0.2(6000200)

TDSQL PG 模式

5.6.3.6(5060306)

5.6.3.6(5060306)

TDSQL Oracle 模式

5.6.3.6(5060306)

5.6.3.6(5060306)

TDSQL MySQL 模式

22.1.4(22010400)

22.1.4(22010400), 22.6.0(22060000)

GoldenDB Oracle 模式

6.1.3.0(6010300)

6.1.3.0(6010300)

GoldenDB MySQL 模式

6.1.3.10(6010310)

6.1.3.10(6010310)

SQLite

3.42.0(34200)

3.42.0(34200)

LightDB MySQL 模式

22.3.0.0(22030000)

22.3.0.0(22030000)

LightDB Oracle 模式

22.2.0.0(22020000)

22.2.0.0(22020000)

ltmemdb

25.1.0.0(25010000)

25.1.0.0(25010000)

SQL Server

17

17

InfluxDB1

1.8.0(10800)

1.8.0(10800)

InfluxDB3

3.5.0(30500)

3.5.0(30500)

ClickHouse

21.4.5.26(21040526)

21.4.5.26(21040526)

1.4.10. 版本校验

在调用接口进行转换时,会校验数据库的版本号:

  • 默认配置为0,会使用默认的版本号

  • 不为0,会校验当前数据库是否支持这个版本,范围如上

  • 涉及unisql.target.database.version 和 unisql.source.database.version参数,具体请参考 unisql.conf文件说明

  • 源库和目标库相同时不校验版本

警告

  • 对于unisql.target.database.version,之前版本默认设置为5050200,为了兼容,如果目标库不是gaussdb_oracle 但是设置为5050200版本, 内部会设置为0,取目标库默认值。

  • 对于unisql.source.database.version,之前版本默认设置为12(未使用),为了兼容,若版本为12版本,内部会设置为0,使用源库默认版本。

  • 当前若修改了unisql.target.database.version(通过参数传入,调用接口修改或修改配置文件),然后切换转换的目标库(比如多发多个库),会导致版本校验失败(因为设置的版本为上一个库的版本)。