全部产品
Search
文档中心

Data Transmission Service:Migrasi data dari database PostgreSQL yang dikelola sendiri ke PolarDB for PostgreSQL

更新时间:Nov 21, 2025

Topik ini menjelaskan cara migrasi data dari database PostgreSQL yang dikelola sendiri ke klaster PolarDB for PostgreSQL menggunakan Data Transmission Service (DTS).

Prasyarat

  • Anda telah membuat klaster database tujuan PolarDB for PostgreSQL. Untuk informasi selengkapnya, lihat Buat klaster PolarDB for PostgreSQL.

    Catatan

    Untuk informasi mengenai versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi data.

  • Ruang penyimpanan klaster tujuan PolarDB for PostgreSQL harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans PostgreSQL yang dikelola sendiri sumber.

Peringatan

Catatan
  • Selama migrasi skema, DTS memigrasikan kunci asing dari database sumber ke database tujuan.

  • Selama migrasi data penuh dan migrasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat sesi. Jika Anda melakukan operasi pembaruan dan penghapusan kaskade pada database sumber selama migrasi data, ketidakkonsistenan data dapat terjadi.

Kategori

Deskripsi

Batasan pada database sumber

  • Server yang menghosting database sumber harus memiliki bandwidth keluar yang cukup. Jika tidak, kecepatan migrasi data akan terpengaruh.

  • Tabel yang akan dimigrasikan harus memiliki kunci primer atau kendala UNIK, dan kolom dalam kendala tersebut harus unik. Jika tidak, data duplikat mungkin muncul di database tujuan.

    Catatan

    Jika tabel tujuan tidak dibuat oleh DTS (yaitu, Anda tidak memilih Schema Migration untuk Migration Types), Anda harus memastikan bahwa tabel tersebut memiliki kunci primer atau kendala UNIK yang tidak kosong sama seperti tabel sumber. Jika tidak, data duplikat mungkin muncul di database tujuan.

    Nama database yang akan dimigrasikan tidak boleh mengandung tanda hubung (-). Misalnya, dts-testdata.

  • Jika Anda memigrasikan objek di tingkat tabel dan perlu mengeditnya, seperti dengan memetakan nama tabel atau kolom, satu tugas migrasi data mendukung maksimal 1.000 tabel. Jika Anda melebihi batas ini, kesalahan permintaan akan dilaporkan setelah Anda mengirimkan tugas. Dalam kasus ini, bagi tabel menjadi beberapa tugas migrasi, atau konfigurasikan satu tugas untuk memigrasikan seluruh database.

  • Untuk migrasi inkremental, perhatikan persyaratan berikut untuk file write-ahead log (WAL):

    • Atur parameter wal_level ke logical.

    • Untuk tugas migrasi inkremental, DTS mengharuskan database sumber menyimpan file WAL lebih dari 24 jam. Untuk tugas yang mencakup migrasi penuh dan inkremental, DTS mengharuskan database sumber menyimpan file WAL minimal tujuh hari. Setelah migrasi penuh selesai, Anda dapat mengubah periode retensi menjadi lebih dari 24 jam. Jika periode retensi terlalu singkat, tugas mungkin gagal karena DTS tidak dapat memperoleh file WAL yang diperlukan. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidakkonsistenan data atau kehilangan data. Masalah yang disebabkan oleh periode retensi log yang lebih pendek dari yang dipersyaratkan tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

  • Batasan pada operasi di database sumber:

    • Jika Anda melakukan alih bencana primer/sekunder pada database PostgreSQL yang dikelola sendiri, tugas migrasi akan gagal.

    • Selama migrasi data penuh, jangan lakukan operasi DDL untuk mengubah skema database atau tabel. Jika tidak, tugas migrasi data akan gagal.

    • Karena batasan replikasi logis di database sumber, jika satu bagian data inkremental yang akan dimigrasikan melebihi 256 MB selama migrasi, instans DTS mungkin gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans DTS.

    • Jika Anda hanya melakukan migrasi data penuh, jangan menulis data baru ke database sumber. Jika tidak, data di database sumber dan tujuan akan tidak konsisten. Untuk menjaga konsistensi data secara real-time, pilih migrasi data penuh dan migrasi data inkremental.

  • Jika database sumber memiliki transaksi jangka panjang dan tugas mencakup migrasi inkremental, file WAL yang dihasilkan sebelum transaksi dikomit dapat menumpuk. Hal ini dapat menyebabkan ruang disk database sumber menjadi tidak mencukupi.

  • Jika instans sumber adalah Google Cloud Platform Cloud SQL for PostgreSQL, Anda harus menentukan akun yang memiliki izin cloudsqlsuperuser untuk Database Account database sumber. Saat memilih objek migrasi, Anda harus memilih objek yang dikelola oleh akun ini, atau memberikan izin Pemilik kepada akun ini untuk objek yang akan dimigrasikan (misalnya, dengan menjalankan perintah GRANT <owner_of_objects_to_migrate> TO <source_db_account_for_task> agar akun ini dapat menjalankan operasi terkait sebagai pemilik objek).

    Catatan

    Akun dengan izin `cloudsqlsuperuser` tidak dapat mengelola data yang dimiliki oleh akun lain dengan izin `cloudsqlsuperuser`.

  • Jika Anda melakukan peningkatan versi mesin utama pada database sumber saat instans DTS sedang berjalan, instans akan gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi ulang instans DTS.

Batasan lainnya

  • Jika instans DTS melakukan tugas migrasi data inkremental, Anda harus menjalankan perintah ALTER TABLE schema.table REPLICA IDENTITY FULL; pada tabel yang akan dimigrasikan di database sumber sebelum menulis data ke dalamnya. Hal ini berlaku untuk dua skenario berikut dan memastikan konsistensi data. Selama menjalankan perintah ini, kami menyarankan agar Anda tidak melakukan operasi penguncian tabel. Jika tidak, tabel mungkin terkunci. Jika Anda melewati pemeriksaan terkait dalam Pemeriksaan Awal, DTS akan secara otomatis menjalankan perintah ini selama inisialisasi instans.

    • Saat instans dijalankan pertama kali.

    • Saat granularitas objek migrasi adalah Skema, dan tabel baru dibuat dalam skema yang akan dimigrasikan atau tabel yang akan dimigrasikan dibangun ulang menggunakan perintah RENAME.

    Catatan
    • Dalam perintah tersebut, ganti schema dan table dengan nama skema dan nama tabel dari data yang akan dimigrasikan.

    • Kami menyarankan agar Anda melakukan operasi ini di luar jam sibuk.

  • Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL, database sumber secara otomatis membuat Sequence untuk kolom tersebut. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Anda memilih Schema Migration untuk Migration Types, kami menyarankan agar Anda juga memilih Sequence atau melakukan migrasi skema penuh. Jika tidak, instans migrasi mungkin gagal.

  • Untuk tugas migrasi penuh atau inkremental, jika tabel yang akan dimigrasikan di database sumber berisi kunci asing, pemicu, atau pemicu event, DTS sementara mengatur nilai parameter session_replication_role menjadi 'replica' di tingkat sesi jika akun database tujuan adalah akun istimewa. Jika akun database tujuan tidak memiliki izin ini, Anda harus mengatur nilai parameter session_replication_role menjadi 'replica' secara manual di database tujuan. Selama periode ini (saat nilai parameter session_replication_role adalah 'replica' selama migrasi penuh atau inkremental), jika terjadi operasi pembaruan atau penghapusan kaskade di database sumber, ketidakkonsistenan data dapat terjadi. Setelah tugas migrasi DTS dilepas, Anda dapat mengubah nilai parameter session_replication_role kembali menjadi 'origin'.

  • DTS membuat tabel sementara berikut di database sumber untuk memperoleh pernyataan DDL dari data inkremental, skema tabel inkremental, dan informasi heartbeat. Selama migrasi data, jangan menghapus tabel sementara di database sumber. Jika tidak, tugas DTS mungkin menjadi abnormal. Setelah instans DTS dilepas, tabel sementara akan dihapus secara otomatis.

    public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session, dan public.aliyun_dts_instance.

  • Untuk memastikan akurasi latensi yang ditampilkan untuk migrasi data inkremental, DTS membuat tabel heartbeat bernama dts_postgres_heartbeat di database sumber.

  • Selama migrasi data inkremental, DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Dengan slot replikasi ini, DTS dapat mengambil log inkremental dari database sumber dari 15 menit terakhir.

    Catatan

    Jika tugas migrasi data dilepas atau gagal, DTS secara otomatis membersihkan slot replikasi. Jika terjadi alih bencana primer/sekunder pada instans RDS for PostgreSQL, Anda harus masuk ke database sekunder untuk membersihkan slot replikasi secara manual.

  • Satu tugas migrasi data hanya dapat memigrasikan data dari satu database. Untuk memigrasikan data dari beberapa database, Anda harus membuat tugas migrasi data untuk masing-masing database.

  • DTS tidak mendukung migrasi tabel ekstensi TimescaleDB atau tabel dengan pewarisan lintas-skema.

  • Sebelum memigrasikan data, evaluasi kinerja database sumber dan tujuan. Migrasikan data di luar jam sibuk. Selama migrasi data penuh, DTS mengonsumsi sumber daya baca dan tulis di kedua database sumber dan tujuan. Hal ini dapat meningkatkan beban server database.

  • Migrasi data penuh melibatkan operasi INSERT konkuren, yang menyebabkan fragmentasi pada tabel database tujuan. Setelah migrasi penuh selesai, ruang penyimpanan yang digunakan oleh tabel di database tujuan lebih besar daripada di database sumber.

  • Pastikan presisi migrasi untuk kolom FLOAT atau DOUBLE memenuhi kebutuhan bisnis Anda. DTS membaca nilai dari kolom tersebut menggunakan fungsi ROUND(COLUMN,PRECISION). Jika Anda tidak menentukan presisi, DTS menggunakan presisi 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • DTS mencoba melanjutkan tugas migrasi data yang gagal dalam tujuh hari terakhir. Sebelum mengalihkan bisnis Anda ke instans tujuan, hentikan atau lepaskan tugas tersebut. Anda juga dapat menggunakan perintah revoke untuk mencabut izin tulis dari akun yang digunakan DTS untuk mengakses instans tujuan. Hal ini mencegah data sumber menimpa data tujuan jika tugas secara otomatis dilanjutkan.

  • DTS memvalidasi konten data tetapi tidak mendukung validasi untuk metadata, seperti Sequence. Anda harus memvalidasi metadata tersebut sendiri.

  • Setelah Anda mengalihkan bisnis ke instans tujuan, Sequence baru tidak akan bertambah dari nilai maksimum Sequence sumber. Anda harus memperbarui nilai Sequence di database tujuan sebelum alih bencana bisnis. Untuk informasi selengkapnya, lihat Perbarui nilai Sequence di database tujuan.

  • Jika sebuah instans gagal, tim dukungan DTS akan mencoba memulihkan instans tersebut dalam waktu 8 jam. Selama proses pemulihan, operasi seperti me-restart instans atau menyesuaikan parameternya mungkin dilakukan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instans DTS yang dimodifikasi. Parameter di database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk namun tidak terbatas pada yang dijelaskan dalam Modifikasi parameter instans.

  • Saat Anda memigrasikan tabel partisi, Anda harus menyertakan baik tabel induk maupun partisi anaknya sebagai objek sinkronisasi. Jika tidak, ketidakkonsistenan data dapat terjadi pada tabel partisi.

    Catatan

    Tabel induk dari tabel partisi PostgreSQL tidak menyimpan data secara langsung. Semua data disimpan di partisi anak. Tugas sinkronisasi harus menyertakan tabel induk dan semua partisi anaknya. Jika tidak, data di partisi anak mungkin tidak disinkronkan, sehingga menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

Penagihan

Jenis migrasi

Biaya konfigurasi instans

Biaya lalu lintas Internet

Migrasi skema dan migrasi data penuh

Gratis.

Saat parameter Access Method database tujuan diatur ke Public IP Address, Anda akan dikenai biaya untuk lalu lintas internet. Untuk informasi selengkapnya, lihat Ringkasan Penagihan.

Migrasi data inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Jenis migrasi

  • Migrasi skema

    DTS memigrasikan skema objek yang dipilih dari database sumber ke database tujuan.

  • Migrasi data penuh

    DTS memigrasikan data historis objek yang diperlukan dari database sumber ke database tujuan.

  • Migrasi data inkremental

    Setelah migrasi data penuh selesai, DTS memigrasikan data inkremental dari database sumber ke database tujuan. Migrasi data inkremental memungkinkan data dimigrasikan dengan lancar tanpa mengganggu layanan aplikasi yang dikelola sendiri selama migrasi data.

Objek yang didukung untuk dimigrasikan

  • SKEMA dan TABEL.

    Catatan

    Termasuk PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, TIPE DATA (tipe data bawaan), dan DEFAULT CONSTRAINT.

  • VIEW, PROCEDURE (PostgreSQL V11 atau lebih baru), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, dan DOMAIN.

Operasi SQL yang mendukung migrasi inkremental

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

DDL

  • Operasi DDL hanya dapat dimigrasikan dalam tugas migrasi data yang dibuat setelah 1 Oktober 2020.

    Penting
  • Akun database sumber harus merupakan akun istimewa. DTS mendukung pernyataan DDL berikut dalam tugas migrasi data:

    • CREATE TABLE dan DROP TABLE

    • ALTER TABLE, termasuk RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, dan ALTER COLUMN DROP DEFAULT

    • TRUNCATE TABLE (Versi mesin database sumber PolarDB for PostgreSQL harus PostgreSQL V11 atau lebih baru.)

    • CREATE INDEX ON TABLE

    Penting
    • Anda tidak dapat memigrasikan informasi tambahan dari pernyataan DDL, seperti CASCADE atau RESTRICT.

    • Anda tidak dapat memigrasikan pernyataan DDL dari sesi yang menjalankan pernyataan SET session_replication_role = replica.

    • Anda tidak dapat memigrasikan pernyataan DDL yang dieksekusi dengan memanggil fungsi.

    • Jika pernyataan SQL yang dikirimkan oleh database sumber sekaligus berisi pernyataan DML dan DDL, DTS tidak akan memigrasikan pernyataan DDL tersebut.

    • Jika pernyataan SQL yang dikirimkan oleh database sumber sekaligus berisi pernyataan DDL yang tidak akan dimigrasikan, DTS tidak akan memigrasikan pernyataan DDL tersebut.

    • Pernyataan CREATE SEQUENCE tidak didukung.

Izin yang diperlukan untuk akun database

Database

Migrasi skema

Migrasi penuh

Migrasi inkremental

Database PostgreSQL yang dikelola sendiri

Izin USAGE pada pg_catalog

Izin untuk pernyataan SELECT pada objek yang akan dimigrasikan

Izin superuser.

PolarDB for PostgreSQL

Izin pemilik skema target.

Catatan

Anda dapat menggunakan Database Owner yang ditentukan saat pembuatan database.

Untuk membuat akun database dan memberikan izin kepada akun tersebut:

Persiapan

Catatan
  • Untuk informasi selengkapnya tentang cara mempersiapkan jika database sumber Anda adalah instans Amazon RDS for PostgreSQL, lihat bagian Sebelum memulai pada topik "Migrasi data inkremental dari instans Amazon RDS for PostgreSQL ke instans ApsaraDB RDS for PostgreSQL". Untuk informasi selengkapnya tentang cara mempersiapkan jika database sumber Anda adalah instans Amazon Aurora PostgreSQL, lihat bagian Persiapan 1: Edit aturan masuk instans Amazon Aurora PostgreSQL pada topik "Migrasi data penuh dari instans Amazon Aurora PostgreSQL ke instans ApsaraDB RDS for PostgreSQL".

  • Dalam contoh ini, digunakan database PostgreSQL yang dikelola sendiri yang berjalan di server Linux.

Jika versi database PostgreSQL yang dikelola sendiri adalah 10.1 atau lebih baru, Anda harus melakukan operasi berikut sebelum mengonfigurasi tugas migrasi data.

  1. Masuk ke server tempat database PostgreSQL yang dikelola sendiri berada.

  2. Modifikasi file konfigurasi postgresql.conf. Atur parameter wal_level ke logical, dan pastikan nilai parameter max_wal_senders dan max_replication_slots lebih besar dari jumlah total slot replikasi yang digunakan di database PostgreSQL yang dikelola sendiri ditambah jumlah instans DTS yang menggunakan database PostgreSQL yang dikelola sendiri sebagai database sumber.

    # - Settings -
    
    wal_level = logical			# minimal, replica, or logical
    					# (change requires restart)
    
    ......
    
    # - Sending Server(s) -
    
    # Set these on the master and on any standby that will send replication data.
    
    max_wal_senders = 10		# max number of walsender processes
    				# (change requires restart)
    #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
    #wal_sender_timeout = 60s	# in milliseconds; 0 disables
    
    max_replication_slots = 10	# max number of replication slots
    				# (change requires restart)
    Catatan

    Setelah memodifikasi file konfigurasi, restart database PostgreSQL yang dikelola sendiri agar pengaturan parameter berlaku.

  3. Tambahkan blok CIDR server DTS ke file konfigurasi pg_hba.conf database PostgreSQL yang dikelola sendiri. Tambahkan hanya blok CIDR server DTS yang berada di wilayah yang sama dengan database tujuan. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.

    Catatan
    • Setelah memodifikasi file konfigurasi, jalankan pernyataan SELECT pg_reload_conf(); atau restart database PostgreSQL yang dikelola sendiri agar pengaturan parameter berlaku.

    • Untuk informasi selengkapnya tentang file konfigurasi pg_hba.conf, lihat The pg_hba.conf File. Lewati langkah ini jika Anda telah mengatur alamat IP di file pg_hba.conf menjadi 0.0.0.0/0. Gambar berikut menunjukkan konfigurasinya.

    IP

  4. Buat database dan skema yang sesuai di klaster tujuan berdasarkan informasi database dan skema objek yang akan dimigrasikan.

Jika versi database PostgreSQL yang dikelola sendiri adalah 9.4.8 hingga 10.0, Anda harus melakukan operasi berikut sebelum mengonfigurasi tugas migrasi data:

  1. Unduh kode sumber PostgreSQL dari situs web resmi, kompilasi kode sumber, dan instal PostgreSQL.

    1. Unduh kode sumber dari situs web resmi PostgreSQL berdasarkan versi database PostgreSQL yang dikelola sendiri.

    2. Jalankan perintah sudo ./configure, sudo make, dan sudo make install secara berurutan untuk mengonfigurasi dan mengompilasi kode sumber, lalu menginstal PostgreSQL.

      Penting
      • Saat mengompilasi dan menginstal PostgreSQL, versi OS PostgreSQL harus konsisten dengan versi GNU compiler collection (GCC).

      • Jika terjadi kesalahan saat menjalankan perintah sudo ./configure, Anda dapat memodifikasi perintah berdasarkan pesan kesalahan. Misalnya, jika pesan kesalahan adalah readline library not found. Use --without-readline to disable readline support., Anda dapat memodifikasi perintah menjadi sudo ./configure --without-readline.

      • Jika Anda menggunakan metode lain untuk menginstal PostgreSQL, Anda harus mengompilasi plugin ali_decoding di lingkungan pengujian yang memiliki versi sistem operasi dan versi GCC yang sama.

  2. Unduh plugin ali_decoding yang disediakan oleh DTS, lalu kompilasi dan instal plugin tersebut.

    1. Unduh ali_decoding.

    2. Salin direktori ali_decoding ke direktori contrib PostgreSQL yang telah dikompilasi dan diinstal.

      contrib目录

    3. Masuk ke direktori ali_decoding dan ganti isi file Makefile dengan skrip berikut:

      # contrib/ali_decoding/Makefile
      MODULE_big = ali_decoding
      MODULES = ali_decoding
      OBJS    = ali_decoding.o
      
      DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
      
      EXTENSION = ali_decoding
      
      NAME = ali_decoding
      
      #subdir = contrib/ali_decoding
      #top_builddir = ../..
      #include $(top_builddir)/src/Makefile.global
      #include $(top_srcdir)/contrib/contrib-global.mk
      
      #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
      #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
      #PGXS := $(shell $(PG_CONFIG) --pgxs)
      #include $(PGXS)
      
      # Run the following commands to install the ali_decoding plug-in:
      ifdef USE_PGXS
      PG_CONFIG = pg_config
      PGXS := $(shell $(PG_CONFIG) --pgxs)
      include $(PGXS)
      else
      subdir = contrib/ali_decoding
      top_builddir = ../..
      include $(top_builddir)/src/Makefile.global
      include $(top_srcdir)/contrib/contrib-global.mk
      endif
    4. Masuk ke direktori ali_decoding, lalu jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi plugin ali_decoding dan mendapatkan file yang diperlukan untuk menginstal plugin ali_decoding.

    5. Salin file ke direktori yang ditentukan.

      指定位置

  3. Buat database dan skema yang sesuai di klaster tujuan berdasarkan informasi database dan skema objek yang akan dimigrasikan.

Prosedur

  1. Gunakan salah satu metode berikut untuk membuka halaman Migrasi Data dan pilih wilayah tempat instans migrasi data berada.

    Konsol DTS

    1. Masuk ke Konsol DTS.

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

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.

    1. Masuk ke Konsol DMS.

    2. Di bilah navigasi atas, arahkan kursor ke Data + AI > DTS (DTS) > Data Migration.

    3. Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans sinkronisasi data berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameter tersebut.

    Peringatan

    Setelah memilih instans sumber dan tujuan, kami sarankan agar Anda membaca dengan cermat Limits di bagian atas halaman. Hal ini membantu memastikan Anda dapat berhasil membuat dan menjalankan tugas migrasi data.

    Kategori

    Konfigurasi

    Catatan

    N/A

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama yang informatif agar mudah mengidentifikasi tugas tersebut. Anda tidak perlu menentukan nama tugas yang unik.

    Source Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.

      Catatan

      Di konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Jenis database sumber. Pilih PostgreSQL.

    Access Method

    Pilih opsi berdasarkan lokasi penerapan database sumber. Contoh ini menjelaskan proses konfigurasi untuk Self-managed Database on ECS.

    Catatan

    Jika Anda memilih metode akses lain untuk database yang dikelola sendiri, Anda harus melakukan persiapan yang diperlukan. Untuk informasi selengkapnya, lihat Persiapan.

    Instance Region

    Wilayah tempat database PostgreSQL yang dikelola sendiri berada.

    ECS Instance ID

    Masukkan ID instans ECS untuk database PostgreSQL yang dikelola sendiri.

    Port Number

    Masukkan port layanan untuk database PostgreSQL yang dikelola sendiri. Nilai default adalah 5432.

    Database Name

    Masukkan nama database yang berisi objek yang akan dimigrasikan.

    Database Account

    Masukkan akun database untuk database PostgreSQL yang dikelola sendiri. Untuk persyaratan izin, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instans database.

    Encryption

    Tentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, dipilih Non-encrypted.

    Jika Anda ingin membuat koneksi terenkripsi SSL ke database sumber, lakukan langkah-langkah berikut: Pilih SSL-encrypted, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, lalu tentukan Private Key Password of Client Certificate.

    Catatan
    • Jika Anda mengatur Enkripsi ke SSL-encrypted untuk database PostgreSQL yang dikelola sendiri, Anda harus mengunggah CA Certificate.

    • Jika Anda ingin menggunakan sertifikat klien, Anda harus mengunggah Client Certificate dan Private Key of Client Certificate serta menentukan Private Key Password of Client Certificate.

    • Untuk informasi tentang cara mengonfigurasi enkripsi SSL untuk instans ApsaraDB RDS for PostgreSQL, lihat Enkripsi SSL.

    Destination Database

    Select Existing Connection

    • Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.

      Catatan

      Di konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Pilih PolarDB for PostgreSQL.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat klaster tujuan PolarDB for PostgreSQL berada.

    Instance ID

    Pilih ID klaster tujuan PolarDB for PostgreSQL.

    Database Name

    Masukkan nama database di klaster tujuan PolarDB for PostgreSQL yang akan berisi objek migrasi.

    Database Account

    Masukkan akun database untuk klaster tujuan PolarDB for PostgreSQL. Untuk persyaratan izin, lihat Persyaratan izin untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses instans database.

  4. Klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.

    1. Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.

      Konfigurasi

      Catatan

      Migration Types

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

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

      Catatan
      • Jika Anda tidak memilih Schema Migration, pastikan database dan tabel telah dibuat di database tujuan untuk menerima data dan fitur pemetaan nama objek diaktifkan di Selected Objects.

      • Jika Anda tidak memilih Incremental Data Migration, kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi data. Hal ini memastikan konsistensi data antara database sumber dan tujuan.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang menggunakan nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel yang identik, pemeriksaan awal akan lolos. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dapat dimulai.

        Catatan

        Jika database sumber dan tujuan berisi tabel dengan nama yang identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan ke database tujuan. Untuk informasi selengkapnya, lihat Petakan nama objek.

      • Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan tujuan.

        Peringatan

        Jika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data dapat terjadi dan bisnis Anda mungkin menghadapi risiko potensial berikut:

        • Jika database sumber dan tujuan memiliki skema yang sama, dan catatan data memiliki kunci primer yang sama dengan catatan data yang ada di database tujuan, skenario berikut mungkin terjadi:

          • Selama migrasi data penuh, DTS tidak memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

          • Selama migrasi data inkremental, DTS memigrasikan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

        • Jika database sumber dan tujuan memiliki skema yang berbeda, hanya kolom tertentu yang dimigrasikan atau tugas migrasi data gagal. Harap berhati-hati.

      Source Objects

      Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon 向右小箭头 untuk menambahkan objek ke bagian Selected Objects.

      Catatan
      • Anda dapat memilih skema atau tabel sebagai objek yang akan dimigrasikan. Jika Anda memilih tabel sebagai objek yang akan dimigrasikan, DTS tidak akan memigrasikan objek lain, seperti view, trigger, dan prosedur tersimpan, ke database tujuan.

      • Jika tabel yang akan dimigrasikan berisi tipe data SERIAL, dan Anda memilih Schema Migration sebagai Schema Migration, kami menyarankan agar Anda juga memilih Sequence atau migrasi skema penuh.

      Selected Objects

      • Untuk mengganti nama objek yang ingin Anda migrasikan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat Petakan nama satu objek.

      • Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Petakan beberapa nama objek sekaligus.

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

      • Untuk menetapkan kondisi WHERE guna memfilter data, klik kanan tabel yang akan dimigrasikan di bagian Selected Objects. Di kotak dialog yang muncul, tetapkan kondisi filter. Untuk informasi selengkapnya, lihat Tetapkan kondisi filter.

      • Untuk memilih operasi SQL yang akan dimigrasikan di tingkat database atau tabel, klik kanan objek yang akan dimigrasikan di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL yang ingin Anda migrasikan.

    2. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.

      Konfigurasi

      Catatan

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas migrasi data ke kluster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli klaster khusus. Untuk informasi selengkapnya, lihat Apa itu klaster khusus DTS.

      Retry Time for Failed Connections

      Rentang waktu ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu ulang tersebut. Nilai yang valid: 10 hingga 1.440. Satuan: menit. Nilai default: 720. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas migrasi data yang menggunakan database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan menggantikan nilai sebelumnya.

      • Saat DTS mencoba menghubungkan kembali, Anda dikenai biaya untuk instans DTS. Kami menyarankan agar Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepas instans DTS sesegera mungkin setelah database sumber dan instans tujuan dilepas.

      Retry Time for Other Issues

      Rentang waktu ulang untuk masalah lain. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu ulang. Nilai yang valid: 1 hingga 1.440. Satuan: menit. Nilai default: 10. Kami menyarankan agar Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Tentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengatur parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hal ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika memilih Full Data Migration untuk parameter Migration Types.

      Enable Throttling for Incremental Data Migration

      Tentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengatur parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Hal ini mengurangi beban server database tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika memilih Incremental Data Migration untuk parameter Migration Types.

      Environment Tag

      Pilih tag lingkungan untuk mengidentifikasi instans sesuai kebutuhan. Ini tidak diperlukan untuk contoh ini.

      Configure ETL

      Tentukan apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai yang valid:

      • No: tidak mengonfigurasi peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi selengkapnya, lihat bagian Konfigurasi pemantauan dan peringatan saat membuat tugas DTS pada topik Konfigurasi pemantauan dan peringatan.

    3. Klik Next Step: Data Verification untuk mengonfigurasi tugas verifikasi data.

      Untuk informasi selengkapnya tentang cara menggunakan fitur verifikasi data, lihat Konfigurasi tugas verifikasi data.

  6. Simpan pengaturan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter yang harus ditentukan saat memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau telah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lolos pemeriksaan awal.

    • Jika tugas gagal lolos pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

    • Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidakkonsistenan data dapat terjadi, dan bisnis Anda mungkin menghadapi risiko potensial.

  7. Beli instance-nya.

    1. Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.

    2. Di halaman Purchase Instance, konfigurasikan parameter Kelas Instans untuk instans migrasi data. Tabel berikut menjelaskan parameter-parameter tersebut.

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Resource Group

      Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?

      Instance Class

      DTS menyediakan kelas instans dengan kecepatan migrasi yang berbeda-beda. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data.

    3. Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.

    4. Klik Buy and Start. Pada paket yang muncul, klik OK.

      Anda dapat melihat progres tugas di halaman Data Migration.

      Catatan
      • Jika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut akan berhenti secara otomatis. Status Completed akan ditampilkan di bagian Status .

      • Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak akan pernah berhenti atau selesai. Status Running akan ditampilkan di bagian Status.