使用 Aurora PostgreSQL Limitless Database 数据加载实用程序 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Aurora PostgreSQL Limitless Database 数据加载实用程序

Aurora 提供了一种实用程序,用于从 Aurora PostgreSQL 数据库集群或 RDS for PostgreSQL 数据库实例将数据直接加载到 Limitless Database 中。

您可以执行以下步骤来使用数据加载实用程序:

限制

数据加载实用程序具有以下限制:

  • 不支持以下数据类型:enumARRAYBOXCIRCLELINELSEGPATHPG_LSNPG_SNAPSHOTPOLYGONTSQUERYTSVECTORTXID_SNAPSHOT

  • 加载期间,VARBIT 数据类型的前导零 (0) 将被去除。

  • 当源表上有复合主键时,数据迁移失败。

  • 当目标表上有外键时,数据迁移失败。

  • 不支持从 RDS for PostgreSQL 多可用区数据库集群加载数据。

先决条件

数据加载实用程序具有以下先决条件:

  • 源数据库使用 Aurora PostgreSQL 或 RDS for PostgreSQL 版本 11.x 及更高版本。

  • 源数据库与目标数据库分片组位于相同的 Amazon Web Services 账户和 Amazon Web Services 区域中。

  • 源数据库集群或数据库实例处于 available 状态。

  • 源数据库和 Limitless Database 上的表具有相同的表名称、列名称和列数据类型。

  • 源表和目标表的主键使用相同的列和列顺序。

  • 要运行数据加载命令,您必须有一个可以连接到无限数据库的环境。可用命令如下:

    • rds_aurora.limitless_data_load_start

    • rds_aurora.limitless_data_load_cancel

  • 对于 CDC:

    • 源数据库和目标数据库分片组必须使用相同的数据库子网组、VPC 安全组和数据库端口。这些设置用于与源数据库和数据库分片组中路由器的网络连接。

    • 您必须在源数据库上启用逻辑复制。源数据库用户必须具有读取逻辑复制的权限。

使用 Limitless Compatibility Assessment Tool

您可以使用 Limitless Compatibility Assessment Tool 来快速确定您的 PostgreSQL 数据库是否与 Aurora PostgreSQL Limitless Database 兼容。您可以生成一个仅限架构的数据库 pg_dump 文件,然后对该工具运行该文件,以评估哪些 SQL 语句受支持,哪些不受支持。

有关更多信息,请参阅 Limitless Compatibility Assessment Tool 的相关文档

准备源数据库

要访问源数据库进行数据加载,您必须允许传入的网络流量进入该数据库。执行以下步骤。

允许网络流量进入源数据库
  1. 登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/)。

  2. 导航到安全组页面。

  3. 为源数据库集群或实例使用的安全组选择安全组 ID

    例如,其安全组 ID 为 sg-056a84f1712b77926

  4. 入站规则选项卡:

    1. 选择编辑入站规则

    2. 为源数据库集群或实例添加新的入站规则:

      • 端口范围 – 源数据库的数据库端口,通常是 5432

      • 安全组 ID – 本例中为 sg-056a84f1712b77926

      为源数据库添加入站规则。
  5. 出站规则选项卡:

    1. 选择编辑出站规则

    2. 为源数据库集群或实例添加新的出站规则:

      • 数据库端口 – All traffic(包括端口 0-65535

      • 安全组 ID – 本例中为 sg-056a84f1712b77926

      为源数据库添加出站规则。
  6. 登录到 Amazon Web Services Management Console并打开 Amazon VPC 控制台,网址:https://console.aws.amazon.com/vpc/

  7. 导航到网络 ACL 页面。

  8. 添加默认网络 ACL 中概述的默认网络 ACL 配置。

准备目标数据库

按照 创建 Aurora PostgreSQL Limitless Database 表 中的过程在数据库分片组中创建目标表。

目标表的架构、表名称和主键必须与源表相同。

创建数据库凭证

您必须在源数据库和目标数据库中创建数据库用户,然后向这些用户授予必要的权限。有关更多信息,请参阅 PostgreSQL 文档中的 CREATE USERGRANT

创建源数据库凭证

在命令中传递源数据库用户以开始加载。该用户必须拥有从源数据库执行复制的权限。

  1. 使用数据库主用户(或具有 rds_superuser 角色的其他用户)创建具有 LOGIN 权限的源数据库用户。

    CREATE USER source_db_username WITH PASSWORD 'source_db_user_password';
  2. rds_superuser 角色授予您的源数据库用户。

    GRANT rds_superuser to source_db_username;
  3. 如果您使用的是 full_load_and_cdc 模式,请将 rds_replication 角色授予您的源数据库用户。rds_replication 角色可授予管理逻辑时隙和使用逻辑时隙流式处理数据的权限。

    GRANT rds_replication to source_db_username;

创建目标数据库凭证

目标数据库用户必须拥有写入数据库分片组中目标表的权限。

  1. 使用数据库主用户(或具有 rds_superuser 角色的其他用户)创建具有 LOGIN 权限的目标数据库用户。

    CREATE USER destination_db_username WITH PASSWORD 'destination_db_user_password';
  2. rds_superuser 角色授予您的目标数据库用户。

    GRANT rds_superuser to destination_db_username;