遷移作業總覽

本頁面提供將資料遷移入和遷移出 PostgreSQL 適用的 AlloyDB 的方法總覽。

正在匯入資料

您可以透過下列兩種方法將資料遷移至 AlloyDB:

  • 手動匯入含有您資料的檔案。

  • 使用 Google Cloud 資料庫遷移服務,將整個現有 PostgreSQL 執行個體的內容遷移至新的 AlloyDB 叢集。

從檔案匯入封存資料

AlloyDB 可讓您從 Cloud Storage bucket 中的檔案匯入資料。AlloyDB 支援多種資料匯入檔案格式,包括:

  • CSV,每個檔案包含一個表格的內容,並使用 psql 載入。

  • DMP:整個 PostgreSQL 資料庫的二進位歸檔,使用 pg_restore 匯入。

  • SQL:PostgreSQL 資料庫的純文字重建版本,以 psql 處理。

使用資料庫移轉服務遷移現有執行個體

除了手動匯入資料傾印檔案,您也可以使用 AlloyDB 適用的資料庫移轉服務。這項服務可將現有 PostgreSQL 執行個體的完整內容 (包括所有資料庫和中繼資料) 遷移至新的 AlloyDB 叢集。資料庫遷移服務可協助您將現有應用程式遷移至 AlloyDB,做為新的資料存放區,且停機時間極短。

匯入資料支援的語言代碼

AlloyDB 支援下列語言代碼

  • ICU 提供的完整語言代碼集。
  • libc 提供的一組有限語言代碼:
    • C.UTF-8
    • en_US.utf8

如果想匯入 AlloyDB 的資料庫預設為libc 這裡列出的兩種以外的語言代碼,您還是可以匯入資料,但預設語言代碼不會一併匯入。為確保使用 ORDER BY 的 SQL 查詢能正確排序結果,您可能需要在匯入資料後採取額外步驟。

建議您允許新資料庫使用 AlloyDB 的預設語言代碼:C.UTF-8,由 libc 提供。然後,將排序規則與應用程式查詢可能涉及 ORDER BY 子句的任何資料欄建立關聯,並為每個資料欄命名適當的 ICU 排序規則。您可以透過 ALTER TABLE DDL 查詢執行這項操作,例如:

ALTER TABLE TABLE_NAME
    ALTER COLUMN COLUMN_NAME
    SET DATA TYPE COLUMN_DATA_TYPE
    COLLATE "COLLATION_NAME";

新的 AlloyDB 叢集會根據 ICU 提供的語言代碼定義數百個排序規則,您也可以使用 PostgreSQLCREATE COLLATION 設施新增更多排序規則。如要查看 AlloyDB 叢集上定義的 ICU 排序規則名稱完整清單,請在任一執行個體上執行下列查詢:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

除了以 ICU 為基礎的排序規則,AlloyDB 也支援名為 ucs_basic 的 PostgreSQL 內建排序規則。這個對照順序使用標準的 Unicode 碼位順序,因此排序效率特別高。建議搭配使用適當排序順序與 Unicode 碼位清單相符的資料欄。

正在匯出資料

您可以使用指令列公用程式,將 AlloyDB 資料匯出至 Cloud Storage 值區中儲存的檔案,格式如下:

  • CSV:每個檔案匯出一個表格, 使用 psql

  • DMP,使用 pg_dump 建立整個資料庫的可攜式二進位封存檔。

  • SQL,使用 pg_dump 建立 DDL 和 SQL 陳述式清單,以重建資料庫。

後續步驟