加拿大蒙特利尔 - 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()
的支持,并将其转换为使用表的 PK/UK 定义或 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 将 ON CONFLICT DO NOTHING
子句添加到为此类型数据导出的所有 INSERT 语句中。向后兼容性
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
我要感谢所有提交补丁的用户以及报告错误和功能请求的用户,他们都在更改日志文件中被引用。
Ora2Pg 是一个开放项目。欢迎您为构建更好的工具做出任何贡献。您只需使用 GitHub 工具或直接发送至 ora2pg@darold.net 来发送您的想法、功能请求或补丁。
链接
关于 Ora2Pg :
Ora2Pg 是一个简单且可靠的工具,用于从 Oracle 迁移到 PostgreSQL。它自 2001 年开始开发,可以将大多数 Oracle 对象导出为与 PostgreSQL 兼容的代码。
Ora2Pg 可在任何平台上运行,并根据 GPL v3 许可提供。
文档、下载和支持请访问 http://www.ora2pg.com/