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

Ora2Pg v21.1 发布

发布于 2021-04-02,作者 Gilles Darold
相关开源项目

法国格勒诺布尔 - 2021年4月1日

Ora2Pg

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

本次发布修复了过去六个月中报告的多个问题,并添加了多项新功能和改进。

  • 现在 Orafce 3.15.0 为 REGEXP_* 函数提供了定义,使得 USE_ORAFCE 指令变为可选。
  • 在连接到 Oracle/MySql/PostgreSQL 时添加设置应用程序名称。
  • 添加 REGEXP_COUNT() 的翻译,并更改评估成本。
  • 重写 REGEXP_LIKE() 的翻译方式,使其转换为 regexp_match 以支持修饰符。此重写也修复了 Oracle 和 PostgreSQL 之间的默认行为。
  • 将 DBMS_LOB.GETLENGTH() 替换为 PostgreSQL 的 octet_length() 函数。
  • 在 DATA_TYPE 配置指令中为 VARCHAR2 和 NVARCHAR2 添加类型对应关系。
  • 添加对 ArcGis 几何体的自动检测和支持,包括几何体类型、srid 和维度。
  • 在函数参数中添加默认值的转换。
  • 向 ora2pg_scanner 添加 -u | --unit 选项,以便能够全局设置迁移成本单位值。
  • 将 DBMS_LOB.SUBSTR() 替换为 SUBSTR()
  • 移除 TO_CLOB(),因为它无用,可能需要手动转换。
  • 在 CHECK 约束中,将 IS JSON 验证子句替换为 (CASE WHEN $1::json IS NULL THEN true ELSE true END)。当代码无效时会引发错误。
  • DISTINCT 和 UNIQUE 在 Oracle 中是同义词。

向后兼容性更改

  • 将自增列强制设置为 bigint。感谢 MigOps.com 提供的补丁。
  • 修复 EMPTY_LOB_NULL,启用/禁用状态反转,默认保持启用。请注意,在旧的 ora2pg.conf 中它是禁用的,这将破坏与旧配置的向后兼容性。
  • 将 NO_LOB_LOCATOR 替换为 USE_LOB_LOCATOR,将 NO_BLOB_EXPORT 替换为 ENABLE_BLOB_EXPORT,以避免双重否定变量引起的混淆。通过警告保留向后兼容性。
  • SDO_GEOMETRY 导出的 SRID 现在从值中获取,而不是强制从元数据表中获取。

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

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

链接与致谢

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

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

链接

- Website: [https://www.ora2pg.com/](https://www.ora2pg.com/)
- Download1: [https://github.com/darold/ora2pg/releases](https://github.com/darold/ora2pg/releases)
- Download2: [https://sourceforge.net/projects/ora2pg/](https://sourceforge.net/projects/ora2pg/)
- Development: [https://github.com/darold/ora2pg](https://github.com/darold/ora2pg)
- Changelog: [https://github.com/darold/ora2pg/blob/master/changelog](https://github.com/darold/ora2pg/blob/master/changelog)
- Documentation: [https://github.com/darold/ora2pg/blob/master/README](https://github.com/darold/ora2pg/blob/master/README)

关于 Ora2Pg

Ora2Pg 是一个简单可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以导出大部分 Oracle 对象为 PostgreSQL 兼容代码。

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

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