本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SAP ASE (Sybase ASE) 到 PostgreSQL 的转换设置
当来源是 SAP ASE(Sybase ASE),目标是 Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL 时,以下设置适用。您可以使用 AWS Management Console 或 ModifyConversionConfigurationAPI 操作配置这些设置。
本主题介绍特定于 SAP ASE 到 PostgreSQL 转换路径的设置。除了这些设置外,DMS Schema Conversion 还提供适用于所有源和目标对的设置,例如转换后的 SQL 中操作项注释的严重性级别以及使用生成式 AI 进行转换的选项。有关这些设置,请参阅常用转换设置。
使用 API 或 AWS CLI 时,请在部分名称SYBASE_ASE_TO_POSTGRESQLSYBASE_ASE_TO_POSTGRESQL_14、或下方指定转换路径设置SYBASE_ASE_TO_POSTGRESQL_15。所有三个版本控制部分都接受相同的密钥。要查找您的项目使用的部分名称,请DescribeConversionConfiguration先致电并仅更新响应中存在的部分。
每个设置都显示 AWS Management Console 标签,后面是括号中的 AP AWS I 和 CLI 参数名称。使用 API 或 AWS CLI 配置设置时,请使用参数名称。
- 目标引擎版本 (
SYBASE_ASE_TO_POSTGRESQL_target_engine_version) -
为目标数据库选择引擎版本。此设置是 DMS 架构转换的转换目标 PostgreSQL 主要版本功能集,它决定了 DMS 架构转换适用的版本化设置部分(或)。
SYBASE_ASE_TO_POSTGRESQL_14SYBASE_ASE_TO_POSTGRESQL_15该值15以 PostgreSQL 15 及更高版本的功能为目标,14以 PostgreSQL 14 的功能为目标,因此您的目标数据库可以运行比您选择的值更高的版本(例如,PostgreSQL 16 目标的15值为)。与此页面上的其他设置不同,此设置不存储在转换路径部分。相反,它存储在顶级Conversion version部分中,如以下示例所示。{ "Conversion version": { "SYBASE_ASE_TO_POSTGRESQL_target_engine_version": "15" } }类型:字符串 (
14|15)默认值:
15
元数据设置
控制转换期间如何处理源 SAP ASE 元数据(对象名称、架构结构和索引定义)的设置。
- 将源数据库对象名称视为区分大小写 (
CaseSensitivityNames) -
指定 DMS 架构转换在转换过程中是否将源对象名称视为区分大小写。
-
true— DMS Schema Conversion 保留原始大小写的对象名称,并用双引号标识符包裹它们(例如,)。"MyTable"当您的应用程序使用大小写混合的名称引用对象时,请使用此选项。 -
false— DMS 架构转换将对象名称折叠为小写而不加引号(例如,mytable)。
类型:布尔值 (
true|false)默认值:
false -
- 为索引生成唯一的名称 (
GenerateUniqueNamesForIndexes) -
指定 DMS 架构转换是否在目标架构中生成唯一的索引名称。在 SAP ASE 中,您可以在不同的表上创建具有相同名称的索引,但是 PostgreSQL 要求架构中的所有索引名称都必须是唯一的。
-
false— DMS 架构转换按原样保留源中的索引名称。如果多个表上存在相同的索引名称,则部署到 PostgreSQL 可能会失败,并出现重名错误。 -
true— DMS 架构转换为索引名称添加前缀,以保证整个架构的唯一性。当您的源架构在不同的表上具有相同名称的索引时,请使用此选项。
类型:布尔值 (
true|false)默认值:
false -
- 架构名称 (
SchemaNameTemplate) -
控制如何根据 SAP ASE 由两部分组成的命名约定(数据库 + 架构)生成目标 PostgreSQL 架构名称。
控制台标签 API/CLI 价值 生成的目标架构名称 数据库架构 DB_SCHEMAdatabase_schema(例如,pubs2_dbo)。在将多个数据库迁移到同一 PostgreSQL 实例时使用,以避免名称冲突。数据库 DBdatabase(例如,pubs2)。SCHEMA SCHEMAschema(例如,dbo)。在迁移单个数据库并且想要不带数据库前缀的简洁架构名称时使用。类型:字符串(枚举)
默认值:
DB_SCHEMA
SQL 代码设置
控制转换过程中如何处理 SAP ASE 代码(标识符和不区分大小写的操作)的设置。
- 对于不区分大小写的操作,避免将操作数转换为小写 ()
AvoidCastingToLowerCase -
指定 DMS 架构转换是否在转换后的代码中为不区分大小写的操作添加自动
LOWER()转换操作数。-
false— 在不区分大小写的比较之前,DMS 架构转换会添加LOWER()强制转换以规范化操作数。 -
true— DMS 架构转换不添加自动LOWER()强制转换。当您的 PostgreSQL 数据库使用扩展名或不区分大小写citext的排序规则以本地方式处理比较时,请使用此选项。
类型:布尔值 (
true|false)默认值:
false -
示例:将 SAP ASE 配置为 PostgreSQL 设置
以下示例设置了CaseSensitivityNames和SchemaNameTemplate。对项目使用的每个部分名称应用相同的设置(请DescribeConversionConfiguration先检查输出)。
{ "SYBASE_ASE_TO_POSTGRESQL_15": { "CaseSensitivityNames": true, "SchemaNameTemplate": "SCHEMA" }, "SYBASE_ASE_TO_POSTGRESQL_14": { "CaseSensitivityNames": true, "SchemaNameTemplate": "SCHEMA" }, "SYBASE_ASE_TO_POSTGRESQL": { "CaseSensitivityNames": true, "SchemaNameTemplate": "SCHEMA" } }