Mengimpor file DMP

Untuk memulihkan arsip database biner ke dalam cluster AlloyDB untuk PostgreSQL, Anda dapat mengimpor file DMP yang dibuat oleh alat pg_dump menggunakan format custom atau directory.

Untuk mengimpor file yang dibuat oleh alat pg_dump menggunakan format plain, lihat Mengimpor file SQL.

Prosedur untuk melakukan impor melibatkan tugas-tugas berikut:

  1. Upload file DMP ke bucket Cloud Storage.

  2. Siapkan host klien untuk melakukan operasi impor.

  3. Impor file DMP ke dalam database.

  4. Bersihkan resource yang dibuat untuk menjalankan prosedur.

Sebelum memulai

  • Anda harus memiliki peran IAM dasar Owner (roles/owner) atau Editor (roles/editor) di project Google Cloud yang Anda gunakan, atau Anda harus memiliki peran IAM yang telah ditetapkan berikut:
    • AlloyDB Admin (roles/alloydb.admin) atau AlloyDB Viewer (roles/alloydb.viewer)
    • Storage Admin (roles/storage.admin)
    • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)

Mengupload file DMP

Untuk mengupload file DMP, buat bucket Cloud Storage, lalu upload file DMP ke bucket tersebut.

  1. Buat bucket Standard Storage, Regional Storage di project dan region tempat database AlloyDB Anda berada.

  2. Upload file DMP ke bucket penyimpanan yang Anda buat.

Menyiapkan host klien

Untuk menyiapkan host klien agar dapat melakukan operasi impor, buat VM Compute Engine yang dapat terhubung ke instance utama AlloyDB tempat database Anda berada, lalu instal alat pg_restore dan Google Cloud CLI di VM tersebut.

  1. Ikuti petunjuk Menghubungkan klien psql ke instance untuk membuat VM Compute Engine dengan konektivitas yang tepat dan alat pg_restore yang terinstal. Saat mengikuti petunjuk ini, pastikan untuk mengalokasikan penyimpanan lokal yang cukup ke VM Compute Engine untuk menampung file DMP yang Anda impor.

  2. Instal gcloud CLI untuk memberikan akses command line ke file DMP di bucket Cloud Storage.

Mengimpor file DMP

Untuk mengimpor file DMP, dapatkan alamat IP instance utama AlloyDB tempat database Anda berada, lalu gunakan alat pg_restore untuk mengimpor file ke dalam database.

  1. Dapatkan alamat IP instance utama AlloyDB tempat database Anda berada dengan melihat detailnya.
  2. Lakukan SSH ke VM Compute Engine.

    Konsol

    1. Di konsol Google Cloud , buka halaman VM instances.

      Buka instance VM

    2. Di daftar instance virtual machine, klik SSH di baris instance yang Anda buat.

      Tombol SSH di samping nama instance.

    gcloud

    Gunakan perintah gcloud compute ssh untuk terhubung ke instance yang Anda buat.

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    Ganti kode berikut:

    • PROJECT_ID: ID project yang berisi instance.
    • ZONE: Nama zona tempat instance berada.
    • VM_NAME: nama instance
  3. Salin file DMP ke sistem file lokal host klien:
    gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
  4. Jalankan perintah berikut untuk membuat file TOC yang menjadikan semua pernyataan EXTENSION sebagai komentar:
    pg_restore \
    -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME

    Ganti kode berikut:

    • DMP_FILE_NAME: File DMP di sistem file lokal.
    • TOC_FILE_NAME: Berikan nama file untuk file TOC yang akan dibuat di sistem file lokal.
  5. Impor file DMP:
    pg_restore -h IP_ADDRESS -U postgres \
      -d DB_NAME \
      -L TOC_FILE_NAME \
      DMP_FILE_NAME

    Ganti kode berikut:

    • IP_ADDRESS: Alamat IP instance utama.
    • DB_NAME: Nama database yang akan diimpor.
    • TOC_FILE_NAME: File TOC yang Anda buat di langkah sebelumnya.
    • DMP_FILE_NAME: File DMP.

    Perintah pg_restore menyediakan beberapa opsi tambahan untuk mengontrol operasi impor data.

Membersihkan resource

Setelah berhasil mengimpor file DMP, Anda dapat menghapus bucket Cloud Storage dan menghapus VM Compute Engine yang Anda gunakan selama prosedur impor.