使用 Aurora PostgreSQL Limitless Database 資料載入公用程式 - Amazon Aurora

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

使用 Aurora PostgreSQL Limitless Database 資料載入公用程式

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

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

限制

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

  • 不支援以下資料類型:enumARRAYBOXCIRCLELINELSEGPATHPG_LSNPG_SNAPSHOTPOLYGONTSQUERYTSVECTORTXID_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 管理主控台,並在 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. 選擇編輯傳出規則

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

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

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

      新增來源資料庫的傳出規則。
  6. 登入 AWS 管理主控台,並在 https://console.aws.amazon.com/vpc/ 開啟 Amazon 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;