View a markdown version of this page

Évaluations PostgreSQL - AWS Service de migration de bases de données
Validez si le déclencheur d'événements DDL est réglé sur ENABLE ALWAYSValidez si des colonnes PostGIS existent dans la base de données sourceValidez si la contrainte de clé étrangère est désactivée sur les tables cibles pendant le processus de chargement completValidez si des tables portant des noms similaires existentValidez s'il existe des tables avec le type de données ARRAY sans clé primaireValidez si des clés primaires ou des index uniques existent sur les tables cibles lorsque cette option BatchApplyEnabled est activéeValidez si une table de la base de données cible possède des index secondaires pour la tâche de migration à chargement completValidez que le mode LOB limité n'est utilisé que lorsqu'il BatchApplyEnabled est défini sur trueValidez si la version de la base de données source est prise en charge par DMS pour la migrationValidez le paramètre logical_decoding_work_mem sur la base de données sourceValidez si la base de données source contient des transactions de longue duréeValidez le paramètre de base de données source max_slot_wal_keep_sizeVérifiez si le paramètre de base de données source postgres-check-maxwalsenders est configuré pour prendre en charge le CDC.Vérifiez si la base de données source est configurée pour PGLOGICALValidez si la clé primaire de la table source est de type de données LOBValidez si la table source possède une clé primaireValidez si les transactions préparées sont présentes dans la base de données sourceValidez si wal_sender_timeout est défini sur une valeur minimale requise pour prendre en charge le DMS CDCValidez si wal_level est défini sur logique dans la base de données sourceValidez si la clé primaire et l'index unique existent à la fois sur la cible pour l'application par lotsRecommander le réglage LOB maximum lorsque des objets LOB sont détectésValidez si la table possède une clé primaire ou un index unique et si son état est correct lorsque la validation DMS est activéeValidez si AWS DMS l'utilisateur dispose des privilèges nécessaires pour accéder à la cibleValide la disponibilité de slots de réplication gratuits pour le CDCVérifier les autorisations de chargement complet de l'utilisateur DMSVérifiez la règle de transformation pour la randomisation des chiffresVérifiez la règle de transformation pour le masque de chiffresVérifiez la règle de transformation pour le masque de hachageVérifiez que les paramètres des tâches de validation des données et la randomisation des chiffres de masquage des données ne sont pas activés simultanémentVérifiez que les paramètres de la tâche de validation des données et le masque de hachage du masquage des données ne sont pas activés simultanémentVérifiez que les paramètres des tâches de validation des données et le masque numérique de masquage des données ne sont pas activés simultanémentVérifiez qu'au moins un objet sélectionné existe dans la base de données sourceValidez que la base de données PostgreSQL cible contient des colonnes généréesValider que des vues matérialisées existent dans les migrations PostgreSQL homogènesValidez que REPLICA IDENTITY FULL est en conflit avec l'utilisation du plugin pglogicalValider que les contraintes et les index secondaires (non principaux) sont présents dans la base de données sourceValider la compatibilité des CHAR/VARCHAR colonnes pour la migration vers OracleValidez que le paramètre idle_in_transaction_session_timeout est configuré sur la base de données sourceValidez cela AWS DMS l'utilisateur possède les rôles requis pour AWS-bases de données PostgreSQL géréesVérifiez que le point de terminaison cible n'est pas une réplique en lectureVérifier la version de la réplique en lecture de la source Aurora PostgreSQLVérifier la version de la réplique en lecture de PostgreSQL source

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Évaluations PostgreSQL

Cette section décrit les évaluations individuelles avant la migration pour les tâches de migration qui utilisent un point de terminaison source PostgreSQL.

Rubriques

Validez si le déclencheur d'événements DDL est réglé sur ENABLE ALWAYS

Clé API : postgres-check-ddl-event-trigger

Cette évaluation préalable à la migration permet de vérifier si le déclencheur d'événements DDL est défini sur. ENABLE ALWAYS Lorsque votre base de données source est également la cible d'un autre système de réplication tiers, les modifications DDL peuvent ne pas être migrées pendant le CDC. Cette situation peut empêcher le DMS de déclencher l'awsdms_intercept_ddlévénement. Pour contourner ce problème, modifiez le déclencheur de votre base de données source comme dans l'exemple suivant :

alter event trigger awsdms_intercept_ddl enable always;

Pour plus d'informations, consultez Limitations relatives à l'utilisation d'une base de données PostgreSQL comme source DMS.

Validez si des colonnes PostGIS existent dans la base de données source

Clé API : postgres-check-postgis-data-type

Cette évaluation préalable à la migration permet de vérifier si les colonnes du type de données PostGIS qui existent dans les moteurs source et cible sont différentes. AWS DMS prend en charge le type de données PostGIS uniquement pour les migrations homogènes (similaires).

Pour plus d'informations, consultez Limitations relatives à l'utilisation d'une base de données PostgreSQL comme source DMS.

Validez si la contrainte de clé étrangère est désactivée sur les tables cibles pendant le processus de chargement complet

Clé API : postgres-check-session-replication-role

Cette évaluation de prémigration permet de vérifier si le paramètre session_replication_role parameter est défini REPLICA sur la cible pour désactiver les contraintes de clé étrangère pendant la phase de chargement complet. Pour les types de migration à chargement complet, vous devez désactiver les contraintes de clé étrangère.

Pour plus d'informations sur les limites des terminaux PostgreSQL, consultez Utilisation d'une base de données PostgreSQL comme cible pour. AWS Database Migration Service

Validez si des tables portant des noms similaires existent

Clé API : postgres-check-similar-table-name

Cette évaluation de prémigration permet de vérifier s'il existe des tables portant des noms similaires dans la source. Le fait que plusieurs tables portant le même nom soient écrites en majuscules et minuscules peut entraîner des comportements imprévisibles lors de la réplication.

Pour plus d'informations sur les limites des terminaux PostgreSQL, consultez Limitations relatives à l'utilisation d'une base de données PostgreSQL comme source DMS.

Validez s'il existe des tables avec le type de données ARRAY sans clé primaire

Clé API : postgres-check-table-with-array

Cette évaluation préalable à la migration permet de vérifier s'il existe des tables dont le type de données est un tableau sans clé primaire. Une table dont le type de ARRAY données ne comporte pas de clé primaire est ignorée pendant le chargement complet.

Pour plus d'informations sur les limites des terminaux PostgreSQL, consultez Limitations relatives à l'utilisation d'une base de données PostgreSQL comme source DMS.

Validez si des clés primaires ou des index uniques existent sur les tables cibles lorsque cette option BatchApplyEnabled est activée

Clé API : postgres-check-batch-apply-target-pk-ui-absence

L'application par lots n'est prise en charge que sur les tables dont la table cible comporte des clés primaires ou des index uniques. Les tables sans clé primaire ni index unique entraîneront l'échec du lot et AWS DMS traiteront les modifications une par une. Nous vous recommandons de créer des tâches distinctes pour ces tables et d'utiliser plutôt le mode d'application transactionnel. Vous pouvez également créer une clé unique sur la table cible.

Pour plus d'informations, consultez la section Utilisation d'une base de données PostgreSQL comme cible pour. AWS Database Migration Service

Validez si une table de la base de données cible possède des index secondaires pour la tâche de migration à chargement complet

Clé API : postgres-check-target-secondary-indexes

Cette évaluation préalable à la migration permet de vérifier s'il existe des tables avec des index secondaires dans le cadre de la tâche de migration à chargement complet. Nous vous recommandons de supprimer les index secondaires pendant la durée de la tâche de chargement complet.

Pour plus d'informations, consultez la section Utilisation d'une base de données PostgreSQL comme cible pour. AWS Database Migration Service

Validez que le mode LOB limité n'est utilisé que lorsqu'il BatchApplyEnabled est défini sur true

Clé API : postgres-batch-apply-lob-mode

Lorsque des colonnes LOB sont incluses dans la réplication, vous ne pouvez les utiliser qu'BatchApplyEnableden mode LOB limité. L'utilisation d'autres options du mode LOB provoquera l'échec du lot et AWS DMS traitera les modifications une par une. Nous vous recommandons de déplacer ces tables vers leurs propres tâches et d'utiliser plutôt le mode d'application transactionnel.

Pour plus d'informations sur le BatchApplyEnabled paramètre, voir Comment utiliser la fonction d'application par lots DMS pour améliorer les performances de réplication CDC ? .

Validez si la version de la base de données source est prise en charge par DMS pour la migration

Clé API : postgres-check-dbversion

Cette évaluation préalable à la migration permet de vérifier si la version de la base de données source est compatible avec. AWS DMS

Validez le paramètre logical_decoding_work_mem sur la base de données source

Clé API : postgres-check-for-logical-decoding-work-mem

Cette évaluation préalable à la migration recommande de régler le logical_decoding_work_mem paramètre sur la base de données source. Sur une base de données hautement transactionnelle où vous pouvez avoir des transactions de longue durée ou de nombreuses sous-transactions, cela peut entraîner une augmentation de la consommation de mémoire pour le décodage logique et la nécessité de la transférer sur le disque. Il en résulte une latence élevée de la source DMS lors de la réplication. Dans de tels scénarios, il se peut que vous deviez effectuer un réglagelogical_decoding_work_mem. Ce paramètre est pris en charge dans les versions 13 et supérieures de PostgreSQL.

Validez si la base de données source contient des transactions de longue durée

Clé API : postgres-check-longrunningtxn

Cette évaluation préalable à la migration permet de vérifier si la base de données source contient des transactions de longue durée qui ont duré plus de 10 minutes. Le démarrage de la tâche peut échouer, car par défaut, DMS vérifie la présence de transactions ouvertes lors du démarrage de la tâche.

Validez le paramètre de base de données source max_slot_wal_keep_size

Clé API : postgres-check-maxslot-wal-keep-size

Cette évaluation de prémigration vérifie la valeur configurée pour. max_slot_wal_keep_size Lorsqu'elle max_slot_wal_keep_size est définie sur une valeur autre que celle par défaut, la tâche DMS peut échouer en raison de la suppression des fichiers WAL requis.

Vérifiez si le paramètre de base de données source postgres-check-maxwalsenders est configuré pour prendre en charge le CDC.

Clé API : postgres-check-maxwalsenders

Cette évaluation de prémigration vérifie la valeur configurée pour dans la base de max_wal_senders données source. Le DMS doit être réglé max_wal_senders sur une valeur supérieure à 1 pour prendre en charge la capture des données de modification (CDC).

Vérifiez si la base de données source est configurée pour PGLOGICAL

Clé API : postgres-check-pglogical

Cette évaluation de prémigration vérifie si la shared_preload_libraries valeur est définie pour pglogical prendre en charge le CDCPGLOGICAL. Notez que vous pouvez ignorer cette évaluation si vous envisagez d'utiliser le décodage de test pour la réplication logique.

Validez si la clé primaire de la table source est de type de données LOB

Clé API : postgres-check-pk-lob

Cette évaluation de prémigration permet de vérifier si la clé primaire d'une table est de type LOB (Large Object). DMS ne prend pas en charge la réplication si la table source possède une colonne LOB comme clé primaire.

Validez si la table source possède une clé primaire

Clé API : postgres-check-pk

Cette évaluation préalable à la migration vérifie si des clés primaires existent pour les tables utilisées dans le cadre de la tâche. DMS ne prend pas en charge la réplication pour les tables sans clé primaire, sauf si l'identité de la réplique est définie full sur la table source.

Validez si les transactions préparées sont présentes dans la base de données source

Clé API : postgres-check-preparedtxn

Cette évaluation de prémigration permet de vérifier si des transactions préparées sont présentes dans la base de données source. La création d'un slot de réplication peut cesser de répondre si des transactions sont préparées dans la base de données source.

Validez si wal_sender_timeout est défini sur une valeur minimale requise pour prendre en charge le DMS CDC

Clé API : postgres-check-walsenderstimeout

Cette évaluation de prémigration vérifie qu'il wal_sender_timeout est réglé sur un minimum de 10 000 millisecondes (10 secondes). Une tâche DMS avec CDC nécessite un minimum de 10 000 millisecondes (10 secondes) et échoue si la valeur est inférieure à 10 000.

Validez si wal_level est défini sur logique dans la base de données source

Clé API : postgres-check-wallevel

Cette évaluation de prémigration permet de vérifier s'il wal_level est réglé sur logique. Pour que DMS CDC fonctionne, ce paramètre doit être activé dans la base de données source.

Validez si la clé primaire et l'index unique existent à la fois sur la cible pour l'application par lots

Clé API : postgres-check-batch-apply-target-pk-ui-simultaneously

L'application par lots n'est prise en charge que sur les tables dont la table cible comporte des clés primaires ou des index uniques. Les tables contenant simultanément des clés primaires et des index uniques entraînent l'échec du lot et les modifications sont traitées une par une. Il est conseillé de déplacer ces tables vers leurs propres tâches et d'utiliser plutôt le mode d'application transactionnel. Vous pouvez également déposer une ou plusieurs clés uniques ou une clé primaire dans la table cible et la reconstruire si vous effectuez une migration.

Pour de plus amples informations, veuillez consulter Permettre au CDC d'utiliser une base de données PostgreSQL autogérée en tant que AWS DMS source.

Recommander le réglage LOB maximum lorsque des objets LOB sont détectés

Clé API : postgres-check-limited-lob-size

Le calcul de la taille LOB pour PostgreSQL est différent de celui des autres moteurs. Assurez-vous de définir la bonne taille LOB maximale pour vos paramètres de tâche afin d'éviter toute troncature des données.

Pour de plus amples informations, veuillez consulter AWS Validation des données DMS.

Validez si la table possède une clé primaire ou un index unique et si son état est correct lorsque la validation DMS est activée

Clé API : postgres-check-pk-validity

La validation des données exige que la table dispose d'une clé primaire ou d'un index unique.

Pour de plus amples informations, veuillez consulter AWS Validation des données DMS.

Validez si AWS DMS l'utilisateur dispose des privilèges nécessaires pour accéder à la cible

Clé API : postgres-check-target-privileges

L' AWS DMS utilisateur doit avoir au moins le rôle utilisateur db_owner dans la base de données cible.

Pour de plus amples informations, veuillez consulter Exigences de sécurité lors de l'utilisation d'une base de données PostgreSQL comme cible pour AWS Database Migration Service.

Valide la disponibilité de slots de réplication gratuits pour le CDC

Clé API : postgres-check-replication-slots-count

Cette évaluation permet de vérifier si des créneaux de réplication sont disponibles pour que le CDC puisse reproduire les modifications.

Vérifier les autorisations de chargement complet de l'utilisateur DMS

Clé API : postgres-check-select-object-privileges

Cette évaluation permet de vérifier si l'utilisateur DMS dispose des privilèges SELECT nécessaires sur les tables requises pour les opérations de chargement complet.

Vérifiez la règle de transformation pour la randomisation des chiffres

Clé API : postgres-datamasking-digits-randomize

Cette évaluation permet de vérifier si les colonnes utilisées dans les mappages de tables sont compatibles avec la règle de transformation Digits Randomize. En outre, l'évaluation vérifie si les colonnes sélectionnées pour la transformation font partie de clés primaires, de contraintes uniques ou de clés étrangères, car l'application de transformations aléatoires par des chiffres ne garantit aucune unicité.

Vérifiez la règle de transformation pour le masque de chiffres

Clé API : postgres-datamasking-digits-mask

Cette évaluation permet de vérifier si les colonnes utilisées dans le mappage des tables ne sont pas prises en charge par la règle de transformation Digits Mask. En outre, l'évaluation vérifie si les colonnes sélectionnées pour la transformation font partie de clés primaires, de contraintes uniques ou de clés étrangères, car l'application de transformations par masque numérique à de telles colonnes peut entraîner l'échec des tâches DMS car l'unicité ne peut être garantie.

Vérifiez la règle de transformation pour le masque de hachage

Clé API : postgres-datamasking-hash-mask

Cette évaluation permet de vérifier si l'une des colonnes utilisées dans le mappage des tables n'est pas prise en charge par la règle de transformation du masque de hachage. Il vérifie également si la longueur de la colonne source dépasse 64 caractères. Idéalement, la longueur de la colonne cible doit être supérieure à 64 caractères pour prendre en charge le masquage du hachage. En outre, l'évaluation vérifie si les colonnes sélectionnées pour la transformation font partie de clés primaires, de contraintes uniques ou de clés étrangères, car l'application de transformations aléatoires par des chiffres ne garantit aucune unicité.

Vérifiez que les paramètres des tâches de validation des données et la randomisation des chiffres de masquage des données ne sont pas activés simultanément

Clé API : all-to-all-validation-with-datamasking-digits-randomize

Cette évaluation de prémigration permet de vérifier que le paramètre de validation des données et la randomisation des chiffres de masquage des données ne sont pas activés simultanément, car ces fonctionnalités sont incompatibles.

Vérifiez que les paramètres de la tâche de validation des données et le masque de hachage du masquage des données ne sont pas activés simultanément

Clé API : all-to-all-validation-with-datamasking-hash-mask

Cette évaluation préalable à la migration permet de vérifier que le paramètre de validation des données et le masque de hachage du masquage des données ne sont pas activés simultanément, car ces fonctionnalités sont incompatibles.

Vérifiez que les paramètres des tâches de validation des données et le masque numérique de masquage des données ne sont pas activés simultanément

Clé API : all-to-all-validation-with-digit-mask

Cette évaluation de prémigration permet de vérifier que le paramètre de validation des données et le masque numérique de masquage des données ne sont pas activés simultanément, car ces fonctionnalités sont incompatibles.

Vérifiez qu'au moins un objet sélectionné existe dans la base de données source

Clé API : all-check-source-selection-rules

Cette évaluation de prémigration vérifie qu'au moins un objet spécifié dans les règles de sélection existe dans la base de données source, y compris la correspondance de modèles pour les règles basées sur des caractères génériques.

Validez que la base de données PostgreSQL cible contient des colonnes générées

Clé API : postgres-check-target-generated-cols

Cette évaluation préalable à la migration permet de vérifier si la base de données PostgreSQL cible contient des colonnes générées (y compris les types STORED et VIRTUAL) susceptibles de nécessiter un traitement spécial lors de la migration. Les colonnes générées, qui calculent leurs valeurs à partir d'autres colonnes, nécessitent une vérification spécifique pour garantir la compatibilité avec la version cible de PostgreSQL et la cohérence des données après la migration.

Valider que des vues matérialisées existent dans les migrations PostgreSQL homogènes

Clé API : postgres-check-materialized-views

Lors de la migration entre des bases de données PostgreSQL, AWS DMS impossible de migrer les vues matérialisées. Les vues matérialisées doivent être créées manuellement sur votre base de données cible après la migration.

Pour de plus amples informations, veuillez consulter Limitations de l’utilisation d’une base de données PostgreSQL en tant que source DMS.

Validez que REPLICA IDENTITY FULL est en conflit avec l'utilisation du plugin pglogical

Clé API : postgres-check-pglogical-replica-identity-full

Cette évaluation de prémigration détecte les tables à l'aide de REPLICA IDENTITY FULL. Bien que REPLICA IDENTITY FULL soit pris en charge à l'aide du plugin test_decoding, son utilisation avec pglogical empêchera la réplication correcte des mises à jour. Modifiez le paramètre REPLICA IDENTITY sur ou passez à DEFAULT/INDEX un plugin test_decoding pour conserver REPLICA IDENTITY FULL

Pour de plus amples informations, veuillez consulter Activation de la capture des données de modification (CDC) à l’aide de la réplication logique.

Valider que les contraintes et les index secondaires (non principaux) sont présents dans la base de données source

Clé API : all-check-secondary-constraints

Cette évaluation de prémigration vérifie que les contraintes et les index secondaires (clés étrangères, contraintes de vérification, index non clusterisés) sont présents dans la base de données source.

Valider la compatibilité des CHAR/VARCHAR colonnes pour la migration vers Oracle

Clé API : postgres-to-oracle-check-varchar-columns

Cette évaluation préalable à la migration permet de vérifier que les colonnes de type de NCHAR/NVARCHAR2 données utilisées dans la base de données cible sont compatibles avec les CHAR/VARCHAR colonnes de la base de données source.

Validez que le paramètre idle_in_transaction_session_timeout est configuré sur la base de données source

Clé API : postgres-check-idle-in-transaction-session-timeout

Cette évaluation de prémigration permet de vérifier que le idle_in_transaction_session_timeout paramètre n'est pas défini sur 0 dans la base de données source.

Validez cela AWS DMS l'utilisateur possède les rôles requis pour AWS-bases de données PostgreSQL gérées

Clé API : postgres-check-rds-roles

Cette évaluation préalable à la migration permet de vérifier que l' AWS DMS utilisateur a été configuré avec tous les rôles requis pour les bases de données AWS PostgreSQL gérées. Des rôles insuffisants peuvent entraîner l'échec des tâches de migration.

Vérifiez que le point de terminaison cible n'est pas une réplique en lecture

Clé API : all-check-target-read-replica

Cette évaluation préalable à la migration permet de vérifier que le point de terminaison cible n'est pas configuré en tant que réplique de lecture. AWS DMS nécessite un accès en écriture à la base de données cible et ne peut pas effectuer de réplication vers des répliques en lecture seule.

Vérifier la version de la réplique en lecture de la source Aurora PostgreSQL

Clé API : postgres-aurora-check-source-replica-role-cdc

Cette évaluation préalable à la migration permet de vérifier que le point de terminaison source utilise une réplique de lecture Aurora PostgreSQL exécutant la version 16 ou ultérieure. Les opérations du CDC nécessitent des emplacements de réplication, qu'Aurora PostgreSQL ne prend pas en charge sur les nœuds en lecture seule dans les versions antérieures à la version 16.

Pour de plus amples informations, veuillez consulter Lire la réplique en tant que source pour PostgreSQL.

Vérifier la version de la réplique en lecture de PostgreSQL source

Clé API : postgres-check-source-replica-role-cdc

Cette évaluation préalable à la migration permet de vérifier que le point de terminaison source utilise une réplique de lecture PostgreSQL exécutant la version 16 ou ultérieure. Les opérations du CDC nécessitent des emplacements de réplication, que PostgreSQL ne prend pas en charge sur les nœuds en lecture seule dans les versions antérieures à 16.

Pour de plus amples informations, veuillez consulter Lire la réplique en tant que source pour PostgreSQL.