All Products
Search
Document Center

Data Transmission Service:Migrasi PostgreSQL yang dikelola sendiri ke RDS for PostgreSQL

Last Updated:Jul 11, 2026

Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari database PostgreSQL yang dikelola sendiri ke instans RDS for PostgreSQL. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Kombinasi jenis-jenis migrasi ini memungkinkan migrasi ke cloud tanpa downtime pada database PostgreSQL yang dikelola sendiri.

Prasyarat

  • Instans RDS for PostgreSQL tujuan telah dibuat dengan ruang penyimpanan lebih besar daripada yang digunakan oleh sumber PostgreSQL yang dikelola sendiri. Untuk informasi selengkapnya tentang cara membuat instans RDS for PostgreSQL tujuan, lihat Buat instans RDS for PostgreSQL.

    Catatan
    • Untuk informasi tentang versi database sumber dan tujuan yang didukung, lihat Ikhtisar skenario migrasi.

    • Untuk memastikan kompatibilitas, database tujuan harus menjalankan versi yang sama atau lebih baru daripada database sumber. Memigrasikan data ke versi yang lebih lama dapat menyebabkan masalah kompatibilitas.

  • Buat database di instans RDS for PostgreSQL tujuan untuk menyimpan data yang dimigrasikan. Untuk detailnya, lihat Buat database.

Peringatan

Jenis

Deskripsi

Batasan database sumber

  • Server yang menghosting database sumber harus memiliki bandwidth keluar yang mencukupi; bandwidth yang tidak mencukupi akan memengaruhi kecepatan migrasi.

  • Tabel yang dipilih untuk migrasi harus memiliki primary key atau unique constraint, dan field dalam constraint tersebut harus unik. Jika tidak, data duplikat dapat terjadi di database tujuan.

    Catatan

    Jika tabel tujuan tidak dibuat oleh Data Transmission Service (DTS) karena Anda tidak memilih Schema Migration sebagai Migration Types, Anda harus memastikan bahwa tabel tujuan memiliki primary key atau unique constraint non-null yang sama dengan tabel sumber. Jika tidak, data duplikat dapat terjadi di database tujuan.

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

  • Jika Anda memilih tabel sebagai objek migrasi dan perlu mengeditnya (misalnya, dengan memetakan nama tabel atau kolom), satu tugas migrasi dapat memigrasikan hingga 1.000 tabel. Melebihi batas ini menyebabkan error saat pengiriman tugas. Dalam kasus ini, bagi tabel ke beberapa tugas atau konfigurasikan tugas untuk memigrasikan seluruh database.

  • DTS tidak memigrasikan temporary tables, internal triggers, atau fungsi tertentu (seperti fungsi berbasis C dan internal untuk PROCEDURE dan FUNCTION) dari database sumber. DTS mendukung migrasi beberapa tipe data kustom (COMPOSITE, ENUM, atau RANGE) dan constraint berikut: primary key, foreign key, unique, dan CHECK.

  • Untuk migrasi data inkremental, persyaratan write-ahead logging (WAL) berikut berlaku:

    • Parameter wal_level harus diatur ke logical.

    • Untuk tugas migrasi data inkremental, WAL di database sumber harus disimpan lebih dari 24 jam. Untuk tugas yang mencakup migrasi data penuh dan inkremental, DTS mensyaratkan WAL disimpan setidaknya selama 7 hari. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Jika DTS tidak dapat memperoleh WAL yang diperlukan, tugas migrasi mungkin gagal. Dalam kasus ekstrem, ketidakkonsistenan atau kehilangan data dapat terjadi. Masalah yang disebabkan oleh periode retensi WAL lebih pendek dari durasi yang diperlukan tidak dicakup oleh Service Level Agreement (SLA) DTS.

  • Batasan operasi di database sumber:

    • Menjalankan alih bencana primary/secondary pada database sumber PostgreSQL yang dikelola sendiri akan menyebabkan migrasi gagal.

    • Selama fase migrasi skema dan migrasi data penuh, jangan lakukan operasi DDL karena akan menyebabkan tugas migrasi gagal.

    • Karena keterbatasan logical subscriptions, jika instance migrasi yang mencakup migrasi data inkremental sedang berjalan dan ukuran satu baris yang akan dimigrasikan melebihi 256 MB setelah perubahan inkremental, instance migrasi gagal secara permanen dan Anda harus mengonfigurasinya ulang.

  • Jika database sumber memiliki transaksi jangka panjang dan instance dikonfigurasi untuk tugas migrasi inkremental, write-ahead logging (WAL) yang dihasilkan sebelum transaksi dikomit tidak dapat dihapus. Hal ini dapat menyebabkan akumulasi WAL dan menghabiskan ruang disk database sumber.

  • Jika Anda melakukan peningkatan versi utama pada database sumber saat instance migrasi sedang berjalan, instance gagal secara permanen dan Anda harus mengonfigurasinya ulang.

  • Tabel dengan generated columns di PostgreSQL 18 tidak mendukung migrasi. Jika Anda mengonfigurasi migrasi untuk tabel tersebut, operasi DML pada tabel tersebut akan diblokir.

Batasan lainnya

  • Data mungkin tidak konsisten antara node primary dan secondary database sumber karena lag replikasi. Saat memigrasikan data, gunakan node primary database sumber sebagai sumber migrasi.

  • DTS hanya memigrasikan satu database per tugas. Untuk memigrasikan beberapa database, konfigurasikan tugas terpisah untuk masing-masing.

  • DTS tidak mendukung migrasi tabel ekstensi TimescaleDB, tabel dengan inheritance lintas skema, atau tabel dengan unique indexes berbasis ekspresi.

  • Skema yang dibuat oleh plug-in tidak dapat dimigrasikan dan tidak tersedia untuk dipilih di konsol selama konfigurasi tugas.

  • Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL, sequence secara otomatis dibuat untuk kolom tersebut di database sumber. Oleh karena itu, saat Anda mengonfigurasi Source Objects, jika Migration Types mencakup Schema Migration, kami menyarankan Anda juga memilih Sequence atau memigrasikan seluruh skema. Jika tidak, instance migrasi mungkin gagal.

  • Untuk tugas yang mencakup 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. Ini memastikan konsistensi data untuk tabel dalam dua skenario berikut. Untuk mencegah deadlock, hindari operasi penguncian tabel saat perintah ini dijalankan. Jika Anda melewati pemeriksaan terkait selama Pemeriksaan Awal, DTS akan menjalankan perintah ini secara otomatis saat menginisialisasi instance.

    • Saat instance pertama kali dijalankan.

    • Saat granularitas objek migrasi diatur ke Schema dan tabel baru dibuat di skema atau tabel yang ada direkonstruksi menggunakan perintah RENAME.

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

    • Lakukan operasi ini selama jam sepi.

  • DTS memvalidasi konten data tetapi tidak memvalidasi metadata seperti sequence; Anda harus memvalidasi metadata tersebut sendiri.

  • Setelah Anda mengalihkan beban kerja ke instans tujuan, sequence yang baru ditulis tidak akan melanjutkan dari nilai maksimum sequence yang sesuai di database sumber. Sebelum mengalihkan beban kerja, Anda harus memperbarui nilai sequence di database tujuan. Untuk informasi selengkapnya, lihat Perbarui nilai sequence di database tujuan.

  • DTS membuat tabel sementara berikut di database sumber untuk memperoleh informasi seperti pernyataan DDL untuk data inkremental, skema tabel inkremental, dan data heartbeat. Jangan menghapus tabel sementara ini selama migrasi. Jika tidak, tugas DTS akan terganggu. DTS secara otomatis menghapus tabel-tabel ini setelah instance migrasi dilepas.

    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 replication slot dengan awalan dts_sync_ di database sumber untuk mereplikasi data. Replication slot ini memungkinkan DTS memperoleh log inkremental dari database sumber dari 15 menit terakhir. Ketika tugas migrasi data gagal atau instance migrasi dilepas, DTS berusaha membersihkan replication slot secara otomatis.

    Catatan
    • Jika Anda mengubah password akun database sumber yang digunakan oleh tugas atau menghapus alamat IP DTS dari daftar putih alamat IP database sumber selama migrasi, replication slot tidak dapat dibersihkan secara otomatis. Dalam hal ini, Anda harus membersihkan replication slot secara manual di database sumber untuk mencegah akumulasi log, yang dapat menghabiskan ruang disk dan menyebabkan database sumber tidak tersedia.

    • Jika terjadi alih bencana primary/secondary pada database sumber, Anda harus login ke database secondary untuk membersihkan replication slot secara manual.

  • Batasan ini berlaku untuk tugas migrasi data penuh atau inkremental di mana tabel yang akan dimigrasikan dari database sumber berisi foreign keys, triggers, atau event triggers. DTS sementara mengatur parameter session_replication_role ke replica pada tingkat sesi selama migrasi. Jika akun database tujuan tidak memiliki izin yang diperlukan, Anda harus mengatur parameter tersebut ke replica di database tujuan secara manual. Selama periode ini (saat session_replication_role diatur ke replica), operasi cascade update atau delete di database sumber dapat menyebabkan ketidakkonsistenan data. Setelah tugas migrasi dilepas, Anda dapat mengatur kembali parameter tersebut ke origin.

  • Sebelum memigrasikan data, evaluasi kinerja database sumber dan tujuan. Lakukan migrasi data selama jam sepi. Selama migrasi data penuh, DTS mengonsumsi sumber daya baca dan tulis di kedua database, yang dapat meningkatkan beban database.

  • Migrasi data penuh melibatkan operasi INSERT konkuren, yang dapat menyebabkan fragmentasi tabel di database tujuan, sehingga database tujuan mengonsumsi lebih banyak ruang penyimpanan daripada sumber.

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

  • DTS berusaha melanjutkan tugas migrasi yang gagal hingga tujuh hari. Oleh karena itu, sebelum Anda mengalihkan beban kerja ke instans tujuan, Anda harus menghentikan atau melepas tugas tersebut. Atau, cabut izin tulis akun yang digunakan DTS untuk mengakses instans tujuan dengan menggunakan perintah REVOKE. Ini mencegah tugas yang dilanjutkan secara otomatis menimpa data di instans tujuan.

  • Jika tugas gagal, staf dukungan DTS akan berusaha memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum di Modifikasi parameter instance.

  • Saat memigrasikan tabel partisi, Anda harus menyertakan baik tabel induk maupun partisi anaknya sebagai objek migrasi. Jika tidak, data di tabel partisi mungkin menjadi tidak konsisten.

    Penting
    • Tabel induk dari tabel partisi PostgreSQL tidak menyimpan data secara langsung. Semua data disimpan di partisi anaknya. Tugas migrasi data harus mencakup tabel induk dan semua partisi anaknya. Jika tidak, data di partisi anak mungkin terlewat, yang menyebabkan ketidakkonsistenan data antara sumber dan tujuan.

    • Migrasi tabel partisi dan tabel inheritance (tabel induk-anak) lintas database berbeda tidak didukung. Pastikan tabel partisi dan semua partisinya berada di database yang sama. Juga pastikan tabel induk dan semua tabel anaknya berada di database yang sama.

Kasus khusus

  • Jika database sumber adalah instance PostgreSQL yang dikelola sendiri, pastikan nilai parameter max_wal_senders dan max_replication_slots melebihi jumlah total replication slot yang ada dan jumlah instance migrasi DTS yang akan Anda buat untuk sumber tersebut.

  • Jika instance sumber adalah Cloud SQL for PostgreSQL, Anda harus menentukan akun dengan izin cloudsqlsuperuser di field Database Account. Saat memilih objek migrasi, pilih objek yang dikelola oleh akun ini. Atau, berikan role OWNER untuk objek tersebut kepada akun ini (misalnya, jalankan perintah GRANT <owner_of_the_object_to_be_migrated> TO <source_database_account_used_by_the_task>).

    Catatan

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

Jenis migrasi

  • Schema migration

    DTS memigrasikan definisi skema objek migrasi dari database sumber ke database tujuan.

    Catatan

    DTS mendukung migrasi skema untuk jenis objek berikut: tabel, trigger, view, sequence, fungsi, tipe yang ditentukan pengguna, aturan, domain, operasi, dan agregat.

  • Full migration

    DTS memigrasikan semua data historis dari objek migrasi yang ditentukan dari database sumber ke database tujuan.

  • Incremental migration

    Setelah migrasi penuh selesai, DTS memigrasikan pembaruan data inkremental dari database sumber ke database tujuan. Migrasi inkremental memungkinkan Anda memigrasikan data secara mulus tanpa mengganggu aplikasi yang dikelola sendiri.

Objek yang didukung

  • SCHEMA, TABLE.

    Catatan

    Ini mencakup PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipe data bawaan), dan DEFAULT CONSTRAINT.

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

Operasi SQL untuk migrasi inkremental

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

DDL

  • Hanya tugas migrasi data yang dibuat setelah yang mendukung operasi DDL.

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

    • CREATE TABLE, 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 (Database sumber PostgreSQL harus versi 11 atau lebih baru.)

    • CREATE INDEX ON TABLE

    Penting
    • Informasi tambahan dalam pernyataan DDL, seperti CASCADE atau RESTRICT, tidak dimigrasikan.

    • Jika sesi menggunakan perintah SET session_replication_role = replica, pernyataan DDL-nya tidak dimigrasikan.

    • Pernyataan DDL yang dieksekusi dengan memanggil fungsi tidak dimigrasikan.

    • Jika satu transaksi dari database sumber berisi pernyataan DML dan DDL, pernyataan DDL tidak dimigrasikan.

    • Jika satu transaksi dari database sumber berisi pernyataan DDL untuk objek yang tidak dipilih untuk migrasi, pernyataan DDL tidak dimigrasikan.

    • CREATE SEQUENCE saat ini tidak didukung.

    • Pernyataan DDL yang dieksekusi langsung dalam plug-in melalui Server Programming Interface (SPI) tidak dimigrasikan.

Persyaratan izin akun database

Database

Schema migration

Full migration

Incremental migration

Database PostgreSQL yang dikelola sendiri

Izin USAGE pada pg_catalog

Izin SELECT pada objek sumber

superuser

Instans RDS for PostgreSQL

Izin CREATE dan USAGE pada objek sumber

Izin pemilik skema

Izin pemilik skema

Untuk membuat akun database dan memberikan izin:

  • Untuk database PostgreSQL yang dikelola sendiri, lihat sintaks CREATE USER dan GRANT.

  • Untuk instans RDS for PostgreSQL, lihat Buat akun.

Prasyarat

Catatan

Lengkapi langkah-langkah berikut untuk semua versi database PostgreSQL yang dikelola sendiri Anda.

  1. Login ke server yang menghosting database PostgreSQL yang dikelola sendiri Anda.

  2. Jalankan perintah berikut untuk menanyakan jumlah replication slot yang digunakan di database.

    select count(1) from pg_replication_slots;
  3. Ubah file konfigurasi postgresql.conf. Atur parameter wal_level ke logical, dan pastikan parameter max_wal_senders dan max_replication_slots lebih besar daripada jumlah replication slot yang digunakan ditambah jumlah instans DTS yang akan Anda buat.

    # - 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 mengubah file konfigurasi, Anda harus me-restart database PostgreSQL yang dikelola sendiri untuk menerapkan perubahan.

  4. Tambahkan Blok CIDR server DTS ke file konfigurasi pg_hba.conf database PostgreSQL yang dikelola sendiri Anda. Anda hanya perlu menambahkan Blok CIDR untuk server DTS di wilayah tempat database tujuan berada. Untuk informasi selengkapnya, lihat Tambahkan Blok CIDR server DTS ke daftar putih.

    Catatan
    • Setelah mengubah file konfigurasi, jalankan perintah SELECT pg_reload_conf(); atau restart database PostgreSQL yang dikelola sendiri untuk menerapkan perubahan.

    • Untuk informasi selengkapnya tentang pengaturan di file konfigurasi ini, lihat The pg_hba.conf File. Jika Anda telah mengatur alamat tepercaya ke 0.0.0.0/0 (seperti pada gambar berikut), Anda dapat melewati langkah ini.

    IP

  5. Di instans RDS for PostgreSQL tujuan Anda, buat database dan skema untuk objek yang akan dimigrasikan. Nama skema harus identik dengan skema sumber. Untuk informasi selengkapnya, lihat Buat database dan Kelola skema.

Jika versi database PostgreSQL yang dikelola sendiri Anda berkisar dari 9.4.8 hingga 10.0, Anda juga harus menyelesaikan langkah-langkah berikut.

  1. Unduh, kompilasi, dan instal kode sumber PostgreSQL.

    1. Unduh kode sumber untuk versi PostgreSQL yang dikelola sendiri Anda dari situs resmi PostgreSQL.

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

      Penting
      • Saat mengompilasi dan menginstal PostgreSQL, versi sistem operasi harus kompatibel dengan versi GNU Compiler Collection (GCC).

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

      • Jika Anda menginstal PostgreSQL dengan metode lain, Anda harus mengompilasi plug-in ali_decoding di lingkungan pengujian yang menggunakan versi sistem operasi dan GCC yang sama dengan lingkungan produksi Anda.

  2. Unduh, kompilasi, dan instal plug-in ali_decoding yang disediakan oleh DTS.

    1. Unduh ali_decoding.

    2. Salin seluruh direktori ali_decoding ke direktori contrib instalasi PostgreSQL Anda.

      contrib目录

    3. Masuk ke direktori ali_decoding dan ganti isi file Makefile dengan kode 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)
      
      # Use the following for source code installation
      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. Jalankan perintah sudo make dan sudo make install secara berurutan untuk mengompilasi plug-in ali_decoding dan menghasilkan file instalasi yang diperlukan.

    5. Salin file-file berikut ke lokasi yang ditentukan.

      指定位置

  3. Di instans RDS for PostgreSQL tujuan Anda, buat database dan skema untuk objek yang akan dimigrasikan. Nama skema harus identik dengan skema sumber. Untuk informasi selengkapnya, lihat Buat database dan Kelola skema.

Prosedur

  1. Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.

    Dari konsol DTS

    1. Login ke konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Migration.

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

    Dari konsol DMS

    Catatan

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

    1. Login ke konsol Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Migration.

    3. Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instance migrasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Kategori

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak perlu unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instance database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instance database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, parameter ini bernama Select a DMS database instance..

    • Jika Anda belum mendaftarkan instance database ke sistem, atau tidak perlu menggunakan instance terdaftar, konfigurasikan informasi database di bawah secara manual.

    Database Type

    Pilih PostgreSQL.

    Connection Type

    Pilih metode akses berdasarkan lokasi penerapan database sumber. Topik ini menggunakan Cloud Enterprise Network (CEN) sebagai contoh.

    Catatan

    Jika instance sumber adalah database yang dikelola sendiri, Anda juga harus menyelesaikan persiapan yang diperlukan. Untuk informasi selengkapnya, lihat Prasyarat.

    Instance Region

    Pilih wilayah tempat database PostgreSQL yang dikelola sendiri berada.

    CEN Instance ID

    Pilih ID instance CEN dari database PostgreSQL yang dikelola sendiri.

    Connected VPC

    Pilih Virtual Private Cloud (VPC) yang terhubung ke database PostgreSQL yang dikelola sendiri.

    Domain Name or IP

    Masukkan alamat IP server yang menghosting database PostgreSQL yang dikelola sendiri.

    Port Number

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

    Database Name

    Masukkan nama database yang akan dimigrasikan dari instance yang dikelola sendiri.

    Database Account

    Masukkan akun database untuk database PostgreSQL yang dikelola sendiri. Untuk informasi tentang izin yang diperlukan, lihat Permissions required for database accounts.

    Database Password

    Masukkan password untuk akun database.

    Encryption

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

    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 Encryption 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 SSL encryption.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instance database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instance database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.

      Catatan

      Di konsol DMS, parameter ini bernama Select a DMS database instance..

    • Jika Anda belum mendaftarkan instance database ke sistem, atau tidak perlu menggunakan instance terdaftar, konfigurasikan informasi database di bawah secara manual.

    Database Type

    Pilih PostgreSQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans RDS for PostgreSQL tujuan berada.

    Instance ID

    Pilih ID instans RDS for PostgreSQL tujuan.

    Database Name

    Masukkan nama database di instans RDS for PostgreSQL tujuan untuk menerima objek yang dimigrasikan.

    Database Account

    Masukkan akun database untuk instans RDS for PostgreSQL tujuan. Untuk informasi tentang izin yang diperlukan, lihat Permissions required for database accounts.

    Database Password

    Masukkan password untuk akun database.

    Encryption

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

    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 Encryption 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 SSL encryption.

  4. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan segmen alamat IP layanan DTS telah 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 (Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan dimigrasikan.

      Parameter

      Deskripsi

      Migration Types

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

      • Untuk melakukan migrasi dengan downtime minimal, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.

      Catatan
      • Jika Anda memilih Schema Migration, DTS memigrasikan skema tabel yang akan dimigrasikan, termasuk foreign keys, dari database sumber ke database tujuan.

      • Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instance sumber selama migrasi untuk memastikan konsistensi data.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, error dilaporkan selama pemeriksaan awal, dan tugas migrasi data tidak dimulai.

        Catatan

        Jika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Object name mapping.

      • Ignore Errors and Proceed: Melewati pemeriksaan untuk tabel dengan nama yang sama.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:

        • Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:

          • Selama migrasi penuh, DTS menyimpan catatan di database tujuan. Catatan dari database sumber tidak dimigrasikan.

          • Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan. Catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi mungkin gagal. Lanjutkan dengan hati-hati.

      Capitalization of Object Names in Destination Instance

      Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek yang dimigrasikan, seperti database, tabel, dan kolom, di instance tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menjaga case sensitivity konsisten dengan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Case sensitivity of object names in the destination database.

      Source Objects

      Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik Right arrow untuk memindahkannya ke kotak Selected Objects.

      Catatan
      • Anda dapat memilih objek pada level skema atau tabel. Jika Anda memilih tabel, objek lain seperti view, trigger, dan stored procedure tidak dimigrasikan.

      • Jika tabel yang akan dimigrasikan berisi kolom bertipe SERIAL dan Anda telah memilih Migration Types untuk Schema Migration, pilih juga Sequence atau migrasikan seluruh skema.

      Selected Objects

      Catatan
      • Jika Anda menggunakan fitur pemetaan nama objek, migrasi objek lain yang bergantung pada objek yang diganti namanya mungkin gagal.

      • Untuk menetapkan kondisi WHERE untuk memfilter data, klik kanan tabel di kotak Selected Objects dan atur kondisi filter di kotak dialog. Untuk informasi selengkapnya, lihat Set filter conditions.

      • Untuk memilih operasi SQL yang akan dimigrasikan pada level database atau tabel, klik kanan objek migrasi di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.

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

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas migrasi DTS.

      Retry Time for Failed Connections

      Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 30 menit. Jika DTS terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Catatan
      • Untuk beberapa instance DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.

      • Karena Anda dikenai biaya untuk tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan waktu percobaan ulang berdasarkan kebutuhan bisnis Anda, atau segera melepas instance DTS setelah instance database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti exception eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba operasi ulang. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Penting

      Nilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis di database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan.

      Catatan
      • Item konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.

      • Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instance migrasi berjalan.

      Enable Throttling for Incremental Data Migration

      Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban pada database tujuan.

      Catatan

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instance sesuai kebutuhan. Untuk contoh ini, tidak perlu pemilihan.

      Configure ETL

      Berdasarkan kebutuhan bisnis Anda, pilih apakah akan mengonfigurasi fitur ETL untuk memproses data.

      • Yes: Mengonfigurasi fitur ETL. Anda juga harus memasukkan pernyataan pemrosesan data di kotak teks.

      • No: Tidak mengonfigurasi fitur ETL.

      Monitoring and Alerting

      Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.

      • No: Tidak mengatur peringatan.

      • Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem mengirim pemberitahuan peringatan.

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Untuk informasi selengkapnya tentang fitur validasi data, lihat Configure data validation.

  6. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter konfigurasi instance ini saat Anda memanggil operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.

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

    Catatan
    • Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lolos pemeriksaan awal.

    • Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan pemeriksaan awal lagi.

    • Jika peringatan dilaporkan selama pemeriksaan awal:

      • Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan prompt, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instance.

    1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih spesifikasi link untuk instance migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Resource Group Settings

      Pilih kelompok sumber daya tempat instance tersebut berada. Nilai default adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?

      Instance Class

      DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi link memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link migrasi data.

    3. Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK yang muncul, klik OK.

      Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.

      Catatan
      • Jika tugas migrasi tidak mencakup migrasi inkremental, tugas tersebut berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.

      • Jika tugas migrasi mencakup migrasi inkremental, tugas tersebut tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.