

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

# SAP ASE (Sybase ASE) 到 PostgreSQL 的转换设置
<a name="schema-conversion-sybase-ase"></a>

当来源是 SAP ASE（Sybase ASE），目标是 Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL 时，以下设置适用。您可以使用 AWS 管理控制台 或 [ModifyConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyConversionConfiguration.html)API 操作配置这些设置。

本主题介绍特定于 SAP ASE 到 PostgreSQL 转换路径的设置。除了这些设置外，DMS Schema Conversion 还提供适用于所有源和目标对的设置，例如转换后的 SQL 中操作项注释的严重性级别以及使用生成式 AI 进行转换的选项。有关这些设置，请参阅[常用转换设置](schema-conversion-settings.md#schema-conversion-settings-common)。

使用 API 或 AWS CLI 时，请在部分名称`SYBASE_ASE_TO_POSTGRESQL``SYBASE_ASE_TO_POSTGRESQL_14`、或下方指定转换路径设置`SYBASE_ASE_TO_POSTGRESQL_15`。所有三个版本控制部分都接受相同的密钥。要查找您的项目使用的部分名称，请[DescribeConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeConversionConfiguration.html)先致电并仅更新响应中存在的部分。

每个设置都显示 AWS 管理控制台 标签，后面是括号中的 AP AWS I 和 CLI 参数名称。使用 API 或 AWS CLI 配置设置时，请使用参数名称。

**目标引擎版本** (`SYBASE_ASE_TO_POSTGRESQL_target_engine_version`)  
为目标数据库选择引擎版本。此设置是 DMS 架构转换的转换目标 PostgreSQL 主要版本功能集，它决定了 DMS 架构转换适用的版本化设置部分（或）。`SYBASE_ASE_TO_POSTGRESQL_14` `SYBASE_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 架构名称。      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/dms/latest/userguide/schema-conversion-sybase-ase.html)
**类型：**字符串（枚举）  
**默认值**：`DB_SCHEMA`

控制转换过程中如何处理 SAP ASE 代码（标识符和不区分大小写的操作）的设置。

**对于不区分大小写的操作，避免将操作数转换为小写 (**) `AvoidCastingToLowerCase`  
指定 DMS 架构转换是否在转换后的代码中为不区分大小写的操作添加自动`LOWER()`转换操作数。  
+ `false`— 在不区分大小写的比较之前，DMS 架构转换会添加`LOWER()`强制转换以规范化操作数。
+ `true`— DMS 架构转换不添加自动`LOWER()`强制转换。当您的 PostgreSQL 数据库使用扩展名或不区分大小写`citext`的排序规则以本地方式处理比较时，请使用此选项。
**类型：**布尔值 (`true`\|`false`)  
**默认值**：`false`

## 示例：将 SAP ASE 配置为 PostgreSQL 设置
<a name="schema-conversion-sybase-ase-example"></a>

以下示例设置了`CaseSensitivityNames`和`SchemaNameTemplate`。对项目使用的每个部分名称应用相同的设置（请[DescribeConversionConfiguration](https://docs.aws.amazon.com/dms/latest/APIReference/API_DescribeConversionConfiguration.html)先检查输出）。

```
{
  "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"
  }
}
```