Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian ini menjelaskan penilaian premi individu untuk tugas migrasi yang menggunakan titik akhir sumber PostgreSQL.
Topik
Validasi jika kendala kunci asing dinonaktifkan pada tabel target selama proses pemuatan penuh
Validasi jika ada tabel dengan tipe data ARRAY tanpa kunci primer
Validasi jika kunci utama atau indeks unik ada pada tabel target saat diaktifkan BatchApplyEnabled
Validasi bahwa mode LOB terbatas hanya digunakan ketika BatchApplyEnabled disetel ke true
Validasi jika versi basis data sumber didukung oleh DMS untuk migrasi
Validasi logical_decoding_work_mem parameter pada database sumber
Validasi apakah database sumber memiliki transaksi yang berjalan lama
Periksa apakah parameter database sumber postgres-check-maxwalsenders diatur untuk mendukung CDC.
Periksa apakah database sumber dikonfigurasi untuk PGLOGICAL
Validasi jika kunci primer tabel sumber adalah dari LOB Datatype
Validasi jika transaksi yang disiapkan ada di database sumber
Validasi jika wal_sender_timeout diatur ke nilai minimum yang diperlukan untuk mendukung DMS CDC
Validasi jika wal_level diatur ke logis pada database sumber
Validasi jika kedua Kunci Utama dan indeks Unik ada pada target untuk Batch Apply
Merekomendasikan pengaturan Max LOB saat objek LOB ditemukan
Validasi jika AWS DMS pengguna memiliki hak istimewa yang diperlukan untuk target
Validasi jika pemicu peristiwa DDL disetel ke ENABLE ALWAYS
Kunci API: postgres-check-ddl-event-trigger
Penilaian premi ini memvalidasi apakah pemicu peristiwa DDL disetel ke. ENABLE ALWAYS
Ketika database sumber Anda juga menjadi target untuk sistem replikasi pihak ketiga lainnya, perubahan DDL mungkin tidak bermigrasi selama CDC. Situasi ini dapat mencegah DMS memicu peristiwa. awsdms_intercept_ddl
Untuk mengatasi situasi tersebut, ubah pemicu pada database sumber Anda seperti pada contoh berikut:
alter event trigger awsdms_intercept_ddl enable always;
Untuk informasi selengkapnya, lihat Batasan menggunakan database PostgreSQL sebagai sumber DMS.
Validasi jika kolom PostGIS ada di database sumber
Kunci API: postgres-check-postgis-data-type
Penilaian premi ini memvalidasi apakah kolom tipe data PostGIS yang ada di mesin sumber dan target berbeda. AWS DMS mendukung tipe data PostGIS hanya untuk migrasi homogen like-to-like ().
Untuk informasi selengkapnya, lihat Batasan menggunakan database PostgreSQL sebagai sumber DMS.
Validasi jika kendala kunci asing dinonaktifkan pada tabel target selama proses pemuatan penuh
Kunci API: postgres-check-session-replication-role
Penilaian premi ini memvalidasi apakah session_replication_role parameter
disetel ke target untuk REPLICA
menonaktifkan kendala kunci asing selama fase beban penuh. Untuk jenis migrasi muatan penuh, Anda harus menonaktifkan batasan kunci asing.
Untuk informasi selengkapnya tentang batasan titik akhir PostgreSQL, lihat Menggunakan database PostgreSQL sebagai target. AWS Database Migration Service
Validasi jika tabel dengan nama yang mirip ada
Kunci API: postgres-check-similar-table-name
Penilaian premi ini memvalidasi apakah ada tabel dengan nama yang mirip pada sumbernya. Memiliki beberapa tabel dengan nama yang sama ditulis dalam kasus yang berbeda dapat menyebabkan perilaku yang tidak terduga selama replikasi.
Untuk informasi selengkapnya tentang batasan titik akhir PostgreSQL, lihat Batasan menggunakan database PostgreSQL sebagai sumber DMS.
Validasi jika ada tabel dengan tipe data ARRAY tanpa kunci primer
Kunci API: postgres-check-table-with-array
Penilaian premi ini memvalidasi apakah ada tabel dengan tipe data array tanpa kunci primer. Tabel dengan tipe ARRAY
data yang tidak memiliki kunci utama diabaikan selama pemuatan penuh.
Untuk informasi selengkapnya tentang batasan titik akhir PostgreSQL, lihat Batasan menggunakan database PostgreSQL sebagai sumber DMS.
Validasi jika kunci utama atau indeks unik ada pada tabel target saat diaktifkan BatchApplyEnabled
Kunci API: postgres-check-batch-apply-target-pk-ui-absence
Batch apply hanya didukung pada tabel dengan kunci primer atau indeks unik pada tabel target. Tabel tanpa kunci utama atau indeks unik akan menyebabkan batch gagal, dan AWS DMS akan memproses perubahan satu per satu. Kami menyarankan Anda membuat tugas terpisah untuk tabel tersebut dan menggunakan mode penerapan transaksional sebagai gantinya. Atau, Anda dapat membuat kunci unik pada tabel target.
Untuk informasi selengkapnya, lihat Menggunakan database PostgreSQL sebagai target. AWS Database Migration Service
Validasi jika ada tabel database target yang memiliki indeks sekunder untuk tugas migrasi beban penuh
Kunci API: postgres-check-target-secondary-indexes
Penilaian premi ini memvalidasi apakah ada tabel dengan indeks sekunder dalam lingkup tugas migrasi beban penuh. Kami menyarankan Anda menjatuhkan indeks sekunder selama durasi tugas beban penuh.
Untuk informasi selengkapnya, lihat Menggunakan database PostgreSQL sebagai target. AWS Database Migration Service
Validasi bahwa mode LOB terbatas hanya digunakan ketika BatchApplyEnabled disetel ke true
Kunci API: postgres-batch-apply-lob-mode
Ketika kolom LOB disertakan dalam replikasi, Anda dapat menggunakan BatchApplyEnabled
dalam mode LOB terbatas saja. Menggunakan opsi lain dari mode LOB akan menyebabkan batch gagal, dan AWS DMS akan memproses perubahan satu per satu. Kami menyarankan Anda memindahkan tabel ini ke tugas mereka sendiri dan menggunakan mode penerapan transaksional sebagai gantinya.
Untuk informasi selengkapnya tentang BatchApplyEnabled
pengaturan, lihat Bagaimana cara menggunakan fitur penerapan batch DMS untuk meningkatkan kinerja replikasi CDC?
Validasi jika versi basis data sumber didukung oleh DMS untuk migrasi
Kunci API: postgres-check-dbversion
Penilaian premi ini memverifikasi apakah versi basis data sumber kompatibel dengan. AWS DMS
Validasi logical_decoding_work_mem
parameter pada database sumber
Kunci API: postgres-check-for-logical-decoding-work-mem
Penilaian premi ini merekomendasikan penyetelan logical_decoding_work_mem
parameter pada database sumber. Pada database yang sangat transaksional di mana Anda mungkin memiliki transaksi yang berjalan lama atau banyak sub-transaksi, ini dapat mengakibatkan peningkatan konsumsi memori decoding logis dan kebutuhan untuk tumpah ke disk. Ini menghasilkan latensi sumber DMS yang tinggi selama replikasi. Dalam skenario seperti itu, Anda mungkin perlu menyetellogical_decoding_work_mem
. Parameter ini didukung di PostgreSQL versi 13 dan lebih besar.
Validasi apakah database sumber memiliki transaksi yang berjalan lama
Kunci API: postgres-check-longrunningtxn
Penilaian premi ini memverifikasi apakah database sumber memiliki transaksi berjalan lama yang berlangsung lebih dari 10 menit. Memulai tugas mungkin gagal, karena secara default, DMS memeriksa setiap transaksi terbuka saat memulai tugas.
Validasi parameter basis data sumber max_slot_wal_keep_size
Kunci API: postgres-check-maxslot-wal-keep-size
Penilaian premi ini memverifikasi nilai yang dikonfigurasi untuk. max_slot_wal_keep_size
Ketika max_slot_wal_keep_size
diatur ke nilai non-default, tugas DMS mungkin gagal karena penghapusan file WAL yang diperlukan.
Periksa apakah parameter database sumber postgres-check-maxwalsenders
diatur untuk mendukung CDC.
Kunci API: postgres-check-maxwalsenders
Penilaian premi ini memverifikasi nilai yang dikonfigurasi untuk database max_wal_senders
sumber. DMS harus diatur lebih besar dari 1 untuk mendukung Change Data Capture (CDC). max_wal_senders
Periksa apakah database sumber dikonfigurasi untuk PGLOGICAL
Kunci API: postgres-check-pglogical
Penilaian premi ini memverifikasi apakah shared_preload_libraries
nilai disetel ke dukungan pglogical
PGLOGICAL
untuk CDC. Perhatikan bahwa Anda dapat mengabaikan penilaian ini jika Anda berencana menggunakan decoding pengujian untuk replikasi logis.
Validasi jika kunci primer tabel sumber adalah dari LOB Datatype
Kunci API: postgres-check-pk-lob
Penilaian premi ini memverifikasi apakah kunci utama tabel adalah tipe data Objek Besar (LOB). DMS tidak mendukung replikasi jika tabel sumber memiliki kolom LOB sebagai kunci utama.
Validasi jika tabel sumber memiliki kunci primer
Kunci API: postgres-check-pk
Penilaian premi ini memverifikasi apakah kunci utama ada untuk tabel yang digunakan dalam lingkup tugas. DMS tidak mendukung replikasi untuk tabel tanpa kunci utama, kecuali identitas replika diatur ke full
pada tabel sumber.
Validasi jika transaksi yang disiapkan ada di database sumber
Kunci API: postgres-check-preparedtxn
Penilaian premi ini memverifikasi apakah ada transaksi yang disiapkan yang ada di database sumber. Pembuatan slot replikasi mungkin berhenti merespons jika ada transaksi yang disiapkan pada basis data sumber.
Validasi jika wal_sender_timeout
diatur ke nilai minimum yang diperlukan untuk mendukung DMS CDC
Kunci API: postgres-check-walsenderstimeout
Penilaian premi ini memverifikasi jika wal_sender_timeout
disetel ke minimum 10000 milidetik (10 detik). Tugas DMS dengan CDC membutuhkan minimal 10.000 milidetik (10 detik), dan gagal jika nilainya kurang dari 10.000.
Validasi jika wal_level
diatur ke logis pada database sumber
Kunci API: postgres-check-wallevel
Penilaian premi ini memverifikasi jika disetel ke wal_level
logis. Agar DMS CDC berfungsi, parameter ini perlu diaktifkan pada database sumber.
Validasi jika kedua Kunci Utama dan indeks Unik ada pada target untuk Batch Apply
Kunci API: postgres-check-batch-apply-target-pk-ui-simultaneously
Batch apply hanya didukung pada tabel dengan Kunci Utama atau Indeks Unik pada tabel target. Tabel dengan Kunci Utama dan Indeks Unik secara bersamaan menyebabkan batch gagal, dan perubahan diproses satu per satu. Dianjurkan untuk memindahkan tabel tersebut ke tugas mereka sendiri dan menggunakan mode penerapan transaksional sebagai gantinya. Atau, Anda dapat menjatuhkan kunci unik atau kunci utama pada tabel target dan membangunnya kembali jika Anda melakukan migrasi.
Untuk informasi selengkapnya, lihat Mengaktifkan CDC menggunakan database PostgreSQL yang dikelola sendiri sebagai sumber AWS DMS.
Merekomendasikan pengaturan Max LOB saat objek LOB ditemukan
Kunci API: postgres-check-limited-lob-size
Perhitungan Ukuran LOB untuk PostgreSQL berbeda dengan Engine lainnya. Pastikan Anda mengatur ukuran LOB Maksimum yang tepat pada pengaturan tugas Anda untuk menghindari pemotongan data apa pun.
Untuk informasi selengkapnya, lihat AWS Validasi data DMS.
Validasi jika tabel memiliki kunci primer atau indeks unik dan statusnya baik ketika validasi DMS diaktifkan
Kunci API: postgres-check-pk-validity
Validasi data mengharuskan tabel memiliki kunci primer atau indeks unik.
Untuk informasi selengkapnya, lihat AWS Validasi data DMS.
Validasi jika AWS DMS pengguna memiliki hak istimewa yang diperlukan untuk target
Kunci API: postgres-check-target-privileges
AWS DMS Pengguna harus memiliki setidaknya peran pengguna db_owner pada database target.
Untuk informasi selengkapnya, lihat Persyaratan keamanan saat menggunakan database PostgreSQL sebagai target AWS Database Migration Service.
Memvalidasi ketersediaan slot replikasi gratis untuk CDC
Kunci API: postgres-check-replication-slots-count
Penilaian ini memvalidasi apakah slot replikasi tersedia untuk CDC untuk mereplikasi perubahan.
Verifikasi Izin Beban Penuh Pengguna DMS
Kunci API: postgres-check-select-object-privileges
Penilaian ini memvalidasi apakah pengguna DMS memiliki hak SELECT yang diperlukan pada tabel yang diperlukan untuk operasi Beban Penuh.
Periksa Aturan Transformasi untuk Digit Acak
Kunci API: postgres-datamasking-digits-randomize
Penilaian ini memvalidasi apakah kolom yang digunakan dalam pemetaan tabel kompatibel dengan aturan transformasi Digit Randomize. Selain itu, penilaian memeriksa apakah ada kolom yang dipilih untuk transformasi adalah bagian dari kunci utama, kendala unik, atau kunci asing, karena menerapkan digit mengacak transformasi tidak menjamin keunikan apa pun.
Periksa Aturan Transformasi untuk topeng Digit
Kunci API: postgres-datamasking-digits-mask
Penilaian ini memvalidasi apakah kolom yang digunakan dalam pemetaan tabel tidak didukung oleh aturan transformasi Digit Mask. Selain itu, penilaian memeriksa apakah kolom yang dipilih untuk transformasi merupakan bagian dari kunci utama, kendala unik, atau kunci asing, karena menerapkan transformasi Digit Mask ke kolom tersebut dapat menyebabkan kegagalan tugas DMS karena keunikan tidak dapat dijamin.
Periksa Aturan Transformasi untuk topeng Hashing
Kunci API: postgres-datamasking-hash-mask
Penilaian ini memvalidasi apakah kolom yang digunakan dalam pemetaan tabel tidak didukung oleh aturan transformasi Hashing Mask. Ini juga memeriksa apakah panjang kolom sumber melebihi 64 karakter. Idealnya, panjang kolom target harus lebih besar dari 64 karakter untuk mendukung masking hash. Selain itu, penilaian memeriksa apakah ada kolom yang dipilih untuk transformasi adalah bagian dari kunci utama, kendala unik, atau kunci asing, karena menerapkan digit mengacak transformasi tidak menjamin keunikan apa pun.