加拿大蒙特利尔 - 2023年7月5日
Ora2Pg 的 24.0 版本,一款免费可靠的工具,用于将 Oracle 数据库迁移到 PostgreSQL,已正式发布并可供公开下载。
此重大版本增加了对 SQL Server 数据库迁移到 PostgreSQL 的官方支持。它还修复了过去八个月以来报告的若干问题,并添加了一些新功能和改进。
DBMS_LOCK.SLEEP
替换为 pg_sleep。ADD CONSTRAINT
的存在添加成本。这需要约束名称的稳定性。COPY
和 TABLE
导出类型使用 NULLIF
构造。SEQUENCE_VALUES
导出类型,用于导出 DDL 以根据当前 Oracle 数据库的最后一个值设置序列的最后一个值,如下所示的语句:ALTER SEQUENCE departments_seq START WITH 290;
: varname
替换为 PG :'varname'
。PARTITION BY KEY()
的支持,并将其转换为使用表的主键/唯一键定义或 KEY()
子句中指定的列的 HASH 分区表。EXPORT_INVALID
配置指令与 TRIGGER 导出一起使用。到目前为止,禁用的触发器未被导出,将 EXPORT_INVALID
设置为 1 将强制导出禁用的触发器。CREATE TABLE t1 ( dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
Ora2Pg 将此语法转换为表上的触发器,以在更新事件时强制设置列的值。row_number() over ()
子句。新的配置指令
CLOB_AS_BLOB
配置指令,在导出数据时将 CLOB 作为 BLOB 处理。启用后,Ora2Pg 将对 CLOB 应用与 BLOB 相同的行为,并使用 BLOB_LIMIT
设置。当您拥有大型 CLOB 数据时,这可能很有用。默认启用。ST_GEOMETRYTYPE_FUNCTION
,以便能够设置用于从 ST_Geometry 列中提取几何类型的功能。默认值:ST_GeometryType,例如,对于 ArcSDE,它应设置为 sde.ST_GeometryType。ST_SRID_FUNCTION
:用于从 ST_Geometry 元信息中提取 srid 的 Oracle 函数。默认值:ST_SRID,例如,对于 ArcSDE,它应设置为 sde.st_srid。ST_DIMENSION_FUNCTION
:用于从 ST_Geometry 元信息中提取维度的 Oracle 函数。默认值:ST_DIMENSION,例如,对于 ArcSDE,它应设置为 sde.st_dimention。ST_ASBINARY_FUNCTION
:用于将 ST_Geometry 值转换为 WKB 格式的 Oracle 函数。默认值:ST_ASBINARY,例如,对于 ArcSDE,它应设置为 sde.st_asbinary。ST_ASTEXT_FUNCTION
:用于将 ST_Geometry 值转换为 WKT 格式的 Oracle 函数。默认值:ST_ASTEXT,例如,对于 ArcSDE,它应设置为 sde.st_astext。INSERT_ON_CONFLICT
配置指令。启用后,它会指示 Ora2Pg 为此类数据导出生成的所有 INSERT 语句添加 ON CONFLICT DO NOTHING
子句。向后兼容性
CASE_INSENSITIVE_SEARCH
的行为,允许使用排序规则而不是 citext 扩展。要禁用该功能,可以使用 none 值。如果迁移不是 MSSQL,则禁用此功能。PREFIX_PARTITION
配置指令,它现在被 RENAME_PARTITION
指令取代。之前的行为是从表名、分区名和子分区名(如果有)构建分区名。问题是我们经常达到对象名称的最大长度,这会导致分区名称重复。现在,当 RENAME_PARTITION
启用时,分区表将按照以下规则重命名:<tablename>_part<pos>
,其中“pos”是分区号。对于子分区,它是:<tablename>_part<pos>_subpart<pos>
如果这是默认分区/子分区:<tablename>_part_default
<tablename>_part<pos>_subpart_default
此更改将破坏向后兼容性,如果仍设置 PREFIX_PARTITION
,它将直接启用 RENAME_PARTITION
。START
值大于 MAXVALUE
时,将 START
值设置为 MINVALUE
。有关更改的完整列表,请参阅 https://github.com/darold/ora2pg/blob/master/changelog
我要感谢所有提交补丁的用户以及报告错误和功能请求的用户,他们在 changelog 文件中都得到了引用。
Ora2Pg 是一个开放项目。任何为构建更好的工具做出的贡献都受到欢迎。您只需通过 GitHub 工具或直接发送您的想法、功能请求或补丁至 ora2pg@darold.net。
链接
关于 Ora2Pg :
Ora2Pg 是一个简单可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以导出大部分 Oracle 对象为 PostgreSQL 兼容代码。
Ora2Pg 可以在任何平台上运行,并根据 GPL v3 许可证提供。
文档、下载和支持请访问 http://www.ora2pg.com/