使用 Aurora PostgreSQL 無限資料庫資料載入公用程式 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Aurora PostgreSQL 無限資料庫資料載入公用程式

Aurora 提供公用程式,可將資料直接從 Aurora PostgreSQL 資料庫叢集或 RDS for PostgreSQL 資料庫執行個體載入無限資料庫。

您可以執行下列步驟來使用資料載入公用程式:

限制

資料載入公用程式有下列限制:

  • 不支援下列資料類型:enumARRAYBOXCIRCLELINELSEGPATH、、PG_LSNPG_SNAPSHOTPOLYGONTSQUERY、、 TSVECTORTXID_SNAPSHOT

  • 前導零 (0) 會在載入期間從 VARBIT 資料類型中分割。

  • 當目的地資料表上有外部索引鍵時,資料遷移會失敗。

  • 不支援從 RDS for PostgreSQL 多可用區域資料庫叢集載入資料。

先決條件

資料載入公用程式具有下列先決條件:

  • 來源資料庫使用 Aurora PostgreSQL 或 RDS for PostgreSQL 11.x 版及更新版本。

  • 來源資料庫與 AWS 區域 目的地資料庫碎片群組位於相同 AWS 帳戶 和 。

  • 來源資料庫叢集或資料庫執行個體處於 available 狀態。

  • 來源資料庫和無限資料庫上的資料表具有相同的資料表名稱、資料欄名稱和資料欄資料類型。

  • 來源和目的地資料表具有使用相同資料欄和資料欄順序的主索引鍵。

  • 您必須擁有可連線至無限資料庫的環境,才能執行資料載入命令。可用的命令如下:

    • rds_aurora.limitless_data_load_start

    • rds_aurora.limitless_data_load_cancel

  • 對於 CDC:

    • 來源資料庫和目的地資料庫碎片群組都必須使用相同的資料庫子網路群組、VPC 安全群組和資料庫連接埠。這些設定適用於來源資料庫和資料庫碎片群組中路由器的網路連線。

    • 您必須在來源資料庫上啟用邏輯複寫。來源資料庫使用者必須具有讀取邏輯複寫的權限。

準備來源資料庫

若要存取來源資料庫以進行資料載入,您必須允許傳入的網路流量。執行以下步驟。

允許來源資料庫的網路流量
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 導覽至安全群組頁面。

  3. 選擇來源資料庫叢集或執行個體所使用的安全群組的安全群組 ID

    例如,其安全群組 ID 為 sg-056a84f1712b77926

  4. 傳入規則索引標籤上:

    1. 選擇 Edit inbound Rules (編輯傳入規則)。

    2. 為來源資料庫叢集或執行個體新增傳入規則:

      • 連接埠範圍 – 來源資料庫的資料庫連接埠,通常 5432

      • 安全群組 ID – sg-056a84f1712b77926 在此範例中

      新增來源資料庫的傳入規則。
  5. 傳出規則索引標籤上:

    1. 選擇 Edit outbound rules (編輯傳出規則)。

    2. 為來源資料庫叢集或執行個體新增傳出規則:

      • 資料庫連接埠 – All traffic(包括連接埠 0-65535)

      • 安全群組 ID – sg-056a84f1712b77926 在此範例中

      新增來源資料庫的傳出規則。
  6. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/vpc/:// 開啟 Amazon VPC 主控台。

  7. 導覽至網路 ACLs頁面。

  8. 新增預設網路 ACL 中概述的預設網路 ACL 組態。

準備目的地資料庫

遵循 中的程序建立 Aurora PostgreSQL 無限資料庫資料表,在資料庫碎片群組中建立目的地資料表。

您的目的地資料表必須具有與來源資料表相同的結構描述、資料表名稱和主索引鍵。

建立資料庫登入資料

您必須在來源和目的地資料庫中建立資料庫使用者,並將必要的權限授予使用者。如需詳細資訊,請參閱 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;