Penilaian PostgreSQL - AWSLayanan Migrasi Database
Validasi jika pemicu peristiwa DDL disetel ke ENABLE ALWAYSValidasi jika kolom PostGIS ada di database sumberValidasi jika kendala kunci asing dinonaktifkan pada tabel target selama proses pemuatan penuhValidasi jika tabel dengan nama yang mirip adaValidasi jika ada tabel dengan tipe data ARRAY tanpa kunci primerValidasi jika kunci utama atau indeks unik ada pada tabel target saat diaktifkan BatchApplyEnabled Validasi jika ada tabel database target yang memiliki indeks sekunder untuk tugas migrasi beban penuhValidasi bahwa mode LOB terbatas hanya digunakan ketika BatchApplyEnabled disetel ke trueValidasi jika versi basis data sumber didukung oleh DMS untuk migrasiValidasi logical_decoding_work_mem parameter pada database sumberValidasi apakah database sumber memiliki transaksi yang berjalan lamaValidasi parameter basis data sumber max_slot_wal_keep_sizePeriksa apakah parameter database sumber postgres-check-maxwalsenders diatur untuk mendukung CDC.Periksa apakah database sumber dikonfigurasi untuk PGLOGICALValidasi jika kunci primer tabel sumber adalah dari LOB DatatypeValidasi jika tabel sumber memiliki kunci primerValidasi jika transaksi yang disiapkan ada di database sumberValidasi jika wal_sender_timeout diatur ke nilai minimum yang diperlukan untuk mendukung DMS CDCValidasi jika wal_level diatur ke logis pada database sumberValidasi jika kedua Kunci Utama dan indeks Unik ada pada target untuk Batch ApplyMerekomendasikan pengaturan Max LOB saat objek LOB ditemukanValidasi jika tabel memiliki kunci primer atau indeks unik dan statusnya baik ketika validasi DMS diaktifkanValidasi jika AWS DMS pengguna memiliki hak istimewa yang diperlukan untuk targetMemvalidasi ketersediaan slot replikasi gratis untuk CDCVerifikasi Izin Beban Penuh Pengguna DMSPeriksa Aturan Transformasi untuk Digit AcakPeriksa Aturan Transformasi untuk topeng DigitPeriksa Aturan Transformasi untuk topeng HashingVerifikasi bahwa pengaturan tugas Validasi Data dan pengacakan Data Masking Digit tidak diaktifkan secara bersamaanVerifikasi bahwa pengaturan tugas Validasi Data dan topeng Hashing Masking Data tidak diaktifkan secara bersamaanVerifikasi bahwa pengaturan tugas Validasi Data dan topeng Data Masking Digit tidak diaktifkan secara bersamaanValidasi bahwa setidaknya satu objek yang dipilih ada di database sumberValidasi bahwa basis data PostgreSQL target berisi kolom yang dihasilkanValidasi bahwa tampilan terwujud ada dalam migrasi PostgreSQL yang homogenValidasi bahwa REPLICA IDENTITY FULL bertentangan dengan penggunaan plugin pglogicalValidasi bahwa kendala sekunder dan indeks (non-primer) hadir dalam database sumberValidasi kompatibilitas CHAR/VARCHAR kolom untuk migrasi ke OracleValidasi bahwa idle_in_transaction_session_timeout pengaturan dikonfigurasi pada database sumberValidasi bahwa AWS DMS pengguna memiliki peran yang diperlukan untuk database AWS PostgreSQL -managed

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penilaian PostgreSQL

Bagian ini menjelaskan penilaian premi individu untuk tugas migrasi yang menggunakan titik akhir sumber PostgreSQL.

Topik

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 DMSmendukung 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 AWSValidasi 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 AWSValidasi data DMS.

Validasi jika AWS DMS pengguna memiliki hak istimewa yang diperlukan untuk target

Kunci API: postgres-check-target-privileges

AWS DMSPengguna 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.

Verifikasi bahwa pengaturan tugas Validasi Data dan pengacakan Data Masking Digit tidak diaktifkan secara bersamaan

Kunci API: all-to-all-validation-with-datamasking-digits-randomize

Penilaian premi ini memverifikasi bahwa pengaturan Validasi Data dan pengacakan Digit Masking Data tidak diaktifkan secara bersamaan, karena fitur ini tidak kompatibel.

Verifikasi bahwa pengaturan tugas Validasi Data dan topeng Hashing Masking Data tidak diaktifkan secara bersamaan

Kunci API: all-to-all-validation-with-datamasking-hash-mask

Penilaian premi ini memverifikasi bahwa pengaturan Validasi Data dan topeng Hashing Masking Data tidak diaktifkan secara bersamaan, karena fitur ini tidak kompatibel.

Verifikasi bahwa pengaturan tugas Validasi Data dan topeng Data Masking Digit tidak diaktifkan secara bersamaan

Kunci API: all-to-all-validation-with-digit-mask

Penilaian premi ini memverifikasi bahwa pengaturan Validasi Data dan Masking Data Masking Digit mask tidak diaktifkan secara bersamaan, karena fitur ini tidak kompatibel.

Validasi bahwa setidaknya satu objek yang dipilih ada di database sumber

Kunci API: all-check-source-selection-rules

Penilaian premi ini memverifikasi bahwa setidaknya satu objek yang ditentukan dalam aturan pemilihan ada di database sumber, termasuk pencocokan pola untuk aturan berbasis wildcard.

Validasi bahwa basis data PostgreSQL target berisi kolom yang dihasilkan

Kunci API: postgres-check-target-generated-cols

Penilaian premi ini memvalidasi apakah database PostgreSQL target berisi kolom yang dihasilkan (termasuk tipe TERSIMPAN dan VIRTUAL) yang mungkin memerlukan penanganan khusus selama migrasi. Kolom yang dihasilkan, yang menghitung nilainya dari kolom lain, memerlukan verifikasi khusus untuk memastikan kompatibilitas dengan versi PostgreSQL target dan konsistensi data yang tepat setelah migrasi.

Validasi bahwa tampilan terwujud ada dalam migrasi PostgreSQL yang homogen

Kunci API: postgres-check-materialized-views

Saat bermigrasi antar database PostgreSQL, tidak dapat memigrasikan tampilan terwujud. AWS DMS Tampilan terwujud harus dibuat secara manual pada database target Anda setelah migrasi.

Untuk informasi selengkapnya, lihat Keterbatasan menggunakan basis data PostgreSQL sebagai sumber DMS.

Validasi bahwa REPLICA IDENTITY FULL bertentangan dengan penggunaan plugin pglogical

Kunci API: postgres-check-pglogical-replica-identity-full

Penilaian premi ini mendeteksi tabel menggunakan REPLICA IDENTITY FULL. Sementara REPLICA IDENTITY FULL didukung menggunakan plugin test_decoding, menggunakannya dengan pglogical akan mencegah pembaruan direplikasi dengan benar. Ubah pengaturan REPLICA IDENTITY menjadi DEFAULT/INDEX, atau beralih ke plugin test_decoding untuk mempertahankan REPLICA IDENTITY FULL

Untuk informasi selengkapnya, lihat Mengaktifkan change data capture (CDC) menggunakan replikasi logis.

Validasi bahwa kendala sekunder dan indeks (non-primer) hadir dalam database sumber

Kunci API: all-check-secondary-constraints

Penilaian premi ini memverifikasi bahwa kendala sekunder dan indeks (kunci asing, kendala cek, indeks non-clustered) hadir dalam database sumber.

Validasi kompatibilitas CHAR/VARCHAR kolom untuk migrasi ke Oracle

Kunci API: postgres-to-oracle-check-varchar-columns

Penilaian premi ini memverifikasi NCHAR/NVARCHAR2 data type columns used in the target database are compatible with CHAR/VARCHAR kolom tersebut dalam database sumber.

Validasi bahwa idle_in_transaction_session_timeout pengaturan dikonfigurasi pada database sumber

Kunci API: postgres-check-idle-in-transaction-session-timeout

Penilaian premi ini memverifikasi bahwa idle_in_transaction_session_timeout parameter tidak disetel ke 0 pada database sumber.

Validasi bahwa AWS DMS pengguna memiliki peran yang diperlukan untuk database AWS PostgreSQL -managed

Kunci API: postgres-check-rds-roles

Penilaian premi ini memverifikasi bahwa AWS DMS pengguna telah dikonfigurasi dengan semua peran yang diperlukan untuk database PostgreSQL -managedAWS. Peran yang tidak memadai dapat menyebabkan kegagalan tugas migrasi.