本頁說明如何對 PostgreSQL 執行同質快速遷移,將資料遷移至 AlloyDB for PostgreSQL。
總覽
快速啟動遷移是輕量級的連續遷移流程,適用於同質的 PostgreSQL 案例。透過快速啟動遷移功能,資料庫遷移服務可以自動設定遷移資料庫所需的一切:網路元件 (網路附件、子網路、私人連線設定)、連線設定檔和遷移工作。
透過快速入門遷移,您可以將資料移至現有的 AlloyDB for PostgreSQL 叢集,或在設定遷移作業時建立新叢集。快速遷移功能最適合用於:
- 基本遷移作業,不需要精確控管資料轉儲作業的平行處理設定。
- 將資料庫從一個 Google Cloud 專案遷移至另一個專案。 設定快速啟動遷移時,您可以在與來源不同的專案中建立目的地叢集,並將資料庫遷移服務設為在其他專案的虛擬私有雲 (VPC) 網路中建立網路連結和子網路。
-
從 Google Cloud 虛擬私有雲 (VPC) 網路中具有私人 IP 位址的來源遷移,例如 Compute Engine 上自行管理的資料庫,或是已啟用私人網路的 PostgreSQL 適用的 Cloud SQL 執行個體。
如果來源主機位於外部 Google Cloud ,可能需要額外的網路元件 (例如 Cloud VPN 連線),才能透過虛擬私有雲網路內的私人 IP 位址存取來源。
- 目前僅支援使用 Private Service Connect 介面,搭配資料庫遷移服務私人連線設定,連線至資料庫。來源資料庫必須在虛擬私有雲網路中指派私人 IP。快速入門移轉不支援其他同質來源連線方法 (例如公開 IP 許可清單、反向 SSH 通道或虛擬私有雲對等互連)。
如要進一步瞭解快速遷移功能,請參閱資料庫移轉服務說明文件中的「快速遷移」。
事前準備
- 確認快速入門遷移作業是否完全支援您的情境。請參閱資料庫遷移服務文件中的「快速啟動遷移限制」。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 啟用資料庫遷移服務、Compute Engine、Network Connectivity Center 和 AlloyDB for PostgreSQL 管理 API。
必要的角色
如要取得使用資料庫遷移服務,將資料快速遷移至 AlloyDB for PostgreSQL 所需的權限,請要求管理員在相關專案中,為遷移作業涉及的帳戶授予必要的 Identity and Access Management (IAM) 角色。如要進一步瞭解如何授予角色,請參閱身分與存取權管理說明文件中的「管理存取權」。
來源專案中的角色和權限
在 Google Cloud 專案中,將下列角色授予特定帳戶,該專案是來源資料庫所在的專案:
- 執行遷移作業的使用者帳戶:
Compute 網路管理員
(
roles/compute.networkAdmin) - 為目的地專案的資料庫遷移服務服務帳戶指派下列角色:
Compute 網路檢視者 (
roles/compute.networkViewer)啟用 Database Migration Service API 時,系統會為您建立 Database Migration Service 服務帳戶。並自動產生相關聯的電子郵件地址。該電子郵件地址無法變更,這個電子郵件地址的格式如下:
service-DESTINATION_PROJECT_NUMBERservice-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.
這些預先定義的角色具備必要權限,可讓您在來源資料庫專案中設定連線,以便透過資料庫遷移服務進行快速入門遷移作業。如要查看確切的必要權限,請展開「Required permissions (source)」(必要權限 (來源)) 部分:
必要權限 (來源)
如要使用資料庫遷移服務執行同質快速入門遷移作業,必須具備下列權限:
執行遷移作業的使用者帳戶:
compute.networks.*compute.subnetworks.*compute.networkAttachments.*
為目的地專案的 資料庫遷移服務 服務帳戶:
compute.networkAttachments.get。
目的地專案中的角色和權限
在 Google Cloud 專案中,將下列角色授予執行遷移作業的使用者帳戶,該專案是目的地資料庫所在的專案:
-
資料庫遷移管理員
(
roles/datamigration.admin) -
AlloyDB 管理員
(
roles/alloydb.admin)
這些預先定義的角色具備必要權限,可在目的地資料庫專案中設定必要的遷移元件,以便透過資料庫遷移服務進行快速入門遷移。如要查看確切的必要權限,請展開「Required permissions (destination)」(必要權限 (目的地)) 部分:
必要權限 (目的地)
如要使用資料庫遷移服務執行同質快速入門遷移作業,必須具備下列權限:
datamigration.*alloydb.clusters.createalloydb.clusters.getalloydb.clusters.listalloydb.clusters.updatealloydb.clusters.deletealloydb.instances.createalloydb.instances.getalloydb.instances.listalloydb.instances.updatealloydb.instances.deletealloydb.instances.executeSqlalloydb.operations.getalloydb.users.listalloydb.users.getalloydb.users.createalloydb.users.updatealloydb.users.delete
設定來源資料庫
如要設定來源 PostgreSQL 資料庫,請按照下列步驟操作:
- 在執行個體中建立專用的遷移使用者帳戶。
- 將必要權限指派給專用的遷移使用者帳戶。
針對要遷移的每個資料庫,執行下列指令:
-- Grant the REPLICATION attribute ALTER ROLE MIGRATION_USER REPLICATION; -- Grant database-level permissions. -- Repeat for each database you want to migrate. GRANT CONNECT, CREATE ON DATABASE DATABASE_NAME TO MIGRATION_USER; -- Grant schema-level usage. -- Repeat for each schema in each database you want to migrate. GRANT USAGE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER;
更改下列內容:
- MIGRATION_USER,並輸入遷移使用者帳戶的名稱。
- 將 DATABASE_NAME 替換為要遷移的資料庫名稱。
- SCHEMA_NAME 改成要遷移的資料庫中的結構定義名稱。
- 遷移使用者帳戶必須擁有要遷移的資料表存取權。如要授予這個存取層級,請採取下列其中一項做法:
- 僅適用於 PostgreSQL 適用的 Cloud SQL 以外的來源:將
SUPERUSERPostgreSQL 角色指派給遷移帳戶。 - 所有來源:將遷移使用者帳戶新增至擁有資料表的使用者群組。執行下列指令:
-- Grant table ownership. GRANT TABLE_OWNER_GROUP_NAME TO MIGRATION_USER;
更改下列內容:
- TABLE_OWNER_GROUP_NAME,並輸入要遷移的每個表格所屬使用者群組的名稱。
- MIGRATION_USER,並輸入遷移使用者帳戶的名稱。
- 僅適用於 PostgreSQL 適用的 Cloud SQL 以外的來源:將
- 沒有主鍵的資料表:在變更資料擷取 (CDC) 階段,資料庫遷移服務不會複製沒有主鍵的資料表
UPDATE或DELETE作業。如要在複寫作業中納入這類作業,請使用REPLICA IDENTITY修改沒有主鍵的資料表:ALTER TABLE TABLE_NAME REPLICA IDENTITY FULL; ALTER TABLE TABLE_NAME REPLICA IDENTITY USING INDEX INDEX_NAME;
更改下列內容:
- TABLE_NAME 是沒有主鍵的資料表名稱。
- INDEX_NAME 是可追蹤沒有主鍵資料表資料列的專屬索引。
- 使用資料庫旗標設定複製設定。
自行管理的來源
如要儲存資料庫旗標的變更,必須完整重新啟動資料庫。 下列範例使用 SQL 查詢來變更旗標值。 如果無法直接執行 SQL 查詢,請參閱供應商文件,瞭解如何變更這些標記。
- 將
wal_level參數設為logical。執行下列指令:ALTER SYSTEM SET wal_level = 'logical';
- 將
wal_sender_timeout參數設為0。這個值會停用逾時機制,該機制用於終止閒置的複寫連線。執行下列指令:ALTER SYSTEM SET wal_sender_timeout = 0;
- 使用
max_replication_slots參數設定複製時段數量上限。這個參數的值至少必須是每個遷移工作要遷移的資料庫數量,外加一些保留值,用於資料表同步處理。舉例來說,如果您要遷移 5 個資料庫,且為來源執行個體建立了 2 項遷移工作,則複製作業運算單元至少須有
5 * 2 = 10個,加上您已使用的複製作業運算單元數量。如要設定這個參數,請執行下列指令:
其中 NUMBER_OF_SLOTS 代表複寫時段數量上限。ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
- 將
max_wal_senders參數設為至少與max_replication_slots相同的值,再加上您在執行個體上已使用的傳送者數量。舉例來說,如果
max_replication_slots參數設為10,且您已使用 2 個傳送者,則同時執行的 WAL 傳送者程序數量為10 + 2 = 12。如要設定這個參數,請執行下列指令:
其中 NUMBER_OF_SENDERS 代表同時執行的 WAL 傳送器程序數量。ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
- 將
max_worker_processes至少設為要遷移的資料庫數量,加上執行個體上已使用的max_worker_processes數量。如要設定這個參數,請執行下列指令: 其中 NUMBER_OF_PROCESSES 代表要遷移的資料庫數量。ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
PostgreSQL 適用的 Cloud SQL 來源
如果是 Cloud SQL 來源,請在 Google Cloud 控制台中設定資料庫旗標。 修改資料庫旗標後,您必須重新啟動執行個體,設定才會生效。如要進一步瞭解如何在 Cloud SQL 中設定資料庫旗標,請參閱 Cloud SQL 說明文件中的「設定資料庫旗標」。
- 將
cloudsql.logical_decoding旗標設為on。 - 將
wal_sender_timeout參數設為0。 這個值會停用逾時機制,該機制用於終止閒置的複寫連線。 - 使用
max_replication_slots參數設定複製時段數量上限。這個參數的值至少須為每個遷移工作要遷移的資料庫數量,加上資料表同步處理的預留數量。舉例來說,如果您要遷移 5 個資料庫,且為來源執行個體建立了 2 項遷移工作,則複製作業運算單元至少須有
5 * 2 = 10個,加上您已使用的複製作業運算單元數量。 - 將
max_wal_senders參數設為至少與max_replication_slots相同的值,加上您在執行個體上已使用的傳送者數量。舉例來說,如果
max_replication_slots參數設為10,且您已使用 2 個傳送者,則同時執行的 WAL 傳送者程序數量為10 + 2 = 12。 - 將
max_worker_processes設為至少要遷移的資料庫數量,加上執行個體上已使用的max_worker_processes數量。
- 將
建立並執行快速入門遷移作業
使用快速入門遷移功能時,您可以建立新的 AlloyDB for PostgreSQL 叢集並將資料庫遷移至該處,也可以將資料庫遷移至現有叢集。
新叢集的快速遷移作業
如要建立新的 AlloyDB for PostgreSQL 叢集,並立即將資料庫遷移至該處,請按照下列步驟操作:
控制台
- 前往「Clusters」(叢集) 頁面。
- 依序點選「建立叢集」>「從現有資料庫」
系統會開啟資料庫移轉服務的快速入門遷移表單。
- 在「設定遷移作業」部分,執行下列操作:
- 從「目的地區域」選單中,選取目的地 AlloyDB for PostgreSQL 叢集的區域。
- 在「遷移作業前置字串」方塊中,輸入要加到所有為快速啟動遷移作業建立的遷移實體名稱的字串,包括連線設定檔、私人連線設定、網路連結及其子網路,以及遷移作業。
- 從「設定類型」選單中,選取下列其中一個選項:
- 現有連線設定:如果您已有網路連結和私人連線設定,且使用 Private Service Connect 介面方法,請選取這個選項。如果您先前使用快速入門遷移作業,且想重複使用相同的網路資源,建議採用這個選項。
- 新的連線設定:選取這個選項,在來源資料庫虛擬私有雲網路中建立新的網路連結和網路連結子網路。私人連線設定會建立在與目的地叢集相同的專案中。
按一下 [繼續]。
- 在「連結來源」部分,執行下列操作:
- 輸入來源資料庫的「主機名稱」或私有「IP 位址」。來源資料庫位址必須可從來源虛擬私有雲網路連線。
- 輸入用來存取主機的通訊埠。預設的 PostgreSQL 通訊埠號碼為
5432。 - 在來源資料庫中,輸入專用遷移帳戶的使用者名稱和密碼。
- 在「加密類型」選單中,選取下列其中一個選項:
- 無:如果來源資料庫不需要 SSL/TLS 加密連線。
- 必要:如果來源資料庫需要 SSL/TLS 加密連線,這個選項不需要驗證任何憑證。
- 在「要遷移的資料庫」選單中,按一下「自訂」。 使用側邊面板,只選取要遷移至 AlloyDB for PostgreSQL 的資料庫。 按一下 [繼續]。
- 在「設定目的地」部分,執行下列操作:
- 從「目的地執行個體類型」選單中,選取「新叢集」。
資料庫遷移服務會使用預設的 AlloyDB for PostgreSQL 設定建立新叢集。按一下「自訂」,調整叢集功能,例如機型、區域可用性或資料保護設定。如要進一步瞭解叢集設定,請參閱「 建立叢集及其主要執行個體」。
- 在「Password」(密碼) 欄位中,輸入預設
postgresql管理員使用者的密碼。資料庫遷移服務會以這個使用者身分連線,以便遷移資料。
- 從「目的地執行個體類型」選單中,選取「新叢集」。
- 按一下「開始遷移」。
資料庫遷移服務現在會建立遷移工作,並開始遷移程序。您可以監控遷移進度,以及 AlloyDB for PostgreSQL 中的目的地叢集健康狀態。詳情請參閱「查看叢集資訊」。
gcloud
如要使用 gcloud CLI 遷移至新的 AlloyDB 叢集,請執行下列步驟:
-
建立網路連結資源。
在來源資料庫所在的專案和虛擬私有雲網路中建立網路連結:gcloud compute network-attachments create NETWORK_ATTACHMENT \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ --producer-accept-list=DEST_PROJECT_ID \ --subnets=default \ --project=SOURCE_PROJECT_ID
更改下列內容:
NETWORK_ATTACHMENT:要建立的網路連結名稱。REGION:網路連結的區域。DEST_PROJECT_ID:目標專案的專案 ID。SOURCE_PROJECT_ID:來源網路所在的專案 ID。
-
允許資料庫遷移服務租戶專案存取網路連結。
執行驗證檢查來擷取租戶專案 ID,然後更新網路連結接受清單,加入該 ID:-
執行驗證檢查,擷取租戶專案 ID:
gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN \ --format="value(metadata.metadata.tenant_project_id)" \ --validate-only
更改下列內容:
PRIVATE_CONN:私有連線資源的名稱。REGION:私人連線的區域。NETWORK_ATTACHMENT_URI:在上一個步驟中建立的網路連結 URI。例如:projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT。
-
使用擷取的
DMS_TENANT_ID更新網路連結:gcloud compute network-attachments update NETWORK_ATTACHMENT \ --region=REGION \ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \ --project=SOURCE_PROJECT_ID
更改下列內容:
NETWORK_ATTACHMENT:網路連結的名稱。REGION:區域。DEST_PROJECT_ID:目標專案的專案 ID。DMS_TENANT_ID:擷取的資料庫遷移服務租戶專案 ID。SOURCE_PROJECT_ID:來源網路所在的專案 ID。
-
-
建立私人連線設定。
在目的地專案中建立私人連線:gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN
更改下列內容:
PRIVATE_CONN:私有連線資源的名稱。REGION:私人連線的區域。NETWORK_ATTACHMENT_URI:網路連結的 URI。
-
建立來源連線設定檔。
為來源 PostgreSQL 資料庫建立連線設定檔:gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \ --region=REGION \ --role=SOURCE \ --host=SOURCE_PRIVATE_IP \ --port=SOURCE_PORT \ --username=SOURCE_USER \ --password=SOURCE_PASSWORD \ --private-connection=PRIVATE_CONN \ --no-async
更改下列內容:
SOURCE_CONN_ID:來源連線設定檔的 ID。REGION:要儲存連線設定檔的區域。SOURCE_PRIVATE_IP:來源資料庫的私人 IP 位址。SOURCE_PORT:來源資料庫的通訊埠 (預設為 5432)。SOURCE_USER:來源資料庫中遷移使用者的使用者名稱。SOURCE_PASSWORD:來源資料庫中遷移使用者的密碼。PRIVATE_CONN:私有連線資源的名稱。
-
建立目的地 AlloyDB 叢集。
建立目的地叢集及其主要執行個體。如需詳細操作說明,請參閱「 建立叢集及其主要執行個體」頁面。 -
建立目的地連線設定檔。
建立目的地連線設定檔,指向新建立的 AlloyDB 叢集:gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \ --region=REGION \ --alloydb-cluster=DEST_CLUSTER \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
更改下列內容:
DEST_CONN_ID:目的地連線設定檔的 ID。REGION:要儲存連線設定檔的區域。這個區域必須與目標叢集區域相同。DEST_CLUSTER:目的地 AlloyDB for PostgreSQL 叢集的 ID 或完整資源路徑。DEST_USER:目標資料庫中遷移使用者的使用者名稱。DEST_PASSWORD:目標資料庫中遷移使用者的密碼。
-
建立遷移工作。
建立已啟用原生複製功能的連續遷移工作:gcloud database-migration migration-jobs create MIGRATION_JOB_ID \ --region=REGION \ --type=CONTINUOUS \ --source=SOURCE_CONN_ID \ --destination=DEST_CONN_ID \ --use-postgres-native \ --postgres-max-additional-subscriptions=10 \ --databases-filter=DATABASES_LIST \ --no-async
更改下列內容:
MIGRATION_JOB_ID:遷移工作 ID。REGION:要儲存遷移作業的區域。SOURCE_CONN_ID:來源連線設定檔 ID。DEST_CONN_ID:目的地連線設定檔 ID。DATABASES_LIST:以半形逗號分隔的資料庫清單,列出要遷移的資料庫。
-
啟動遷移工作。
啟動遷移工作,開始複製流程:gcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
更改下列內容:
MIGRATION_JOB_ID:遷移工作的 ID。REGION:遷移工作所在的區域。
現有叢集的快速遷移作業
如要將資料庫遷移至現有的 AlloyDB for PostgreSQL 叢集,請按照下列步驟操作:
控制台
- 前往「Clusters」(叢集) 頁面。
- 選取要遷移資料庫的 AlloyDB for PostgreSQL 叢集。
- 在叢集詳細資料頁面中,按一下「遷移資料」。
- 在「遷移資料」面板中,按一下「遷移資料庫」。
系統會開啟資料庫移轉服務的快速入門遷移表單。
- 在「設定遷移作業」部分,執行下列操作:
- 從「目的地區域」選單中,選取目的地 AlloyDB for PostgreSQL 叢集的區域。
- 在「遷移作業前置字串」方塊中,輸入要加到所有為快速啟動遷移作業建立的遷移實體名稱的字串,包括連線設定檔、私人連線設定、網路連結及其子網路,以及遷移作業。
- 從「設定類型」選單中,選取下列其中一個選項:
- 現有連線設定:如果您已有網路連結和私人連線設定,且這些設定在來源資料庫虛擬私有雲網路中使用 Private Service Connect 介面,請選取這個選項。如果您先前使用快速入門遷移作業,且想重複使用相同的網路資源,建議採用這個選項。
- 新的連線設定:選取這個選項,在來源資料庫虛擬私有雲網路中建立新的網路連結、網路連結子網路和私人連線設定。
- 在「連結來源」部分,執行下列操作:
- 輸入來源資料庫的「主機名稱」或私有「IP 位址」。來源資料庫位址必須可從來源虛擬私有雲網路連線。
- 輸入用來存取主機的通訊埠。預設的 PostgreSQL 通訊埠為
5432。 - 在來源資料庫中,輸入專用遷移帳戶的使用者名稱和密碼。
- 在「加密類型」選單中,選取下列其中一個選項:
- 無:如果來源資料庫不需要 SSL/TLS 加密連線。
- 必要:如果來源資料庫需要 SSL/TLS 加密連線,這個選項不需要驗證任何憑證。
- 在「要遷移的資料庫」選單中,按一下「自訂」。 使用側邊面板,只選取要遷移至 AlloyDB for PostgreSQL 的資料庫。
- 按一下「開始遷移」。
資料庫遷移服務現在會建立遷移工作,並開始遷移程序。您可以監控遷移進度,以及 AlloyDB for PostgreSQL 中的目的地叢集健康狀態。詳情請參閱「查看叢集資訊」。
gcloud
如要使用 gcloud CLI 遷移至現有的 AlloyDB 叢集,請執行下列步驟:
-
建立網路連結資源。
在來源資料庫所在的專案和虛擬私有雲網路中建立網路連結:gcloud compute network-attachments create NETWORK_ATTACHMENT \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ --producer-accept-list=DEST_PROJECT_ID \ --subnets=default \ --project=SOURCE_PROJECT_ID
更改下列內容:
NETWORK_ATTACHMENT:要建立的網路連結名稱。REGION:網路連結的區域。DEST_PROJECT_ID:目標專案的專案 ID。SOURCE_PROJECT_ID:來源網路所在的專案 ID。
-
允許資料庫遷移服務租戶專案存取網路連結。
執行驗證檢查來擷取租戶專案 ID,然後更新網路連結接受清單,加入該 ID:-
執行驗證檢查,擷取租戶專案 ID:
gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN \ --format="value(metadata.metadata.tenant_project_id)" \ --validate-only
更改下列內容:
PRIVATE_CONN:私有連線資源的名稱。REGION:私人連線的區域。NETWORK_ATTACHMENT_URI:在上一個步驟中建立的網路連結 URI。例如:projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT。
-
使用擷取的
DMS_TENANT_ID更新網路連結:gcloud compute network-attachments update NETWORK_ATTACHMENT \ --region=REGION \ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \ --project=SOURCE_PROJECT_ID
更改下列內容:
NETWORK_ATTACHMENT:網路連結的名稱。REGION:區域。DEST_PROJECT_ID:目標專案的專案 ID。DMS_TENANT_ID:擷取的資料庫遷移服務租戶專案 ID。SOURCE_PROJECT_ID:來源網路所在的專案 ID。
-
-
建立私人連線設定。
在目的地專案中建立私人連線:gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN
更改下列內容:
PRIVATE_CONN:私有連線資源的名稱。REGION:私人連線的區域。NETWORK_ATTACHMENT_URI:網路連結的 URI。
-
建立來源連線設定檔。
為來源 PostgreSQL 資料庫建立連線設定檔:gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \ --region=REGION \ --role=SOURCE \ --host=SOURCE_PRIVATE_IP \ --port=SOURCE_PORT \ --username=SOURCE_USER \ --password=SOURCE_PASSWORD \ --private-connection=PRIVATE_CONN \ --no-async
更改下列內容:
SOURCE_CONN_ID:來源連線設定檔的 ID。REGION:要儲存連線設定檔的區域。SOURCE_PRIVATE_IP:來源資料庫的私人 IP 位址。SOURCE_PORT:來源資料庫的通訊埠 (預設為 5432)。SOURCE_USER:來源資料庫中遷移使用者的使用者名稱。SOURCE_PASSWORD:來源資料庫中遷移使用者的密碼。PRIVATE_CONN:私有連線資源的名稱。
-
建立目的地連線設定檔。
建立目的地連線設定檔,指向預先建立的目的地 AlloyDB 叢集:gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \ --region=REGION \ --alloydb-cluster=DEST_CLUSTER \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
更改下列內容:
DEST_CONN_ID:目的地連線設定檔的 ID。REGION:要儲存連線設定檔的區域。這個區域必須與目標叢集區域相同。DEST_CLUSTER:目的地 AlloyDB for PostgreSQL 叢集的 ID 或完整資源路徑。DEST_USER:目標資料庫中遷移使用者的使用者名稱。DEST_PASSWORD:目標資料庫中遷移使用者的密碼。
-
建立遷移工作。
建立已啟用原生複製功能的連續遷移工作:gcloud database-migration migration-jobs create MIGRATION_JOB_ID \ --region=REGION \ --type=CONTINUOUS \ --source=SOURCE_CONN_ID \ --destination=DEST_CONN_ID \ --use-postgres-native \ --postgres-max-additional-subscriptions=10 \ --databases-filter=DATABASES_LIST \ --no-async
更改下列內容:
MIGRATION_JOB_ID:遷移工作 ID。REGION:要儲存遷移作業的區域。SOURCE_CONN_ID:來源連線設定檔 ID。DEST_CONN_ID:目的地連線設定檔 ID。DATABASES_LIST:以半形逗號分隔的資料庫清單,列出要遷移的資料庫。
-
啟動遷移工作。
啟動遷移工作,開始複製流程:gcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
更改下列內容:
MIGRATION_JOB_ID:遷移工作的 ID。REGION:遷移工作所在的區域。
完成遷移作業
決定將應用程式切換至新的 AlloyDB for PostgreSQL 執行個體後,請按照下列步驟完成遷移作業: