2025年9月25日: PostgreSQL 18 发布!

Ora2Pg v23.0 发布

发布于 2021-11-16,作者 MigOps
相关开源项目

法国格勒诺布尔 - 2021 年 11 月 15 日

Ora2Pg 23.0 发布

Ora2Pg 23.0 版本现已正式发布并可公开下载。Ora2Pg 是一款免费可靠的工具,用于将 Oracle 数据库迁移到 PostgreSQL。

本次发布修复了自上次发布以来报告的若干问题,并增加了一些新功能和改进。

新功能和改进

  • 添加数据验证功能,该功能通过比较指向源 Oracle 表的外部表检索到的数据与数据导出产生的本地 PostgreSQL 表中的数据来完成。
  • 添加 UTL_RAW.CAST_TO_RAW 的 encode() 替换。
  • 添加 XMLTYPE() 的 xmlparse(DOCUMENT convert_from(..., 'utf-8')) 重写。
  • 添加 XML 函数检测,用于迁移评估成本。
  • 将 DBMS_RANDOM 添加到 Orafce 处理的 Oraclism 列表中。
  • 添加对 mysql_fdw 外部数据包装器的支持,用于导出 PostgreSQL 表数据。
  • 允许通过 DATA_TYPE 配置指令的重定义,将所有 NUMBER(*,scale) 转换为其他数据类型,例如 NUMBER(*,2):decimal。
  • 在文档中添加了关于如何使用 SSL 加密连接的信息。
  • 添加 TEST_COUNT 操作,仅报告 Oracle 和 PostgreSQL 表之间的行数差异。
  • 允许 TEST_DATA 操作使用多进程来验证数据迁移。使用 -P 或 PARALLEL_TABLES 设置要检查的并行表数量。

新的命令行选项

  • 添加新的 --blob_to_lo 选项,可用于将 BLOB 导出为大型对象。当与 TABLE 操作一起使用时,BLOB 列将转换为 oid PostgreSQL 数据类型。当与 INSERT 导出操作一起使用时,BLOB 数据将存储在 pg_largeobjects 表中作为大型对象,并且引用该大型对象的 oid 将存储在主表中,而不是 bytea。
  • 添加命令行选项 -W | --where 子句,用于设置应用于 Oracle 查询以检索数据的 WHERE 子句。可以多次使用。它将覆盖 WHERE 配置指令。

新的配置指令

  • 添加 DATA_VALIDATION_ORDERING 配置指令(默认启用)。当数据被修改后,双方的行顺序可能不同。在这种情况下,必须使用主键或唯一索引来排序数据,这意味着没有此类对象的表无法进行比较。如果在单进程模式下导入数据后立即进行验证,并且没有进行任何数据修改,则可以对所有表进行验证,而无需排序。
  • 添加 DATA_VALIDATION_ERROR 指令,用于在出现一定数量的行不匹配后停止对表的验证。默认是在 10 行验证错误后停止。
  • 添加 VARCHAR_TO_TEXT 配置指令。默认情况下,没有大小约束的 VARCHAR2 会被转换为 text PG 数据类型。如果您想使用 varchar,请禁用此指令。

向后兼容性更改

  • 添加 FORCE_PLSQL_ENCODING 配置指令。在之前的版本中,Ora2Pg 会将所有函数代码编码为 utf8,现在不再是这样,因为这可能导致二次编码。要恢复旧行为(不推荐),请启用此指令。
  • 关于 RAW 列的行为更改。现在 RAW(16) 和 RAW(32) 列或默认值为 "SYS_GUID()" 的 RAW 列现在会自动转换为 uuid。数据将自动迁移为 PostgreSQL uuid 数据类型,由 "uuid-ossp" 扩展提供。

有关更改的完整列表,请参阅 https://github.com/darold/ora2pg/blob/master/changelog

感谢所有贡献者,他们在 changelog 文件中都有提及。

链接与致谢

我想感谢所有提交补丁的用户以及报告 bug 和功能请求的用户,他们都在 ChangeLog 文件中被提及。

Ora2Pg 是一个开放项目。任何为构建更好的工具做出的贡献都受到欢迎。您只需通过 GitHub 工具或直接发送您的想法、功能请求或补丁至 ora2pg@darold.net。

链接


关于 Ora2Pg :

Ora2Pg 是一款易于使用且可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以将大部分 Oracle 对象和数据导出为兼容 PostgreSQL 的代码。

Ora2Pg 可以在任何平台上运行,并根据 GPL v3 许可证提供。

文档、下载和支持请访问 http://www.ora2pg.com/