本頁面提供將資料遷移入和遷移出 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 陳述式清單,以重建資料庫。