本頁面說明如何快速開始進行同質 PostgreSQL 遷移作業,將資料遷移至 PostgreSQL 適用的 Cloud SQL 和 AlloyDB for PostgreSQL。快速啟動遷移功能是輕量級的持續遷移流程,適用於同質 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 執行個體上自行管理的資料庫,通常可直接滿足這項需求。如要透過虛擬私有雲網路中的私人 IP 位址存取「外部」 Google Cloud 代管的來源,可能需要額外的網路元件 (例如 Cloud VPN 連線)。
對於目的地資料庫連線,資料庫遷移服務會全代管與 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) 驗證。為新目的地使用快速入門遷移作業時,資料庫遷移服務會以預設
postgresql使用者身分連線。如果您要遷移至現有目的地,資料庫遷移服務會建立專屬的cloudsqlsuperuser或alloydbsuperuser帳戶,並使用該帳戶連線至目的地。如要進一步瞭解 IAM,請參閱 Cloud SQL 說明文件中的「 IAM 驗證」,或 AlloyDB for PostgreSQL 說明文件中的「 管理 IAM 驗證」。資料庫連線目前僅支援 Private Service Connect 介面,搭配資料庫遷移服務私人連線設定。來源資料庫必須在虛擬私有雲網路中指派私人 IP。快速入門移轉不支援其他同質來源連線方法 (例如公開 IP 許可清單、反向 SSH 通道或虛擬私有雲對等互連)。
僅支援啟用 Private Service Connect 的目的地。 不支援將 PSA PostgreSQL 適用的 Cloud SQL 或 AlloyDB for PostgreSQL 執行個體做為遷移目的地。
來源連線的 SSL 加密選項僅支援
none和required變體,適用於快速啟動遷移作業。快速入門遷移作業不支援同質 MySQL 或 SQL Server 遷移。
系統不支援進階功能,例如自訂資料傾印平行處理設定。
系統僅支援持續遷移。
快速遷移作業每項遷移工作最多可容納 50 個資料庫。 您不必遷移來源資料庫伺服器中的所有資料庫。資料庫遷移服務可讓您選取要遷移的資料庫。
為確保複製作業一致,資料庫遷移服務要求所有來源資料表都必須有主鍵。如果資料表沒有主鍵,變更資料擷取 (CDC) 階段只會複製
INSERT作業。如要為沒有主鍵的資料表複製UPDATE和DELETE作業,請使用REPLICA選項修改這些資料表。如需確切步驟,請參閱快速遷移指南。適用標準遷移保真度限制。詳情請參閱「 AlloyDB for PostgreSQL 遷移作業的遷移保真度」和「 PostgreSQL 適用的 Cloud SQL 遷移作業的遷移保真度」。