本頁面說明如何快速啟動同質 PostgreSQL 遷移作業,遷移至 PostgreSQL 適用的 Cloud SQL 和 PostgreSQL 適用的 AlloyDB。快速啟動遷移功能是輕量級的持續遷移流程,適用於同質 PostgreSQL 情境,可透過自動化網路、內嵌探索、快速複製 (以 pgnative 為基礎) 等功能,簡化遷移程序。本頁面說明如何快速啟動同質 PostgreSQL 遷移作業,遷移至 PostgreSQL 適用的 Cloud SQL 和 AlloyDB for PostgreSQL:
- 總覽:概略說明快速啟動遷移功能,以及如何使用這項功能提升遷移體驗。
- 指南和支援情境:提供所有快速啟動遷移流程的逐步操作說明連結。
- 網路連線說明資料庫遷移服務在快速啟動遷移作業中採用的獨特架構。
- 限制:說明快速遷移時應注意的已知限制和注意事項。
總覽
透過快速啟動遷移功能,資料庫遷移服務可自動設定所需的一切,遷移在虛擬私有雲網路中指派私人 IP 的來源,例如 Compute Engine 上的自行管理資料庫,或 PostgreSQL 適用的 Cloud SQL 執行個體。快速啟動遷移作業的主要特點包括:
pgnative複製:原生複製機制可讓您遷移資料,無須安裝額外的 PostgreSQL 擴充功能,或降級目的地執行個體。目的地執行個體上的其他資料庫會維持運作,流量不會中斷。- 簡化網路:資料庫遷移服務會自動處理私人 IP 的網路連線。在快速啟動遷移作業中,系統會自動建立所有必要資源 (私人連線設定、網路連結及其子網路),以便透過 Private Service Connect 介面建立連線。詳情請參閱「 網路連線」一節。
- 內嵌探索:您可以使用 資料庫遷移服務觀測功能,直接在目的地 Cloud SQL 或 AlloyDB for PostgreSQL 執行個體中啟動、管理及監控遷移作業。
下表摘要列出快速啟動和標準同質 PostgreSQL 遷移作業的主要差異:
| 功能 | 標準遷移 (pglogical) | 快速啟動遷移作業 (原生複製) |
|---|---|---|
| 安裝擴充功能 | 這是必要旗標,您必須在來源資料庫安裝並設定 pglogical 擴充功能。 |
。 |
| 目的地執行個體狀態 | 必須為空白且已降級 (適用於 Cloud SQL),或處於啟動模式 (適用於 PostgreSQL 適用的 AlloyDB)。 | 可以是即時執行個體,且有流量傳送至其他資料庫 (未遷移)。 |
| 網路連線 | 支援複雜情境,包括 Private Service Connect 介面、虛擬私有雲對接、反向 SSH 通道和公開 IP 連線。 | 使用 Private Service Connect 介面的全私人連線,將網路設定抽象化。您不需要設定來源資料庫的連線能力,唯一的要求是在虛擬私有雲網路中指派私人 IP。 |
| 沒有主鍵的資料表 | 不支援。所有資料表都必須有主鍵。 | 支援。您可以將副本身分設為 INDEX 或 FULL,藉此複製沒有主鍵的資料表。 |
| 平行遷移工作 | 不支援。每個來源資料庫執行個體只能執行一項遷移工作。 | 支援。您可以同時執行多項遷移工作,每項工作會從相同來源遷移不同的資料庫。 |
| 目的地物件擁有權 | 物件由 postgres 使用者擁有。 |
物件的擁有者是資料庫遷移服務產生的遷移使用者 (如果使用 Google Cloud 控制台),或您提供的使用者 (如果使用 Google Cloud CLI)。 |
指南和支援的情境
同質 PostgreSQL 快速啟動遷移功能,可持續將同質資料庫遷移至新的或現有的 PostgreSQL 適用的 Cloud SQL 或 AlloyDB for PostgreSQL 目的地。這個遷移流程最適合從 Google Cloud虛擬私有雲 (VPC) 網路中具有私人 IP 位址的來源遷移,例如 Compute Engine 上的自行管理資料庫,或啟用私人網路的 PostgreSQL 適用的 Cloud SQL 執行個體。託管於 Google Cloud 以外的來源可能需要額外的網路元件 (例如 Cloud VPN 連線),才能透過虛擬私有雲網路中的私人 IP 位址存取。
您可以在 Google Cloud 控制台的多個位置開始快速遷移:
- PostgreSQL 適用的 Cloud SQL 和 AlloyDB for PostgreSQL 的 Google Cloud 控制台,可讓您直接從執行個體或叢集開始快速遷移。詳情請參閱:
- 資料庫遷移服務,您可以在設定快速啟動遷移作業時,建立新的目的地叢集或執行個體。詳情請參閱:
網路連線
概括來說,快速遷移功能使用的網路架構與標準同質遷移不同。資料庫遷移服務和目的地 PostgreSQL 適用的 Cloud SQL 或 AlloyDB for PostgreSQL 執行個體,都是位於專屬網路 (稱為「服務網路」) 的服務生產者,不屬於您在 Google Cloud 專案中使用的虛擬私有雲網路。
資料庫遷移服務可完全支援來源和目的地連線能力,以便快速啟動遷移作業。
來源資料庫連線方面,快速啟動遷移作業會使用 Private Service Connect 介面。如要使用這個連線方式,來源執行個體必須在 Google Cloud虛擬私有雲網路中設有私人 IP 位址。Compute Engine 或 PostgreSQL 適用的 Cloud SQL 執行個體上的自行管理資料庫,通常可以立即滿足這項需求。託管於 Google Cloud 以外的來源可能需要額外的網路元件 (例如 Cloud VPN 連線),才能透過虛擬私有雲網路中的私人 IP 位址存取。
在目的地資料庫連線能力方面,資料庫遷移服務會全代管與 PostgreSQL 適用的 Cloud SQL 執行個體或 AlloyDB for PostgreSQL 叢集的網路通訊。唯一的條件是目的地必須啟用 Private Service Connect,但不需要進一步設定。
來源連線至 Compute Engine 上的自行託管資料庫
從 Compute Engine 上的自行託管資料庫遷移時,資料庫遷移服務會在 VM 所在的虛擬私有雲網路中建立網路連結。
來源與 PostgreSQL 適用的 Cloud SQL 之間的連線
從 PostgreSQL 適用的 Cloud SQL 執行個體遷移時,資料庫遷移服務會在執行個體獲派私人 IP 的虛擬私有雲網路中建立網路連結。這個 IP 可能是私人服務連線 (PSA) 或 Private Service Connect 設定的結果。詳情請參閱 Cloud SQL 說明文件中的私人 IP 設定。
來源連線至 Google Cloud以外的資料庫
從 Google Cloud外部託管的資料庫遷移時,您需要額外的網路元件,確保資料庫在虛擬私有雲網路 (例如虛擬私有雲網路) Google Cloud 中獲派私人 IP 位址。資料庫遷移服務會在虛擬私有雲網路中建立網路連結,並為執行個體指派私人 IP。
限制
快速遷移功能有以下限制。如果遷移情境需要使用任何不支援的功能,建議您改為遵循標準遷移流程。詳情請參閱「遷移至 PostgreSQL 適用的 Cloud SQL」或「 遷移至 AlloyDB for PostgreSQL」說明文件頁面。
快速遷移功能不支援從 PostgreSQL
9.6以下版本遷移。不支援空白資料庫 (即只有系統結構定義的資料庫)。
不支援目的地執行個體或叢集的 Identity and Access Management (IAM) 驗證。使用快速啟動遷移功能建立新目的地時,資料庫遷移服務會以預設
postgres使用者身分連線。如果遷移至現有目的地,資料庫遷移服務會建立專屬的cloudsqlsuperuser或alloydbsuperuser帳戶,並使用該帳戶連線至目的地。如要進一步瞭解 IAM,請參閱 Cloud SQL 說明文件中的「 IAM 驗證」,或 AlloyDB for PostgreSQL 說明文件中的「 管理 IAM 驗證」。來源資料庫必須在虛擬私有雲網路中指派私人 IP 位址。資料庫遷移服務會使用 Private Service Connect 介面 (網路連結) 連線至來源資料庫。快速啟動遷移作業不支援公開 IP 連線。
僅支援已啟用 Private Service Connect 的目的地。不支援將 PSA PostgreSQL 適用的 Cloud SQL 或 AlloyDB for PostgreSQL 執行個體做為遷移目的地。
來源連線的 SSL 加密選項僅支援
none和required變體,適用於快速啟動遷移作業。快速啟動遷移不支援同質 MySQL 或 SQL Server 遷移。
不支援進階功能,例如自訂資料轉儲平行處理設定。
僅支援連續遷移。
快速遷移作業每項遷移工作最多可容納 50 個資料庫。您不必遷移來源資料庫伺服器中的所有資料庫。資料庫遷移服務可讓您選取要遷移的資料庫。
如果資料表沒有主鍵,在變更資料擷取 (CDC) 階段,系統預設只會複製
INSERT作業。如要複製UPDATE和DELETE作業,您必須將資料表的副本身分設為FULL或USING INDEX。如需確切步驟,請參閱快速遷移 指南。適用標準遷移精確度限制。詳情請參閱「 AlloyDB for PostgreSQL 遷移作業的遷移擬真度」和「 PostgreSQL 適用的 Cloud SQL 遷移作業的遷移擬真度」。