View a markdown version of this page

适用于亚马逊 RDS for Po z/OS stgreSQL 的 IBM Db2 转换设置 - AWS Database Migration Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于亚马逊 RDS for Po z/OS stgreSQL 的 IBM Db2 转换设置

重要

DMS 架构转换不提供从 IBM Db2 到 Amazon RDS for Postg z/OS reSQL 转换路径的 AWS Management Console 体验。您无法在中创建或配置这些迁移项目 AWS Management Console,因此您可以使用 AWS CLI 或 AWS Database Migration Service API 配置此页面上的所有设置。由于此转换路径没 AWS Management Console 有,因此每个设置仅通过其 API 和 AWS CLI 参数名称进行标识,而不是通过 AWS Management Console 标签进行标识。

当源为 IBM Db2 z/OS 且目标是适用于 PostgreSQL 的 Amazon RDS 或 Amazon Aurora PostgreSQL 时,以下设置适用。使用 ModifyConversionConfigurationAPI 操作或 AWS CLI 配置这些设置。

本主题介绍特定于 IBM Db2 的 PostgreSQL z/OS 转换路径的设置。除了这些设置外,DMS Schema Conversion 还提供适用于所有源和目标对的设置,例如转换后的 SQL 中操作项注释的严重性级别以及使用生成式 AI 进行转换的选项。有关这些设置,请参阅常用转换设置

使用 API 或 AWS CLI 时,请在部分名称DB2ZOS_TO_POSTGRESQLDB2ZOS_TO_POSTGRESQL_14、或下方指定转换路径设置DB2ZOS_TO_POSTGRESQL_15。所有三个版本控制部分都接受相同的密钥。要查找您的项目使用的部分名称,请DescribeConversionConfiguration先致电并仅更新响应中存在的部分。

数据类型和架构设置
ConvertNumberToBigint

控制如何将没有显式精度的 z/OS 数字列的 IBM Db2 映射到目标上。

  • false— 数字列映射到 PostgreSQL NUMERIC

  • true— 没有显式精度的数字列会映射到 PostgreSQL BIGINT。当这些列包含整数值并且您想要最高效的整数类型时,请使用此选项。

类型:布尔值 (true|false)

默认值false

SchemaNameTemplate

控制如何从 IBM Db2 为数据库和架构名称生成目标 PostgreSQL 架构名称 z/OS 。

API/CLI 价值 生成的目标架构名称
DB_SCHEMA database_ schema。 在将多个数据库迁移到同一 PostgreSQL 实例时使用,以避免名称冲突。
DB database
SCHEMA schema。 在迁移单个数据库并且想要不带数据库前缀的简洁架构名称时使用。

类型:字符串(枚举)

默认值DB_SCHEMA

代码和约束条件设置
GenerateUniqueNamesForConstraints

控制约束名称是否在目标上的所有架构中都是唯一的。

  • true— DMS 架构转换为每个约束条件名称附加一个哈希后缀,以保证架构间的唯一性。

  • false— 约束名称保持原样,这可能会导致多架构迁移中的命名冲突。

类型:布尔值 (true|false)

默认值true

KeepStatementElementsLayout

控制转换后的输出中是否保留 SQL 语句元素的原始空格和格式。

  • YES— 保留原始布局。转换后的 SQL 会保留源代码的缩进和换行符。

  • NO— 使用标准 DMS 架构转换输出样式重新格式化语句元素。

类型:字符串(枚举:YES|NO

默认值YES

DynamicResultSetsToRefcursorsArray

控制如何转换返回动态结果集的 z/OS 存储过程的 IBM Db2。

  • false— 动态结果集保留为操作项。

  • true— 动态结果集使用 refcursor PostgreSQL 数组进行转换,该数组允许调用者迭代多个结果集。

类型:布尔值 (true|false)

默认值false

分区设置
ExcludeTablePartitions

控制转换后的 DDL 中是否包含表分区定义。

  • false— 表分区定义已转换。

  • true— 表分区定义不包括在转换后的 DDL 中。当您的目标实例不需要分区级 DDL 或单独管理分区时,请使用此选项。

类型:布尔值 (true|false)

默认值false

ParttnedTabPkUnqToSecondaryIdx

控制如何转换分区表的主键和唯一约束。

  • false— 将主键和唯一约束保留为目标的约束。

  • true— 分区表的主键和唯一约束将转换为二级索引而不是约束。

类型:布尔值 (true|false)

默认值false

注意

在调用 API 或 AWS CLI ParttnedTabPkUnqToSecondaryIdx 时,请使用精确的拼写。

PartitionCount

转换分区表时使用的默认分区数。

类型:整数

默认值50

PartitionMaxCount

转换分区表时允许的最大分区数。

类型:整数

默认值100

TableSize

表大小阈值(以兆字节为单位),DMS 架构转换用于确定转换期间的分区策略。

类型:数字 (MB)

默认值100.0

UseEnforcePartition

控制 DMS 架构转换是否在转换后的 DDL 中为分区表生成显式的分区强制子句。

  • false— 未生成分区强制条款。

  • true— DMS 架构转换会为大于TableSize阈值的表生成分区强制子句。

类型:布尔值 (true|false)

默认值false

UsePartitionsProportionally

控制 DMS 架构转换是否按表大小成比例缩放生成的分区数量。

  • false— 使用固定数量的分区。

  • true— 分区数量随表大小成比例增加。

类型:布尔值 (true|false)

默认值false

日期和时间格式设置
StringRepresentationOfDate

控制在转换后的代码中表示 IBM Db2 DATE 值时使用的字符串格式。

API/CLI 价值 格式 示例
ISO YYYY-MM-DD 2024-01-15
EUR DD.MM.YYYY 15.01.2024
USA MM/DD/YYYY 01/15/2024
JIS YYYY-MM-DD 2024-01-15

类型:字符串(枚举)

默认值ISO

StringRepresentationOfTime

控制在转换后的代码中表示 IBM Db2 TIME 值时使用的字符串格式。

API/CLI 价值 格式 示例
ISO HH:MM:SS 14:30:00
EUR HH.MM.SS 14.30.00
USA HH:MM AM/PM 02:30 PM
JIS HH:MM:SS 14:30:00

类型:字符串(枚举)

默认值ISO

架构树视图设置

以下设置控制在架构树视图中显示哪些架构和数据库。它们会影响您可以选择的转换内容;它们不会更改转换后的 SQL 输出。

TreeSettingsHideEmpty

控制不包含任何对象的架构是否出现在架构树视图中。

  • true— 隐藏空架构。

  • false— 显示所有架构,包括空架构。

类型:布尔值 (true|false)

默认值true

TreeSettingsHideEmptyDb

控制不包含任何对象的数据库是否出现在架构树视图中。

  • true— 空数据库被隐藏。

  • false— 显示所有数据库,包括空数据库。

类型:布尔值 (true|false)

默认值true

TreeSettingsSystemSchemas

控制系统架构是否与用户架构一起出现在架构树视图中。

  • false— 仅显示用户架构。

  • true— 系统架构与用户架构一起显示。

类型:布尔值 (true|false)

默认值false

示例:将 IBM Db2 配置为 PostgreSQL 设置 z/OS

以下示例设置分区计数和日期格式。对项目使用的每个部分名称应用相同的设置(请DescribeConversionConfiguration先检查输出)。

{ "DB2ZOS_TO_POSTGRESQL_15": { "PartitionCount": 20, "StringRepresentationOfDate": "EUR" }, "DB2ZOS_TO_POSTGRESQL_14": { "PartitionCount": 20, "StringRepresentationOfDate": "EUR" }, "DB2ZOS_TO_POSTGRESQL": { "PartitionCount": 20, "StringRepresentationOfDate": "EUR" } }