All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari instans ApsaraDB RDS for PostgreSQL ke instans AnalyticDB for PostgreSQL

Last Updated:Aug 22, 2026

Gunakan Data Transmission Service (DTS) untuk menyiapkan pipeline data kontinu dari ApsaraDB RDS for PostgreSQL ke AnalyticDB for PostgreSQL. DTS menangani baik pemuatan awal penuh maupun penangkapan data perubahan inkremental (CDC) berkelanjutan melalui replikasi logis, sehingga database analitik Anda tetap sinkron seiring perubahan data sumber.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans AnalyticDB for PostgreSQL dengan penyimpanan tersedia yang lebih besar daripada ukuran total data di instans RDS for PostgreSQL sumber. Lihat Buat instans.

  • Database yang dibuat di instans AnalyticDB for PostgreSQL tujuan untuk menerima data yang disinkronkan. Lihat bagian CREATE DATABASE di Sintaks SQL.

  • Akun istimewa pada instans RDS for PostgreSQL sumber yang memiliki database tersebut. Lihat Buat akun dan Buat database.

  • Akun database pada instans AnalyticDB for PostgreSQL tujuan dengan izin baca dan tulis. Akun awal atau akun dengan izin RDS_SUPERUSER juga dapat digunakan. Lihat Buat akun database dan Kelola pengguna dan izin.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema dan sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang didukung untuk sinkronisasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE, DROP TABLE, TRUNCATE TABLE (database PostgreSQL yang dikelola sendiri versi 11+), CREATE INDEX ON TABLE, dan operasi 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

Persyaratan sinkronisasi DDL:

Penting

Operasi DDL berikut tidak disinkronkan:

  • Pernyataan DDL yang mencakup pengubah tambahan seperti CASCADE atau RESTRICT

  • Pernyataan DDL dari sesi yang mengeksekusi SET session_replication_role = replica

  • Pernyataan DDL yang dipanggil melalui fungsi

  • Pernyataan DDL yang dikomit dalam transaksi yang sama dengan pernyataan DML

  • Pernyataan DDL pada objek yang tidak termasuk dalam cakupan sinkronisasi

Batasan

Persyaratan tabel dan skema

  • Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE dengan semua bidang unik. Tanpa ini, database tujuan mungkin berisi catatan duplikat.

    Catatan

    Jika Anda membuat tabel tujuan di luar DTS (tanpa memilih Schema Synchronization untuk Synchronization Types), pastikan tabel tujuan memiliki PRIMARY KEY atau kendala NOT NULL UNIQUE yang sama dengan tabel sumber.

  • Hanya tabel yang dapat dipilih sebagai objek sinkronisasi — bukan view, fungsi, atau jenis objek lainnya.

  • Satu tugas hanya dapat menyinkronkan data dari satu database. Untuk menyinkronkan beberapa database, buat tugas terpisah untuk masing-masing.

  • Tabel dengan hubungan pewarisan lintas skema tidak dapat disinkronkan.

  • Tabel tujuan tidak boleh merupakan tabel append-optimized (AO).

  • DTS tidak menyinkronkan tipe data berikut: VARBIT, GEOMETRY, UUID, TSQUERY, TSVECTOR, dan TXID_SNAPSHOT.

Pemetaan kolom dan perbedaan skema

  • Jika Anda menggunakan pemetaan kolom untuk sinkronisasi non-seluruh-tabel, atau jika skema tabel sumber dan tujuan berbeda, data di kolom yang ada di sumber tetapi tidak di tujuan akan hilang.

  • Jika Anda mengganti nama tabel atau kolom di database tujuan menggunakan fitur pemetaan nama objek, menyinkronkan lebih dari 5.000 tabel dalam satu tugas menyebabkan error permintaan. Untuk tabel yang melebihi 5.000, konfigurasikan beberapa tugas atau sinkronkan seluruh database.

Persyaratan log WAL

Database sumber harus memenuhi persyaratan pencatatan log terlebih dahulu (WAL) berikut:

  • Atur wal_level ke logical.

  • Untuk sinkronisasi inkremental saja: simpan log WAL selama lebih dari 24 jam.

  • Untuk sinkronisasi penuh plus inkremental: simpan log WAL minimal 7 hari. Setelah sinkronisasi penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam.

Kegagalan memenuhi persyaratan ini dapat menyebabkan DTS gagal memperoleh log WAL, sehingga tugas gagal atau, dalam kasus luar biasa, terjadi inkonsistensi atau kehilangan data.

Batasan runtime

  • Jangan mengeksekusi pernyataan DDL selama sinkronisasi skema atau sinkronisasi data penuh. Melakukannya akan menyebabkan tugas gagal.

  • Jika Anda menambahkan tabel ke skema yang disinkronkan atau mengganti nama tabel menggunakan RENAME, eksekusi ALTER TABLE schema.table REPLICA IDENTITY FULL; sebelum menulis data ke tabel. Ini mencegah inkonsistensi data. Lakukan operasi ini selama jam sepi untuk menghindari deadlock.

    Catatan

    Ganti schema dan table dengan nama skema dan nama tabel yang sebenarnya.

  • Jangan menghapus tabel sementara yang dibuat oleh DTS di database sumber: 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. DTS secara otomatis menghapus tabel-tabel ini saat instans dilepas.

  • Transaksi berdurasi panjang di database sumber dapat menyebabkan akumulasi log WAL dan menghabiskan disk space.

  • Jika database sumber menjalani peningkatan versi utama saat tugas sedang berjalan, tugas akan gagal dan tidak dapat dipulihkan. Konfigurasi ulang tugas tersebut.

  • Satu perubahan data inkremental tidak boleh melebihi 256 MB. Jika melebihi, tugas akan gagal dan tidak dapat dipulihkan. Konfigurasi ulang tugas tersebut.

Slot replikasi

DTS membuat slot replikasi dengan awalan dts_sync_ di database sumber. Slot ini menyimpan log inkremental dari 15 menit terakhir.

Amazon slot查询信息
Catatan
  • Slot replikasi dihapus secara otomatis ketika instans DTS dilepas. Jika Anda mengubah password database sumber atau menghapus alamat IP DTS dari daftar putih, slot tidak dapat dihapus secara otomatis — hapus secara manual untuk mencegah akumulasi.

  • Jika tugas dilepas atau gagal, DTS secara otomatis menghapus slot replikasi. Setelah alih bencana primary/secondary pada database PostgreSQL sumber, masuk ke database sekunder untuk menghapus slot replikasi secara manual.

DTS juga menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber untuk melacak latensi sinkronisasi.

Batasan khusus sumber

ApsaraDB RDS for PostgreSQL:

  • Jangan mengubah titik akhir atau zona instans RDS for PostgreSQL sumber saat tugas sedang berjalan. Melakukannya akan menyebabkan tugas gagal.

  • Untuk melakukan alih bencana primary/secondary pada instans sumber, aktifkan fitur Logical Replication Slot Failover terlebih dahulu. Lihat Logical Replication Slot Failover.

PostgreSQL yang dikelola sendiri:

  • Atur max_wal_senders dan max_replication_slots ke nilai yang lebih besar daripada jumlah slot replikasi yang sudah ada ditambah jumlah instans DTS yang akan dibuat.

  • Alih bencana primary/secondary pada database PostgreSQL yang dikelola sendiri menyebabkan tugas gagal.

Google Cloud SQL for PostgreSQL:

  • Atur parameter Database Account ke akun dengan izin cloudsqlsuperuser. Saat memilih objek untuk disinkronkan, pilih hanya objek yang dikelola oleh akun tersebut, atau berikan izin OWNER pada objek tersebut kepada akun tersebut.

    Catatan

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

Konsistensi data

  • Evaluasi dampak terhadap kinerja database sumber dan tujuan sebelum memulai tugas. Jalankan tugas selama jam sepi.

  • Selama sinkronisasi data penuh, operasi INSERT konkuren menyebabkan fragmentasi tabel di database tujuan, sehingga ruang tabel tujuan mungkin lebih besar daripada sumber setelah sinkronisasi penuh selesai.

  • Inkonsistensi data terjadi jika data dari sumber selain DTS ditulis ke database tujuan selama sinkronisasi. Jika Anda menggunakan Data Management (DMS) untuk melakukan operasi DDL Online sementara sumber lain menulis ke tujuan, kehilangan data mungkin terjadi.

  • Jika Anda hanya menggunakan DTS untuk menulis data ke tujuan, gunakan DMS untuk melakukan operasi DDL Online pada tabel sumber selama sinkronisasi. Lihat Ubah skema tanpa mengunci tabel.

Pemulihan tugas

Jika tugas DTS gagal, dukungan teknis DTS mencoba memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi. Untuk detail parameter yang mungkin berubah, lihat bagian Modifikasi parameter instans di Modifikasi parameter instans DTS.

Konfigurasi tugas sinkronisasi data

Langkah 1: Buka Tugas Sinkronisasi Data

  1. Masuk ke Konsol Data Management (DMS).

  2. Di bilah navigasi atas, klik Data + AI.

  3. Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.

    Catatan

Langkah 2: Buat tugas

  1. Di sisi kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi akan berada.

    Catatan

    Di Konsol DTS baru, pilih wilayah di bilah navigasi atas.

  2. Klik Create Task.

  3. (Opsional) Klik New Configuration Page di pojok kanan atas.

    Catatan
    • Lewati langkah ini jika tombol Back to Previous Version yang ditampilkan.

    • Gunakan halaman konfigurasi baru — beberapa parameter berbeda antar versi.

Langkah 3: Konfigurasi database sumber dan tujuan

Konfigurasikan parameter berikut:

Nama tugas

ParameterDeskripsi
Task NameNama untuk tugas DTS. DTS menghasilkan nama default — tentukan nama deskriptif agar mudah mengidentifikasi tugas. Nama tidak perlu unik.

Database sumber

ParameterDeskripsi
Select a DMS database instance.Pilih database terdaftar yang sudah ada untuk mengisi pengaturan secara otomatis, atau biarkan kosong dan konfigurasi secara manual. Untuk mendaftarkan database, lihat Daftarkan instans database Alibaba Cloud atau Daftarkan database yang dihosting di layanan cloud pihak ketiga atau database yang dikelola sendiri. Untuk pendaftaran di Konsol DTS, lihat Kelola koneksi database.
Database TypePilih PostgreSQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah instans RDS for PostgreSQL sumber.
Replicate Data Across Alibaba Cloud AccountsPilih No untuk menggunakan database di akun saat ini.
Instance IDID instans RDS for PostgreSQL sumber.
Database NameNama database sumber yang berisi data untuk disinkronkan.
Database AccountAkun istimewa untuk instans sumber.
Database PasswordPassword untuk akun database.
EncryptionPilih Non-encrypted untuk koneksi standar, atau SSL-encrypted untuk koneksi terenkripsi. Untuk SSL, unggah CA Certificate, dan opsional Client Certificate serta Private Key of Client Certificate, lalu atur Private Key Password of Client Certificate. Lihat Enkripsi SSL.

Database tujuan

ParameterDeskripsi
Select a DMS database instance.Pilih database terdaftar yang sudah ada untuk mengisi pengaturan secara otomatis, atau konfigurasi secara manual.
Database TypePilih AnalyticDB for PostgreSQL.
Access MethodPilih Alibaba Cloud Instance.
Instance RegionWilayah instans AnalyticDB for PostgreSQL tujuan.
Instance IDID instans AnalyticDB for PostgreSQL tujuan.
Database NameNama database tujuan.
Database AccountAkun untuk instans tujuan, dengan izin baca dan tulis.
Database PasswordPassword untuk akun database.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud dan aturan grup keamanan database yang dihosting di ECS. Untuk database yang dikelola sendiri di pusat data atau platform cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih database. Lihat Blok CIDR server DTS.

Peringatan

Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan membawa risiko keamanan. Sebelum melanjutkan, ambil tindakan pencegahan seperti memberlakukan kredensial kuat, membatasi port yang terbuka, mengautentikasi panggilan API, mengaudit aturan daftar putih secara berkala, dan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database ke DTS.

Langkah 5: Konfigurasi objek sinkronisasi

Pilih jenis sinkronisasi

Pilih jenis sinkronisasi yang sesuai dengan kasus penggunaan Anda:

Jenis sinkronisasiKapan memilih
Schema SynchronizationPilih agar DTS membuat tabel tujuan secara otomatis. Diperlukan jika Anda juga memilih Full Data Synchronization.
Full Data SynchronizationPilih untuk menyalin semua data yang ada dari sumber ke tujuan sebelum sinkronisasi inkremental dimulai. Diperlukan untuk penyiapan awal.
Incremental Data SynchronizationDipilih secara default. Menjaga tujuan tetap sinkron dengan perubahan berkelanjutan di sumber menggunakan replikasi logis. Diperlukan untuk sinkronisasi kontinu.

Untuk sebagian besar pengaturan, pilih ketiganya: sinkronisasi skema membuat tabel, sinkronisasi data penuh menyalin data historis, dan sinkronisasi data inkremental menjaga tujuan tetap mutakhir.

Konfigurasi objek dan penanganan konflik

ParameterDeskripsi
DDL and DML Operations to Be SynchronizedOperasi SQL yang akan disinkronkan. Untuk mengonfigurasi per tabel, klik kanan objek di Selected Objects dan pilih operasinya. Lihat Operasi SQL yang mendukung sinkronisasi inkremental.
Processing Mode of Conflicting TablesPrecheck and Report Errors: gagal dalam pemeriksaan awal jika tabel tujuan memiliki nama yang sama dengan tabel sumber. Gunakan pemetaan nama objek untuk menyelesaikan konflik. Ignore Errors and Proceed: melewati pemeriksaan konflik nama. Selama sinkronisasi penuh, catatan tujuan yang sudah ada dengan kunci primer atau unik yang cocok dipertahankan; selama sinkronisasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, inisialisasi mungkin sebagian gagal.
Capitalization of Object Names in Destination InstanceCara DTS menangani kapitalisasi nama database, tabel, dan kolom di tujuan. Default adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih objek dari bagian ini dan klik 向右 untuk menambahkannya ke Selected Objects. Granularitas yang dapat dipilih: kolom, tabel, atau skema.
Selected ObjectsKlik kanan tabel untuk mengganti namanya, mengatur filter data, atau mengonfigurasi operasi SQL per tabel. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Pemetaan nama objek dan Atur kondisi filter.
Catatan

Mengganti nama objek menggunakan pemetaan nama objek dapat menyebabkan objek dependen gagal disinkronkan.

Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut:

ParameterDeskripsi
Dedicated Cluster for Task SchedulingDTS menggunakan kluster bersama secara default. Beli kluster khusus untuk stabilitas lebih tinggi. Lihat Apa itu kluster khusus DTS.
Retry Time for Failed ConnectionsBerapa lama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Rentang: 10–1440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan; jika tidak, tugas gagal. Nilai terpendek di antara tugas yang berbagi sumber atau tujuan yang sama yang berlaku.
Retry Time for Other IssuesBerapa lama DTS mencoba kembali operasi DDL atau DML yang gagal. Rentang: 1–1440 menit. Default: 10 menit. Atur lebih dari 10 menit, dan pertahankan lebih rendah daripada Retry Time for Failed Connections.
Enable Throttling for Full Data SynchronizationMembatasi beban baca/tulis pada database sumber dan tujuan selama sinkronisasi penuh. Konfigurasi Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hanya tersedia jika Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationMembatasi beban selama sinkronisasi inkremental. Konfigurasi RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment TagTag opsional untuk mengidentifikasi instans DTS berdasarkan lingkungan.
Configure ETLAtur ke Yes untuk mengaktifkan pemrosesan ekstrak, transformasi, dan muat (ETL) serta masukkan pernyataan transformasi data. Atur ke No untuk melewati. Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Monitoring and AlertingAtur ke Yes untuk menerima notifikasi ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Konfigurasi ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan.

Konfigurasi verifikasi data

Klik Next Step: Data Verification untuk menyiapkan verifikasi data. Lihat Konfigurasi tugas verifikasi data.

(Opsional) Konfigurasi bidang database dan tabel

Klik Next: Configure Database and Table Fields untuk mengatur struktur tabel di instans AnalyticDB for PostgreSQL tujuan:

ParameterDeskripsi
TypeJenis tabel di instans tujuan.
Primary Key ColumnKolom kunci primer atau kolom-kolom tersebut. Beberapa kolom membentuk kunci primer komposit.
Distribution KeyKunci distribusi untuk tabel. Harus merupakan salah satu kolom kunci primer. Lihat Kelola tabel dan Definisikan distribusi tabel.
Catatan

Langkah ini hanya tersedia jika Schema Synchronization dipilih. Atur Definition Status ke All untuk melihat dan memodifikasi semua tabel.

Langkah 6: Simpan pengaturan dan jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Catatan
  • Untuk melihat pratinjau parameter OpenAPI untuk konfigurasi tugas ini, arahkan kursor ke tombol dan klik Preview OpenAPI parameters.

  • DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas hanya dimulai setelah pemeriksaan awal berhasil.

  • Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.

  • Jika peringatan dipicu: jika tidak dapat diabaikan, selesaikan masalah dan jalankan ulang pemeriksaan awal. Jika dapat diabaikan, klik Confirm Alert Details, lalu Ignore, lalu OK, lalu Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

Langkah 7: Beli dan mulai instans

Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

Di halaman pembelian, konfigurasikan hal berikut:

ParameterDeskripsi
Billing MethodSubscription: bayar di muka untuk jangka waktu tetap, lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam, cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan biaya.
Resource Group SettingsKelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management?
Instance ClassTingkat kecepatan sinkronisasi. Lihat Kelas instans untuk instansi sinkronisasi data.
Subscription DurationHanya tersedia untuk metode penagihan subscription. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun.

Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di dialog konfirmasi, klik OK.

Tugas muncul di daftar tugas. Anda dapat memantau progresnya di sana.

Langkah selanjutnya