使用 PostgreSQL 作為下列項目的來源AWS SCT - AWS Schema Conversion Tool

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

使用 PostgreSQL 作為下列項目的來源AWS SCT

您可以使用AWS SCT將結構描述、資料庫程式碼物件和應用程式程式碼從 PostgreSQL 轉換為下列目標:

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

如需詳細資訊,請參閱下列章節:

將 PostgreSQL 作為來源資料庫的權限

PostgreSQL 作為來源所需的權限如下:

  • CONNECT ON DATABASE <database_name>

  • USAGE ON SCHEMA <database_name>

  • SELECT ON ALL TABLES IN SCHEMA <database_name>

  • SELECT ON ALL SEQUENCES IN SCHEMA <database_name>

連線至 PostgreSQL 作為來源

使用以下程序,透過 AWS Schema Conversion Tool 連接到您的 PostgreSQL 來源資料庫。

若要連接到 PostgreSQL 來源資料庫
  1. 在中AWS Schema Conversion Tool,選擇「新增來源」。

  2. 選擇 PostgreSQL,然後選擇「下一步」。

    這時系統顯示「添加源」對話框。

  3. 為使用連線,輸入資料庫的名稱。 AWS SCT在左側面板的樹狀結構中顯示此名稱。

  4. 使用資料庫認證來源AWS Secrets Manager或手動輸入:

    • 若要使用來自 Secrets Manager 的資料庫認證,請遵循下列指示:

      1. 對於 AWS 機密,請選擇密碼的名稱。

      2. 選擇填入來自 Secrets Manager 的資料庫連線對話方塊中自動填入所有值。

      如需使用來自 Secrets Manager 之資料庫認證的資訊,請參閱使用 AWS Secrets Manager

    • 若要手動輸入 PostgreSQL 來源資料庫連線資訊,請使用下列指示:

      參數 動作
      伺服器名稱

      輸入來源資料庫伺服器的網域名稱系統 (DNS) 名稱或 IP 地址。

      您可以使用 IPv6 地址協議來連線至來源 PostgreSQL 資料庫。若要這麼做,請務必使用方括號來輸入 IP 地址,如下列範例所示。

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      伺服器連接埠

      輸入用於連接到來源資料庫伺服器的連接埠。

      Database (資料庫)

      輸入 PostgreSQL 資料庫的名稱。

      使用者名稱密碼

      輸入要連線到來源資料庫伺服器的資料庫認證。

      AWS SCT只有當您選擇連線至專案中的資料庫時,才會使用密碼來連線至來源資料庫。為了防止公開來源資料庫的密碼,預設AWS SCT不會儲存密碼。如果您關閉 AWS SCT 專案再重新開啟,系統會在需要時提示您輸入密碼以便連接到您的來源資料庫。

      Use SSL (使用 SSL)

      選擇此選項,使用 Secure Sockets Layer (SSL) 來連線至您的資料庫。在 SSL 索引標籤上提供下列其他資訊 (如適用):

      • 驗證伺服器憑證:選取此選項可使用信任存放區驗證伺服器憑證。

      • 信任存放區:包含憑證的信任存放區的位置。若要讓此位置顯示在「全域設定」區段中,請務必新增該位置。

      儲存密碼

      AWS SCT 會建立安全的保存庫來存放 SSL 憑證和資料庫密碼。啟用此選項可讓您存放資料庫密碼,並快速連接到資料庫而無需輸入密碼。

      驅動程 PostgreSQL 路徑

      輸入用於連接至來源資料庫的驅動程式路徑。如需詳細資訊,請參閱下載所需資料庫驅動程式

      如果您在全域專案設定中存放驅動程式路徑,驅動程式路徑不會顯示在連線對話方塊中。如需詳細資訊,請參閱在全域設定中儲存驅動程式路徑

  5. 選擇「測試連線」以確認是否AWS SCT可以連線到來源資料庫。

  6. 選擇「Connect」以連線到來源資料庫。

將 MySQL 作為目標資料庫的權限

當您從 PostgreSQL 遷移時,MySQL 作為目標所需的權限如下:

  • 建立於 * 。 *

  • 變更於 * 。 *

  • 下降 * 。 *

  • 索引 * 。 *

  • 參考 * 。 *

  • SELECT ON *.*

  • 在 * 上建立檢視 。 *

  • SHOW VIEW ON *.*

  • 觸發 * 。 *

  • 在 * 上創建例程 。 *

  • 改變例程 * 。 *

  • 執行日期 * 。 *

  • 插入,在下一個更新。 *

  • 插入、更新、刪除 *

  • 在檔案資料上建立暫存資料表。 *

您可以使用下列程式碼範例來建立資料庫使用者並授與權限。

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 來取代 user_name,使用您的使用者名稱。然後,用安全的密碼替換您的密碼。

若要使用適用於 MySQL 的 Amazon RDS for MySQL 或 Aurora MySQL 作為目標,請將lower_case_table_names參數設定為1。此值意味著 MySQL 服務器處理不區分大小寫的表,索引,觸發器和數據庫等對象名稱的標識符。如果您已在目標執行個體中開啟二進位記錄功能,請將log_bin_trust_function_creators參數設定為1。在這種情況下,您不需要使用DETERMINISTICREADS SQL DATANO SQL特性來建立已儲存的函數。若要設定這些參數,請建立新的資料庫參數群組或修改現有的資料庫參數群組。