法国格勒诺布尔 - 2021 年 7 月 2 日
Ora2Pg 版本 22.0 正式发布,这是一个用于将 Oracle 数据库迁移到 PostgreSQL 的免费可靠工具,现已公开提供下载。
此次发布修复了过去三个月以来报告的若干问题,并增加了一些新功能和改进。版本 22.1 是一个维护版本,旨在扩展通过 oracle_fdw PostgreSQL 扩展进行数据导出功能,以支持使用公共 schema 且不保留大小写的迁移。
当设置了 FDW_SERVER
且导出类型为 COPY 或 INSERT 时,增加使用 oracle_fdw 导出数据。完全支持使用 -P
或 -J
进行多进程处理,但在此情况下 -j 选项无效。还支持某些列或数据类型的布尔值转换。实际上,预期其效果与未使用 oracle_fdw 的数据迁移相同。这可以将数据迁移速度提高 30% 至 40%,尤其是在导出 BLOB 时。感谢 MigOps Inc 提供的补丁。
通过避免连接 Oracle catalog 表来提高处理大量对象的导出性能。感谢 MigOps Inc 提供的补丁。
根据对象的数量,为表、索引、序列、分区、全局临时表和同义词设置最大评估分数。感谢 MigOps Inc 提供的补丁。
在评估成本中添加 XML 函数检测。感谢 MigOps Inc 提供的补丁。
允许在使用 --init_project
和 --cost_unit_value
选项运行 ora2pg 时,在 export_all.sh 脚本中更改评估成本单位值。
从 P/PSQL 代码中移除 pragma restrict_references,因为它无用。
在生成的 SQL 文件中将 oracle
schema 添加到 search_path,并在启用 USE_ORAFCE
时改进迁移评估成本。感谢 MigOps Inc 提供的补丁。
在包提取级别应用 ALLOW
和 EXCLUDED
过滤的存储过程。在此补丁之前,无法不导出某些包函数或将其排除在评估之外。感谢 MigOps Inc 提供的补丁。
添加新测试以检查双方序列的最后值和标识列的数量。感谢 MigOps Inc 提供的补丁。
在 TEST 操作中,默认应用 ALLOW
和 EXCLUDED
过滤器,无需指定对象类型,即可处理表对象。
添加 ORACLE_FDW_TRANSFORM 配置指令,在导出数据时对列应用转换。值必须是 TABLE[COLUMN_NAME, <replace code in SELECT target list>]
的分号分隔列表。例如,要将 varchar2 列中的字符串 'Oracle' 替换为 'PostgreSQL',请使用 ERROR_LOG[DBMS_TYPE:regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')]
添加 DROP_IF_EXISTS
配置指令,在创建对象之前添加 "DROP ... IF EXISTS" 语句。这在迭代工作中可能很有用。默认禁用。
旧配置文件中有一个向后兼容性问题,其中 FDW_SERVER 默认设置为 true。此指令在导出数据时未使用,但现在情况有所不同,因为它会指示 Ora2Pg 使用给定的外部服务器通过 oracle_fdw 迁移数据。
有关更改的完整列表,请参阅 https://github.com/darold/ora2pg/blob/master/changelog
感谢所有贡献者,他们在 changelog 文件中都有提及。
我想感谢所有提交补丁的用户以及报告 bug 和功能请求的用户,他们都在 ChangeLog 文件中被提及。
Ora2Pg 是一个开放项目。任何为构建更好的工具做出的贡献都受到欢迎。您只需通过 GitHub 工具或直接发送您的想法、功能请求或补丁至 ora2pg@darold.net。
链接
Ora2Pg 是一个简单可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以导出大部分 Oracle 对象为 PostgreSQL 兼容代码。
Ora2Pg 可以在任何平台上运行,并根据 GPL v3 许可证提供。
文档、下载和支持请访问 http://www.ora2pg.com/