使用连接到 Postgre SQL 数据库 AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

使用连接到 Postgre SQL 数据库 AWS Schema Conversion Tool

您可以使用 AWS SCT 将架构、数据库代码对象和应用程序代码从 Postgre SQL 转换为以下目标:

  • Amazon RDS for My SQL

  • 亚马逊 Aurora 我的SQL兼容版

  • 适用于 Post RDS gre 的亚马逊 SQL

  • 亚马逊 Aurora Postgre SQL-兼容版

有关详细信息,请参阅以下章节:

Postgre SQL 作为源数据库的权限

Postgre SQL 作为源所需的权限如下:

  • CONNECT开启 DATABASE <database_name>

  • USAGE开启 SCHEMA <database_name>

  • SELECTON I ALL TABLES N SCHEMA <database_name>

  • SELECTON I ALL SEQUENCES N SCHEMA <database_name>

SQL作为源连接到 Postgre

使用以下过程通过连接到您的 Postgre SQL 源数据库。 AWS Schema Conversion Tool

连接到 Postgre SQL 源数据库
  1. 在中 AWS Schema Conversion Tool,选择添加来源

  2. 选择 Postgre SQL,然后选择 “下一步”。

    此时显示添加源对话框。

  3. 对于连接名称,输入数据库的名称。 AWS SCT 会在左侧面板的树中显示此名称。

  4. 使用来自的数据库凭据 AWS Secrets Manager 或手动输入:

    • 要使用 Secrets Manager 中的数据库凭证,请按照以下说明进行操作:

      1. 对于 S AWSecret,选择密钥的名称。

      2. 选择填充可使用 Secrets Manager 中的数据库凭证自动填写数据库连接对话框中的所有值。

      有关使用 Secrets Manager 中的数据库凭证的信息,请参阅AWS Secrets Manager 在中配置 AWS Schema Conversion Tool

    • 要手动输入 Postgre SQL 源数据库连接信息,请按照以下说明进行操作:

      参数 操作
      服务器名称

      输入源数据库服务器的域名系统 (DNS) 名称或 IP 地址。

      您可以使用IPv6地址协议连接到您的源 Postgre SQL 数据库。为此,请确保使用方括号输入 IP 地址,如以下示例所示。

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      服务器端口

      输入用于连接到源数据库服务器的端口。

      数据库

      输入 Postgre SQL 数据库的名称。

      用户名密码

      输入数据库凭证,以便连接到源数据库服务器。

      AWS SCT 仅当您选择在项目中连接到您的数据库时,才使用该密码连接到您的源数据库。为了避免泄露源数据库的密码, AWS SCT 不会默认存储该密码。如果您关闭 AWS SCT 项目并重新打开它,则系统会提示您输入密码以根据需要连接到源数据库。

      使用 SSL

      选择此选项可使用安全套接字层 (SSL) 连接到您的数据库。在SSL选项卡上提供以下其他信息(如果适用):

      • 验证服务器证书:选择此选项以使用信任存储验证服务器证书。

      • 信任存储:包含证书的信任存储的位置。要使此位置显示在全局设置部分,请务必将其添加。

      存储密码

      AWS SCT 创建用于存储SSL证书和数据库密码的安全保管库。启用此选项可让您存储数据库密码并在不需要输入密码的情况下快速连接到数据库。

      Postgre SQL 驱动程序路径

      输入用于连接到源数据库的驱动程序的路径。有关更多信息,请参阅 正在为安装JDBC驱动程序 AWS Schema Conversion Tool

      如果您将驱动程序路径存储在全局项目设置中,则驱动程序路径不会显示在连接对话框中。有关更多信息,请参阅 在全局设置中存储驱动程序路径

  5. 选择 “测试连接” 以验证是否 AWS SCT 可以连接到您的源数据库。

  6. 选择连接以连接到源数据库。

“我SQL作为目标数据库” 的权限

从 Postgre 迁移时,“我” SQL 作为目标所需的权限SQL如下:

  • CREATE开启* 。 *

  • ALTER开启* 。 *

  • DROP开启* 。 *

  • INDEX开启* 。 *

  • REFERENCES开启* 。 *

  • SELECT开启* 。 *

  • CREATEVIEW开启* 。 *

  • SHOWVIEW开启* 。 *

  • TRIGGER开启* 。 *

  • CREATEROUTINE开启* 。 *

  • ALTERROUTINE开启* 。 *

  • EXECUTE开启* 。 *

  • INSERT,UPDATEon AWS _ POSTGRESQL _ EXT。 *

  • INSERT,UPDATE,DELETEO AWS N _ POSTGRESQL _ EXT _ DATA。 *

  • CREATETEMPORARYTABLESO AWS N _ POSTGRESQL _ EXT _ DATA。 *

您可以使用以下代码示例创建数据库用户并授予权限。

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_POSTGRESQL_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name';

在前面的示例中,替换 user_name 用你的用户名。然后,替换 your_password 使用安全的密码。

要使用 Amazon f RDS or My SQL 或 Aurora My SQL 作为目标,请将lower_case_table_names参数设置为1。此值意味着 “我的SQL服务器” 在处理表、索引、触发器和数据库等对象名称的标识符时不区分大小写。如果目标实例中已开启二进制日志记录,请将 log_bin_trust_function_creators 参数设置为 1。在这种情况下,您无需使用 DETERMINISTICREADS SQL DATANO SQL 特性创建存储函数。要配置这些参数,请创建新的数据库参数组或修改现有数据库参数组。