Ringkasan migrasi

Untuk memindahkan database ke dalam atau ke luar AlloyDB untuk PostgreSQL, Anda dapat memigrasikan instance PostgreSQL aktif dengan periode nonaktif minimal menggunakan Database Migration Service atau mengimpor dan mengekspor file CSV, DMP, dan SQL yang disimpan di Cloud Storage.

Mengimpor data

Anda dapat memigrasikan data ke AlloyDB melalui dua metode:

Mengimpor data yang diarsipkan dari file

AlloyDB memungkinkan Anda mengimpor data dari file yang berada di bucket Cloud Storage. AlloyDB mendukung berbagai format file untuk impor data, termasuk:

  • CSV, dengan konten satu tabel per file, dimuat menggunakan psql.

  • DMP, arsip biner dari seluruh database PostgreSQL, yang diimpor menggunakan pg_restore.

  • SQL, rekonstruksi teks biasa dari database PostgreSQL, yang diproses dengan psql.

Memigrasikan instance aktif dengan Database Migration Service

Sebagai alternatif untuk mengimpor file dump data secara manual, Anda dapat menggunakan Database Migration Service untuk AlloyDB. Layanan ini memungkinkan Anda memigrasikan seluruh konten instance PostgreSQL yang aktif—termasuk semua database dan metadatanya—ke cluster AlloyDB baru. Database Migration Service dapat membantu Anda mentransisikan aplikasi yang ada untuk menggunakan AlloyDB sebagai datastore barunya dengan periode nonaktif minimal.

Lokalitas yang didukung untuk data yang diimpor

AlloyDB mendukung lokalitas berikut:

  • Set lengkap lokalitas yang disediakan ICU.
  • Sekumpulan lokalitas terbatas yang disediakan oleh libc:
    • C.UTF-8
    • en_US.utf8

Jika database yang ingin Anda impor ke AlloyDB ditetapkan secara default ke lokalitas libc selain dua lokalitas yang tercantum di sini, Anda tetap dapat mengimpor data, tetapi setelan default tersebut tidak akan diterapkan. Untuk memastikan bahwa kueri SQL yang menggunakan ORDER BY mengurutkan hasilnya dengan benar, Anda mungkin perlu melakukan langkah-langkah tambahan setelah mengimpor data.

Google merekomendasikan agar database baru Anda menggunakan lokalitas default untuk AlloyDB: C.UTF-8, yang disediakan oleh libc. Kemudian, kaitkan kolasi dengan kolom apa pun yang mungkin disertakan dalam kueri aplikasi Anda dalam klausa ORDER BY, dengan memberi nama kolasi berbasis ICU yang sesuai untuk masing-masing kolom. Anda dapat melakukannya melalui kueri DDL ALTER TABLE, seperti berikut:

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

Ganti kode berikut:

  • TABLE_NAME: nama tabel yang berisi kolom.
  • COLUMN_NAME: nama kolom yang akan diperbarui.
  • COLUMN_DATA_TYPE: jenis data kolom.
  • COLLATION_NAME: nama pemeriksaan berbasis ICU yang akan diterapkan.

Cluster AlloyDB baru menentukan ratusan pemeriksaan berdasarkan lokalitas yang disediakan ICU, dan Anda dapat menambahkan lebih banyak lagi menggunakan fasilitas CREATE COLLATION PostgreSQL. Untuk melihat daftar lengkap nama kolasi berbasis ICU yang ditentukan di cluster AlloyDB, jalankan kueri berikut di salah satu instance-nya:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

Selain pemeriksaan berbasis ICU, AlloyDB mendukung pemeriksaan bawaan PostgreSQL bernama ucs_basic. Kolasi ini menggunakan urutan standar poin kode Unicode untuk memungkinkan pengurutan yang sangat efisien. Google merekomendasikan penggunaannya dengan kolom yang tata urutan yang sesuai cocok dengan daftar poin kode Unicode.

Mengekspor data

Anda dapat menggunakan utilitas command line untuk mengekspor data AlloyDB ke dalam file yang disimpan di bucket Cloud Storage, dalam berbagai format:

  • CSV, mengekspor satu tabel per file, menggunakan psql.

  • DMP, menggunakan pg_dump untuk membuat arsip biner portabel dari seluruh database Anda.

  • SQL, menggunakan pg_dump untuk membuat daftar pernyataan DDL dan pernyataan SQL guna merekonstruksi database Anda.

Langkah berikutnya