了解 SQL Server 到 PostgreSQL 的转换设置 - Amazon 数据库迁移服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

了解 SQL Server 到 PostgreSQL 的转换设置

在 DMS 架构转换中,SQL Server 到 PostgreSQL 的转换设置包括以下内容:

  • 要使用生成式 AI 转换适用的数据库对象,请启用生成式 AI 设置。使用生成人工智能成功转换的物体将通过Acti on Item 7744 清楚地识别,其中指出:“这种转换使用机器学习模型,根据数据模式生成预测。” 有关更多信息,请参阅使用生成式 AI 转换数据库对象

  • 在 SQL Server 中,可以在不同表中使用名称相同的索引。但是,在 PostgreSQL 中,在架构中使用的所有索引名称必须是唯一的。要确保 DMS 架构转换为所有的索引生成唯一名称,可选择为索引生成唯一名称

  • PostgreSQL 版本 10 及更早版本不支持过程。如果你不熟悉在 PostgreSQL 中使用过程,可以将 SQL Server 过程转换为 Postgre Amazon DMS SQL 函数。为此,可选择将过程转换为函数

  • 源 SQL Server 数据库可以将 EXEC 的输出存储在表中。DMS 架构转换创建临时表和一个额外的过程来模拟此功能。要使用此模拟,可选择创建额外的例程处理开放数据集

  • 您可以定义模板,用于转换后的代码中的架构名称。对于架构名称,请选择下列选项之一:

    • DB – 使用 SQL Server 数据库名称作为 PostgreSQL 中的架构名称。

    • SCHEMA – 使用 SQL Server 架构名称作为 PostgreSQL 中的架构名称。

    • DB_SCHEMA – 使用 SQL Server 数据库名称和架构名称的组合作为 PostgreSQL 中的架构名称。

  • 可以在源操作数的名称中保留字母大小写。要避免将操作数名称转换为小写,请选择 “避免将区分大小写的操作转换为小写”。只有在源数据库中启用了区分大小写功能时,此选项才适用。

  • 您可以保留源数据库中的参数名称。DMS 架构转换可以在转换后的代码中,为参数名称添加双引号。为此,可选择保留原始参数名称

  • 您可以从源数据库中保留一定长度的例程参数。DMS 架构转换会创建域并使用它们来指定例程参数的长度。为此,请选择保留参数长度

要将不支持的内置对象转换为存根对象,请启用 “将不支持的内置对象转换为存根对象” 设置。启用后,DMS SC 会将目标数据库中不支持的内置对象替换为相应的存根对象。此功能可转换通常包含在迁移问题 7811 或 7904 中的代码部分。它根据程序、VIEW视图或表格的源内置对象PROCEDURE的类型创建存根对象。

通过调用不支持的对象对源数据库对象进行转换会导致存根对象的调用和迁移问题 7822。

通过启用 “在单独的架构中创建存根对象” 选项,您可以选择在单独的架构中创建存根对象。选中后,将在目标数据库中命名的特殊架构aws_sqlserver_stub中创建存根对象。如果未选中,则它们将在与调用对象相同的架构中创建。

存根例程是根据原始内置程序的完全限定名称命名的。对于存根视图,命名约定包括系统架构名称system_schema_name$builtin_view_name

在重新转换期间,DMS SC 会检查目标数据库中是否存在现有的存根例程。如果已经存在同名和输入参数相同的例程,则该例程不会被覆盖。

转换后,根据需要查看和实现存根例程的自定义代码。