全部产品
Search
文档中心

PolarDB:Migrasi data dari instans RDS PostgreSQL ke kluster PolarDB for PostgreSQL

更新时间:Nov 11, 2025

Topik ini menjelaskan cara menggunakan perintah pg_dump dan pg_restore untuk melakukan migrasi data dari database RDS PostgreSQL ke kluster PolarDB for PostgreSQL.

Jika sumbernya adalah database PostgreSQL yang dikelola sendiri, lihat Migrasi data dari database PostgreSQL yang dikelola sendiri ke kluster PolarDB for PostgreSQL.

Cakupan

  • Instans RDS PostgreSQL: Instans Serverless tidak didukung untuk metode migrasi ini.

  • Ruang penyimpanan: Ruang penyimpanan kluster PolarDB for PostgreSQL harus lebih besar daripada ruang penyimpanan database RDS PostgreSQL.

Catatan penggunaan

Ini merupakan migrasi data penuh. Untuk mencegah inkonsistensi data, hentikan semua layanan yang terhubung ke database RDS PostgreSQL dan hentikan penulisan data sebelum memulai migrasi.

Persiapan

  1. Buat instans Elastic Compute Service (ECS) Linux. Dalam contoh ini, digunakan instans ECS yang menjalankan Ubuntu 16.04 64-bit. Untuk informasi selengkapnya, lihat Buat instans ECS.

    Catatan
    • Instans ECS harus memiliki konektivitas jaringan ke database RDS PostgreSQL sumber dan kluster PolarDB for PostgreSQL tujuan.

    • Anda dapat membuat instans ECS bayar sesuai penggunaan dan melepaskannya setelah migrasi selesai.

  2. Instal klien PostgreSQL pada instans ECS untuk menjalankan perintah pemulihan data. Untuk informasi selengkapnya, lihat dokumentasi resmi PostgreSQL.

    Catatan

    Pastikan versi klien PostgreSQL yang diinstal kompatibel dengan versi database RDS PostgreSQL sumber dan kluster PolarDB for PostgreSQL tujuan.

Langkah 1: Mencadangkan database RDS PostgreSQL

Ini merupakan migrasi data penuh. Untuk mencegah inkonsistensi data, hentikan semua layanan yang terhubung ke database RDS PostgreSQL dan hentikan penulisan data sebelum memulai migrasi.

  1. Pada instans ECS, jalankan perintah berikut untuk mencadangkan database.

    pg_dump -U <username> -h <hostname> -p <port> <dbname> -Fd -j <njobs> -f <dumpdir>

    Parameter:

    • <username>: Akun database yang digunakan untuk masuk ke database RDS PostgreSQL.

    • <hostname>: Titik akhir database RDS PostgreSQL. Untuk melihat titik akhir database, lihat Lihat atau ubah titik akhir dan nomor port.

    • <port>: Nomor port layanan database.

    • <dbname>: Nama database yang ingin Anda hubungkan. Nilai default-nya adalah postgres.

    • <njobs>: Jumlah pekerjaan pencadangan konkuren.

      Catatan
      • Parameter <njobs> mengurangi waktu dump tetapi meningkatkan beban pada server database.

      • Jika database RDS PostgreSQL Anda merupakan versi sebelum 9.2, Anda juga harus menentukan parameter --no-synchronized-snapshots.

    • <dumpdir>: Direktori untuk file cadangan yang dihasilkan.

    Contoh:

    pg_dump -U postgres -h pgm-xxxxxxxxx.pg.rds.aliyuncs.com -p 5432 postgres -Fd -j 5 -f postgresdump
  2. Saat diminta memasukkan Password:, masukkan kata sandi akun database untuk memulai pencadangan.

  3. Tunggu hingga pencadangan selesai. Data dari database RDS PostgreSQL dicadangkan ke direktori yang ditentukan. Dalam contoh ini, direktorinya adalah postgresdump.

Langkah 2: Migrasi data ke kluster PolarDB for PostgreSQL

  1. Buat akun database di kluster PolarDB for PostgreSQL tujuan. Untuk informasi selengkapnya, lihat Buat akun database dan Izin akun.

  2. Di kluster PolarDB for PostgreSQL tujuan, buat database untuk pemulihan data. Tentukan pemilik database sebagai akun yang Anda buat pada langkah sebelumnya. Untuk informasi selengkapnya, lihat Buat database.

  3. Pada instans ECS, jalankan perintah berikut untuk memigrasikan data dari database RDS PostgreSQL ke kluster PolarDB for PostgreSQL.

    pg_restore -U <username> -h <hostname> -p <port> -d <dbname> -j <njobs> <dumpdir>

    Parameter:

    • <username>: Akun database yang digunakan untuk masuk ke database PolarDB for PostgreSQL.

    • <hostname>: Titik akhir kluster PolarDB for PostgreSQL.

    • <port>: Nomor port layanan database. Untuk informasi selengkapnya, lihat Lihat titik akhir dan nomor port.

    • <dbname>: Nama database tujuan tempat Anda ingin menghubungkan dan memulihkan data.

    • <njobs>: Jumlah pekerjaan pemulihan data konkuren.

      Catatan

      Opsi ini mengurangi waktu pemulihan data tetapi meningkatkan beban pada server database.

    • <dumpdir>: Direktori yang berisi file cadangan.

    Contoh:

    pg_restore -U gctest -h pc-mxxxxxxxx.pg.polardb.cn-qd-pldb1.rds.aliyuncs.com -p 1921 -d postgres -j 6 postgresdump
  4. Saat diminta memasukkan Password:, masukkan kata sandi akun database untuk memulai migrasi data.

    Catatan

    Jika Anda lupa kata sandi, lihat Kelola akun database.

Tunggu hingga migrasi data selesai.