Anda dapat menggunakan fitur unduhan cadangan dari ApsaraDB RDS untuk PostgreSQL untuk mengekspor file cadangan snapshot dari instance ApsaraDB RDS untuk PostgreSQL yang menggunakan disk cloud sebagai file CSV atau file SQL. Kemudian, Anda dapat menggunakan file tersebut untuk memulihkan data dari instance RDS ke instance PostgreSQL yang dikelola sendiri.
Prosedur
Bagian ini menjelaskan cara menggunakan file SQL untuk memulihkan data dari instance RDS yang menggunakan disk cloud ke instance PostgreSQL yang dikelola sendiri pada instance Elastic Compute Service (ECS) yang menjalankan CentOS 7.8 64-bit. Jika Anda menggunakan sistem operasi lain, gunakan perintah yang sesuai untuk menghindari kesalahan.
Masuk ke konsol ApsaraDB RDS dan konversikan file cadangan dari instance RDS yang menggunakan disk cloud menjadi file CSV atau file SQL, lalu unduh file tersebut ke komputer atau instance ECS Anda. Untuk informasi lebih lanjut, lihat Unduh file cadangan.
Jalankan perintah berikut untuk mengekstrak paket yang diunduh:
tar -zxvf <Nama paket>.tar.gz -C <Direktori untuk menyimpan file yang diperoleh dari paket>Dalam contoh ini, paket bernama
backup.tar.gzdiekstrak ke direktori/home/ecs-test-user. Anda dapat mengganti nama paket dan direktori dengan nama sebenarnya.tar -zxvf backup.tar.gz -C /home/ecs-test-userOpsional. Periksa apakah file cadangan telah diekstrak ke direktori /home/ecs-test-user.
ls -al /home/ecs-test-userUnduh Skrip Python PostgreSQL ke komputer atau instance ECS Anda.
Jalankan perintah berikut untuk memberikan izin yang diperlukan pada file
restore_from_downloads.py:chmod +x ./restore_from_downloads.pyJalankan perintah berikut untuk memulihkan data dari instance RDS ke instance PostgreSQL yang dikelola sendiri menggunakan file CSV atau file SQL:
python3 restore_from_downloads.py <Direktori file CSV atau file SQL> <Host database> <Port database> <Nama pengguna akun> <Kata sandi akun>Contoh
python3 restore_from_downloads.py /home/ecs-test-user 127.0.0.1 5432 postgres "#Tes********"PentingJika instance PostgreSQL yang dikelola sendiri berisi database dengan nama yang sama dengan database yang ingin Anda impor, impor akan gagal.
Jika nama pengguna atau kata sandi akun yang digunakan mengandung karakter khusus seperti tanda pagar (#) atau spasi, apit nama pengguna atau kata sandi dengan tanda kutip ganda (""). Sebagai contoh, jika kata sandinya adalah
#1234, masukkan"#1234"dalam perintah di atas.Jika Python 3.x belum diinstal, kesalahan mungkin terjadi selama pemulihan data. Jalankan perintah
python3 --versionuntuk memeriksa versi Python.
Referensi
Untuk memulihkan sejumlah kecil data, seperti data dari tabel, Anda dapat menggunakan file cadangan logis. Untuk informasi lebih lanjut, lihat Gunakan pg_restore untuk memulihkan data dari file cadangan logis.
Anda juga dapat menggunakan layanan migrasi yang disediakan oleh Alibaba Cloud untuk memigrasikan data dari instance RDS ke instance PostgreSQL yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Migrasikan data dari database PostgreSQL.
Untuk informasi lebih lanjut tentang metode pemulihan data, lihat Ikhtisar metode pemulihan data.