本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于亚马逊 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— 数字列映射到 PostgreSQLNUMERIC。 -
true— 没有显式精度的数字列会映射到 PostgreSQLBIGINT。当这些列包含整数值并且您想要最高效的整数类型时,请使用此选项。
类型:布尔值 (
true|false)默认值:
false -
SchemaNameTemplate-
控制如何从 IBM Db2 为数据库和架构名称生成目标 PostgreSQL 架构名称 z/OS 。
API/CLI 价值 生成的目标架构名称 DB_SCHEMAdatabase_schema。 在将多个数据库迁移到同一 PostgreSQL 实例时使用,以避免名称冲突。DBdatabaseSCHEMAschema。 在迁移单个数据库并且想要不带数据库前缀的简洁架构名称时使用。类型:字符串(枚举)
默认值:
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— 动态结果集使用refcursorPostgreSQL 数组进行转换,该数组允许调用者迭代多个结果集。
类型:布尔值 (
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 价值 格式 示例 ISOYYYY-MM-DD2024-01-15EURDD.MM.YYYY15.01.2024USAMM/DD/YYYY01/15/2024JISYYYY-MM-DD2024-01-15类型:字符串(枚举)
默认值:
ISO StringRepresentationOfTime-
控制在转换后的代码中表示 IBM Db2
TIME值时使用的字符串格式。API/CLI 价值 格式 示例 ISOHH:MM:SS14:30:00EURHH.MM.SS14.30.00USAHH:MM AM/PM02:30 PMJISHH:MM:SS14: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" } }