全部产品
Search
文档中心

ApsaraDB RDS:Gunakan pg_restore untuk memulihkan data dari file cadangan logis

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan pg_restore untuk memulihkan data dari file cadangan logis dengan akhiran .dump ke instance ApsaraDB RDS for PostgreSQL atau database PostgreSQL lokal.

Catatan
  • Untuk sejumlah kecil data, seperti data dalam tabel, disarankan menggunakan file cadangan logis untuk pemulihan. Untuk sejumlah besar data, disarankan memulihkannya dari file cadangan fisik penuh ke instance RDS baru dan kemudian menggunakan Data Transmission Service (DTS) untuk migrasi data ke instance RDS asli. Untuk informasi lebih lanjut, lihat Migrasikan Data Antar Instance ApsaraDB RDS for PostgreSQL.

  • Untuk detail lebih lanjut tentang metode pemulihan data, lihat Pemulihan.

Prasyarat

Cadangan logis telah dibuat untuk instance RDS Anda. Untuk informasi lebih lanjut, lihat Buat Cadangan Logis untuk Instance ApsaraDB RDS for PostgreSQL.

Catatan penggunaan

  • Disarankan untuk tidak memulihkan data ke database Postgres default.

  • Saat memulihkan data tabel, sistem tidak akan memulihkan objek database yang menjadi dependensi tabel tersebut. Pemulihan mungkin gagal.

Pulihkan data database

  1. Masuk ke instance Elastic Compute Service (ECS) atau host lokal yang menyimpan file cadangan logis, lalu jalankan perintah berikut untuk memulihkan data database:

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -c <dumpdir>

    Parameter

    Deskripsi

    hostname

    Titik akhir yang digunakan untuk terhubung ke instance RDS.

    Catatan

    username

    Nama pengguna akun istimewa instance RDS.

    port

    Port yang digunakan untuk terhubung ke instance RDS.

    dbname

    Nama database yang ingin Anda pulihkan datanya.

    -c (opsional)

    -c menentukan apakah akan menghapus data database yang diperlukan sebelum pemulihan data. Untuk informasi lebih lanjut, lihat pg_restore.

    dumpdir

    Direktori dan nama file cadangan logis.

    Contoh:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht02 -c /tmp/testdb.dump
  2. Masukkan kata sandi akun istimewa instance RDS jika Password: muncul di CLI, lalu tekan tombol Enter.

    image.png

    Catatan

    Anda dapat mengabaikan peringatan yang dihasilkan oleh ekstensi plpgsql bawaan.

Pulihkan data tabel

  1. Masuk ke instance ECS atau host lokal yang menyimpan file cadangan logis, lalu jalankan perintah berikut untuk memulihkan data tabel:

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -t <table> -c <dumpdir>

    Parameter

    Deskripsi

    hostname

    Titik akhir yang digunakan untuk terhubung ke instance RDS.

    Catatan

    username

    Nama pengguna akun istimewa instance RDS.

    port

    Port yang digunakan untuk terhubung ke instance RDS.

    dbname

    Nama database yang ingin Anda pulihkan datanya.

    table

    Nama tabel yang ingin Anda pulihkan datanya.

    -c (opsional)

    -c menentukan apakah akan menghapus data database yang diperlukan sebelum pemulihan data. Untuk informasi lebih lanjut, lihat pg_restore.

    dumpdir

    Direktori dan nama file cadangan logis.

    Contoh:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht01 -t zhttest0808 -c /tmp/testdb2.dump
  2. Masukkan kata sandi akun istimewa instance RDS jika Password: muncul di CLI, lalu tekan tombol Enter.

    image.png

Pulihkan skema database tanpa termasuk data

  1. Masuk ke instance ECS atau host lokal yang menyimpan file cadangan logis, lalu jalankan perintah berikut untuk hanya memulihkan skema database:

    pg_restore -h '<hostname>' -U <username> -p <port> -d <dbname> -s <dumpdir>

    Parameter

    Deskripsi

    hostname

    Titik akhir yang digunakan untuk terhubung ke instance RDS.

    Catatan

    username

    Nama pengguna akun istimewa instance RDS.

    port

    Port yang digunakan untuk terhubung ke instance RDS.

    dbname

    Nama database yang ingin Anda pulihkan skemanya.

    -s

    -s: menentukan untuk hanya memulihkan skema database. Data database tidak dipulihkan. Untuk informasi lebih lanjut, lihat pg_restore.

    dumpdir

    Direktori dan nama file cadangan logis.

    Contoh:

    pg_restore -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -d zht03 -s /tmp/testdb2.dump
  2. Masukkan kata sandi akun istimewa instance RDS jika Password: muncul di CLI, lalu tekan tombol Enter.

    image.png

    Catatan

    Anda dapat mengabaikan peringatan yang dihasilkan oleh ekstensi plpgsql tertanam.