All Products
Search
Document Center

Data Transmission Service:Migrasi data penuh dari database PostgreSQL yang dikelola sendiri ke instance ApsaraDB RDS for PostgreSQL

Last Updated:Jul 06, 2025

Topik ini menjelaskan cara memigrasikan data penuh dari database PostgreSQL yang dikelola sendiri ke instance ApsaraDB RDS for PostgreSQL menggunakan Data Transmission Service (DTS). DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Untuk migrasi data penuh, Anda dapat memilih migrasi skema dan migrasi data penuh saat mengonfigurasi tugas.

Informasi latar belakang

Prasyarat

  • Versi database PostgreSQL yang dikelola sendiri adalah 9.2, 9.3, 9.4, 9.5, 9.6, 10.x, 11, 12, atau 13.

  • Ruang penyimpanan yang tersedia di instance ApsaraDB RDS for PostgreSQL lebih besar daripada total ukuran data di database PostgreSQL yang dikelola sendiri.

  • Port layanan database PostgreSQL yang dikelola sendiri dapat diakses melalui Internet.

Batasan

  • DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan selama migrasi data penuh. Ini dapat meningkatkan beban server database. Jika performa database buruk, spesifikasi rendah, atau volume data besar, layanan database mungkin menjadi tidak tersedia. Misalnya, DTS menggunakan sejumlah besar sumber daya baca dan tulis dalam kasus berikut: banyak kueri SQL lambat dilakukan pada database sumber, tabel tidak memiliki kunci utama, atau terjadi deadlock di database tujuan. Sebelum memigrasikan data, evaluasi dampak migrasi data terhadap performa database sumber dan tujuan. Kami menyarankan Anda memigrasikan data selama jam non-puncak, misalnya ketika utilisasi CPU database sumber dan tujuan kurang dari 30%.

  • Nama database sumber tidak boleh mengandung tanda hubung (-). Contohnya, dts-testdata tidak diperbolehkan.

  • Tabel yang akan dimigrasikan di database sumber harus memiliki batasan PRIMARY KEY atau UNIQUE, dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

  • Tugas migrasi data hanya dapat memigrasikan data dari satu database saja. Untuk memigrasikan data dari beberapa database, Anda harus membuat tugas migrasi data untuk setiap database.

  • Untuk memastikan bahwa tugas migrasi data berjalan sesuai harapan, Anda hanya dapat melakukan switchover primer/sekunder pada instance ApsaraDB RDS for PostgreSQL 11. Dalam hal ini, Anda harus mengatur parameter rds_failover_slot_mode ke sync. Untuk informasi lebih lanjut, lihat Failover Slot Replikasi Logis.

    Peringatan

    Jika Anda melakukan switchover primer/sekunder pada database PostgreSQL yang dikelola sendiri atau instance ApsaraDB RDS for PostgreSQL versi lain selain 11, tugas migrasi data akan berhenti.

  • Jika tugas migrasi data gagal, DTS secara otomatis melanjutkan tugas tersebut. Sebelum memindahkan beban kerja Anda ke instance tujuan, hentikan atau lepaskan tugas migrasi data. Jika tidak, data di database sumber akan menimpa data di instance tujuan setelah tugas dilanjutkan.

  • Jika database sumber memiliki transaksi jangka panjang dan tugas mencakup migrasi data inkremental, log write-ahead logging (WAL) yang dihasilkan sebelum transaksi jangka panjang dikirimkan mungkin tidak dibersihkan dan oleh karena itu menumpuk, mengakibatkan ruang penyimpanan di database sumber tidak mencukupi.

Jenis migrasi

  • Migrasi Skema

    DTS memigrasikan skema objek ke database tujuan. DTS mendukung migrasi skema untuk jenis objek berikut: tabel, pemicu, tampilan, urutan, fungsi, tipe yang ditentukan pengguna, aturan, domain, operasi, dan agregat.

  • Migrasi Data Penuh

    DTS memigrasikan data historis objek dari database PostgreSQL yang dikelola sendiri ke database tujuan di instance ApsaraDB RDS for PostgreSQL.

Penagihan

Jenis migrasi

Biaya konfigurasi tugas

Biaya lalu lintas internet

Migrasi data penuh

Gratis.

Dikenakan biaya hanya jika data dimigrasikan dari Alibaba Cloud melalui Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

Izin yang diperlukan untuk akun database

Database

Migrasi skema

Migrasi data penuh

Database PostgreSQL yang dikelola sendiri

Izin USAGE pada pg_catalog

Izin SELECT pada objek yang akan dimigrasikan

Instance ApsaraDB RDS for PostgreSQL

Izin CREATE dan USAGE pada objek yang akan dimigrasikan

Izin pemilik skema

Untuk informasi lebih lanjut tentang cara membuat akun dan memberikan izin kepada akun, lihat topik-topik berikut:

Proses migrasi data penuh

Untuk mencegah kegagalan migrasi data yang disebabkan oleh dependensi antar objek, DTS memigrasikan skema dan data database PostgreSQL sumber dalam urutan berikut:

  1. Migrasikan skema tabel, tampilan, urutan, fungsi, tipe yang ditentukan pengguna, aturan, domain, operasi, dan agregat.

    Catatan

    Fungsi yang ditulis dalam bahasa pemrograman C tidak dapat dimigrasikan.

  2. Migrasikan data penuh.

  3. Migrasikan skema pemicu dan kunci asing.

Persiapan

Buat database dan skema di instance ApsaraDB RDS for PostgreSQL tujuan berdasarkan informasi database dan skema objek yang akan dimigrasikan. Nama skema database sumber dan tujuan harus sama. Untuk informasi lebih lanjut, lihat Buat Database dan Kelola Akun Menggunakan Skema.

Prosedur

  1. Masuk ke Konsol DTS.

    Catatan

    Jika Anda dialihkan ke konsol Data Management (DMS), Anda dapat mengklik ikon old di image untuk pergi ke versi sebelumnya dari konsol DTS.

  2. Di panel navigasi di sebelah kiri, klik Data Migration.

  3. Di bagian atas halaman Migration Tasks, pilih wilayah tempat instance RDS berada.

  4. Di sudut kanan atas halaman, klik Create Migration Task.

  5. Konfigurasikan database sumber dan tujuan. Configure the source database and the destination database

    Bagian

    Parameter

    Deskripsi

    Tidak ada

    Nama Tugas

    Nama tugas yang DTS hasilkan secara otomatis. Kami menyarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas yang unik.

    Database Sumber

    Tipe Instance

    Tipe database sumber. Dalam contoh ini, User-Created Database with Public IP Address dipilih.

    Catatan

    Jika database mandiri sumber merupakan tipe lain, Anda harus menyiapkan lingkungan yang diperlukan untuk database tersebut. Untuk informasi lebih lanjut, lihat Ikhtisar persiapan.

    Wilayah Instance

    Jika Anda memilih User-Created Database with Public IP Address sebagai tipe instance, Anda tidak perlu mengatur parameter Instance Region.

    Catatan

    Jika daftar putih dikonfigurasi untuk database PostgreSQL yang dikelola sendiri, Anda harus menambahkan blok CIDR server DTS ke daftar putih database. Anda dapat mengklik Get IP Address Segment of DTS di sebelah Instance Region untuk mendapatkan blok CIDR server DTS.

    Tipe Database

    Tipe database sumber. Pilih PostgreSQL.

    Nama Host atau Alamat IP

    Titik akhir yang digunakan untuk terhubung ke database PostgreSQL yang dikelola sendiri. Dalam contoh ini, masukkan alamat IP publik.

    Nomor Port

    Nomor port layanan database PostgreSQL yang dikelola sendiri. Nomor port default adalah 5432.

    Nama Database

    Nama database PostgreSQL yang dikelola sendiri.

    Akun Database

    Akun yang digunakan untuk masuk ke database PostgreSQL yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan untuk akun, lihat Izin yang diperlukan untuk akun database.

    Kata Sandi Database

    Kata sandi akun database.

    Catatan

    Setelah Anda menentukan informasi tentang database sumber, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika informasi valid, pesan Passed akan muncul. Jika pesan Failed muncul, klik Check di sebelah Failed. Kemudian, modifikasi informasi berdasarkan hasil pemeriksaan.

    Database Tujuan

    Tipe Instance

    Tipe database tujuan. Pilih RDS Instance.

    Wilayah Instance

    Wilayah tempat instance ApsaraDB RDS for PostgreSQL tujuan berada.

    ID Instance RDS

    ID instance ApsaraDB RDS for PostgreSQL tujuan.

    Nama Database

    Nama database tujuan di instance ApsaraDB RDS for PostgreSQL. Nama tersebut bisa berbeda dari nama database PostgreSQL yang dikelola sendiri.

    Catatan

    Sebelum Anda mengonfigurasi tugas migrasi data, Anda harus membuat database dan skema di instance ApsaraDB RDS for PostgreSQL tujuan. Untuk informasi lebih lanjut, lihat Persiapan.

    Akun Database

    Akun database instance ApsaraDB RDS for PostgreSQL tujuan. Untuk informasi tentang izin yang diperlukan untuk akun, lihat Izin yang diperlukan untuk akun database.

    Kata Sandi Database

    Kata sandi akun database.

    Catatan

    Setelah Anda menentukan informasi tentang instance RDS, Anda dapat mengklik Test Connectivity di sebelah Database Password untuk memeriksa apakah informasi tersebut valid. Jika informasi valid, pesan Passed akan muncul. Jika pesan Failed muncul, klik Check di sebelah Failed. Kemudian, modifikasi informasi berdasarkan hasil pemeriksaan.

  6. Di sudut kanan bawah halaman, klik Set Whitelist and Next.

    Peringatan

    Jika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum menggunakan DTS untuk memigrasikan data, Anda harus memahami dan mengakui potensi risiko serta mengambil langkah-langkah pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: tingkatkan keamanan nama pengguna dan kata sandi, batasi port yang diekspos, autentikasi panggilan API, periksa daftar putih atau aturan grup keamanan ECS secara berkala dan larang blok CIDR yang tidak sah, atau hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.

  7. Pilih jenis migrasi dan objek yang ingin Anda migrasikan. Select the migration types and the objects that you want to migrate

    Pengaturan

    Deskripsi

    Pilih Jenis Migrasi

    • Untuk hanya melakukan migrasi data penuh, pilih Schema Migration dan Full Data Migration.

    • Untuk memastikan kontinuitas layanan selama migrasi data, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.

    Dalam contoh ini, Anda harus memilih Schema Migration dan Full Data Migration.

    Catatan

    Untuk memastikan konsistensi data, kami menyarankan agar Anda tidak menulis data ke database PostgreSQL yang dikelola sendiri selama migrasi data penuh.

    Pilih Objek yang Ingin Anda Migrasikan

    Pilih satu atau lebih objek dari bagian Available dan klik ikon Rightwards arrow untuk menambahkan objek ke bagian Selected.

    Catatan
    • Anda dapat memilih kolom, tabel, atau skema sebagai objek yang akan dimigrasikan.

    • Secara default, setelah objek dimigrasikan ke database tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang dimigrasikan ke database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.

    • Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, objek lain yang bergantung pada objek tersebut mungkin gagal dimigrasikan.

    Tentukan Apakah Akan Mengganti Nama Objek

    Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang dimigrasikan ke kluster tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.

    Tentukan Rentang Waktu Percobaan Ulang untuk Koneksi Gagal ke Database Sumber atau Tujuan

    Secara default, jika DTS gagal terhubung ke database sumber dan tujuan, DTS akan mencoba kembali dalam 12 jam berikutnya. Anda dapat menentukan rentang waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Jika DTS berhasil tersambung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS akan melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

    Catatan

    Selama rentang waktu DTS mencoba tersambung kembali ke database sumber dan tujuan, Anda akan dikenakan biaya untuk instance DTS. Kami menyarankan Anda menentukan rentang waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS secepat mungkin setelah database sumber dan tujuan dilepaskan.

  8. Klik Precheck.

    Catatan
    • Pemeriksaan awal dilakukan sebelum tugas migrasi dimulai. Tugas migrasi hanya akan dimulai setelah pemeriksaan awal berhasil.

    • Jika pemeriksaan awal gagal, klik ikon Note di sebelah setiap item pemeriksaan yang gagal untuk melihat detail terkait. Perbaiki masalah sesuai instruksi dan jalankan pemeriksaan awal lagi.

  9. Klik Next.

  10. Di kotak dialog Confirm Settings, konfigurasikan parameter Channel Specification. Kemudian, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

  11. Klik Buy and Start untuk memulai tugas migrasi data.

    Catatan

    Kami menyarankan agar Anda tidak secara manual menghentikan tugas selama migrasi data penuh. Jika tidak, data yang dimigrasikan ke database tujuan mungkin tidak lengkap. Anda dapat menunggu hingga tugas migrasi data berhenti secara otomatis.

  12. Pindahkan beban kerja Anda ke instance RDS tujuan.

Apa yang harus dilakukan selanjutnya

Akun database yang digunakan untuk migrasi data memiliki izin baca dan tulis. Setelah migrasi data selesai, Anda harus menghapus akun dari database PostgreSQL yang dikelola sendiri dan instance ApsaraDB RDS for PostgreSQL untuk memastikan keamanan.