法国格勒诺布尔 - 2021 年 7 月 2 日
Ora2Pg 22.0 版本已正式发布,该版本是一个免费且可靠的工具,用于将 Oracle 数据库迁移到 PostgreSQL,并可公开下载。
此版本修复了过去三个月报告的一些问题,并添加了一些新功能和改进。版本 22.1 是一个维护版本,旨在扩展通过 oracle_fdw PostgreSQL 扩展进行数据导出的功能,以支持使用公共模式且不保留大小写的迁移。
当设置 FDW_SERVER
且导出类型为 COPY 或 INSERT 时,添加使用 oracle_fdw 导出数据的功能。完全支持使用 -P
或 -J
的多进程,但在这种情况下,选项 -j 没有用处。还支持某些列或数据类型的布尔转换。实际上,期望它的工作方式与没有 oracle_fdw 的数据迁移完全相同。这可以将数据迁移速度提高 30% 到 40%,特别是对于 BLOB 导出。感谢 MigOps Inc 提供的补丁。
通过避免 Oracle 目录表之间的连接,提高导出大量对象的性能。感谢 MigOps Inc 提供的补丁。
根据对象的数量,设置表、索引、序列、分区、全局临时表和同义词的评估分数的最大值。感谢 MigOps Inc 提供的补丁。
将 XML 函数的检测添加到评估成本中。感谢 MigOps Inc 提供的补丁。
当 ora2pg 与选项 --init_project
和 --cost_unit_value
一起使用时,允许在 export_all.sh 脚本中更改评估成本单位值。
从 P/PSQL 代码中删除 pragma restrict_references,它没有用处。
当启用 USE_ORAFCE
时,将 oracle
模式添加到生成的 SQL 文件中的 search_path,并改进迁移评估成本。感谢 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。导出数据时未使用此指令,但现在不再是这种情况,因为它指示 Ora2Pg 使用给定的外部服务器来使用 oracle_fdw 迁移数据。
有关完整的更改列表,请参阅 https://github.com/darold/ora2pg/blob/master/changelog
感谢所有贡献者,他们都在变更日志文件中被引用。
我想感谢所有提交补丁的用户以及报告错误和功能请求的用户,他们都在 ChangeLog 文件中被引用。
Ora2Pg 是一个开放项目。欢迎任何为构建更好的工具而做出的贡献。您只需使用 GitHub 工具或直接发送电子邮件至 ora2pg@darold.net 来发送您的想法、功能请求或补丁。
链接
Ora2Pg 是一个简单且可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以将大多数 Oracle 对象导出为与 PostgreSQL 兼容的代码。
Ora2Pg 可在任何平台上运行,并根据 GPL v3 许可证提供。
文档、下载和支持请访问 http://www.ora2pg.com/