Avaliações do PostgreSQL - AWS Database Migration Service
Validar se o acionador de eventos DDL está definido como ENABLE ALWAYSValidar se existem colunas PostGIS no banco de dados de origemValidar se a restrição de chave externa está desabilitada nas tabelas de destino durante o processo de carga máximaValidar se existem tabelas com nomes semelhantesValidar se há tabelas com o tipo de dados ARRAY sem uma chave primáriaValidar se existem chaves primárias ou índices exclusivos nas tabelas de destino quando BatchApplyEnabled está habilitadoValidar se alguma tabela do banco de dados de destino tem índices secundários para a tarefa de migração de carga máximaValidar que o modo LOB limitado só é usado quando BatchApplyEnabled está definido como verdadeiroValidar se a versão do banco de dados de origem é compatível com o DMS para migraçãoValidar o parâmetro logical_decoding_work_mem no banco de dados de origemValidar se o banco de dados de origem tem alguma transação de longa execuçãoValidar o parâmetro max_slot_wal_keep_size no banco de dados de origemVerificar se o parâmetro postgres-check-maxwalsenders do banco de dados de origem está definido para compatibilidade com CDC.Verificar se o banco de dados de origem está configurado para PGLOGICALValidar se a chave primária da tabela de origem é do tipo de dados LOBValidar se a tabela de origem tem uma chave primáriaValidar se as transações preparadas estão presentes no banco de dados de origemValidar se wal_sender_timeout está definido com um valor mínimo exigido para compatibilidade com CDC no DMSValidar se wal_level está definido como lógico no banco de dados de origemValidar se a chave primária ou o índice exclusivo existe no destino para aplicação em loteRecomendar a configuração Max LOB quando forem encontrados LOBsValidar se a tabela tem chave primária ou índice exclusivo quando e se o respectivo estado está certo quando a validação do DMS está habilitadaValidar se o usuário do AWS DMS tem os privilégios necessários para o destinoValidar a disponibilidade de slots de replicação gratuitos para CDCVerificar as permissões de carga máxima do usuário do DMSVerificar a regra de transformação para dígitos randomizadosVerificar a regra de transformação para máscara de dígitosVerificar a regra de transformação para máscara de hashVerificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: dígitos randomizados” não estão habilitados simultaneamenteVerificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: máscara de hash” não estão habilitados simultaneamenteVerificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: máscara de dígitos” não estão habilitados simultaneamente

Avaliações do PostgreSQL

Esta seção descreve avaliações de pré-migração individuais para tarefas de migração que utilizam um endpoint de origem do PostgreSQL.

Tópicos

Validar se o acionador de eventos DDL está definido como ENABLE ALWAYS

Chave da API: postgres-check-ddl-event-trigger

Essa avaliação de pré-migração valida se o acionador de eventos DDL está definido como ENABLE ALWAYS. Quando o banco de dados de origem também for um destino para outro sistema de replicação de terceiros, as alterações de DDL podem não ser migradas durante a CDC. Essa situação pode impedir que o DMS acione o evento awsdms_intercept_ddl. Para contornar a situação, modifique o acionador no banco de dados de origem conforme o seguinte exemplo:

alter event trigger awsdms_intercept_ddl enable always;

Para ter mais informações, consulte Limitations on using a PostgreSQL database as a DMS source.

Validar se existem colunas PostGIS no banco de dados de origem

Chave da API: postgres-check-postgis-data-type

Essa avaliação de pré-migração valida se existem colunas do tipo de dados PostGIS, caso os mecanismos de origem e de destino sejam diferentes. O AWS DMS comporta o tipo de dados PostGIS somente para migrações homogêneas (semelhante a semelhante).

Para ter mais informações, consulte Limitations on using a PostgreSQL database as a DMS source.

Validar se a restrição de chave externa está desabilitada nas tabelas de destino durante o processo de carga máxima

Chave da API: postgres-check-session-replication-role

Essa avaliação de pré-migração valida se o session_replication_role parameter está configurado como REPLICA no destino para desabilitar as restrições de chave externa durante a fase de carga máxima. Para tipos de migração de carga máxima, você deve desabilitar as restrições de chave externa.

Para ter mais informações sobre as limitações de endpoint do PostgreSQL, consulte Using a PostgreSQL database as a target for AWS Database Migration Service.

Validar se existem tabelas com nomes semelhantes

Chave da API: postgres-check-similar-table-name

Essa avaliação de pré-migração valida se há tabelas com nomes semelhantes na origem. Ter várias tabelas com o mesmo nome gravado em maiúsculas e minúsculas diferentes pode causar comportamentos imprevisíveis durante a replicação.

Para ter mais informações sobre as limitações de endpoint do PostgreSQL, consulte Limitations on using a PostgreSQL database as a DMS source.

Validar se há tabelas com o tipo de dados ARRAY sem uma chave primária

Chave da API: postgres-check-table-with-array

Essa avaliação de pré-migração valida se há tabelas com o tipo de dados array sem uma chave primária. Uma tabela com um tipo de dados ARRAY sem uma chave primária é ignorada durante a carga máxima.

Para ter mais informações sobre as limitações de endpoint do PostgreSQL, consulte Limitations on using a PostgreSQL database as a DMS source.

Validar se existem chaves primárias ou índices exclusivos nas tabelas de destino quando BatchApplyEnabled está habilitado

Chave da API: postgres-check-batch-apply-target-pk-ui-absence

Só é possível usar a aplicação em lote em tabelas com chaves primárias ou índices exclusivos na tabela de destino. Tabelas sem chaves primárias ou índices exclusivos farão com que o lote falhe e o AWS DMS processará as alterações uma a uma. Recomendamos que você crie tarefas separadas para essas tabelas e, em vez disso, use o modo de aplicação transacional. Se preferir, você pode criar uma chave exclusiva na tabela de destino.

Para ter mais informações, consulte Using a PostgreSQL database as a target for AWS Database Migration Service.

Validar se alguma tabela do banco de dados de destino tem índices secundários para a tarefa de migração de carga máxima

Chave da API: postgres-check-target-secondary-indexes

Essa avaliação de pré-migração valida se há tabelas com índices secundários no escopo da tarefa de migração de carga máxima. Recomendamos que você elimine os índices secundários durante a tarefa de carga máxima.

Para ter mais informações, consulte Using a PostgreSQL database as a target for AWS Database Migration Service.

Validar que o modo LOB limitado só é usado quando BatchApplyEnabled está definido como verdadeiro

Chave da API: postgres-batch-apply-lob-mode

Quando colunas de LOB estiverem incluídas na replicação, é possível utilizar BatchApplyEnabled somente no modo LOB limitado. Usar outras opções do modo LOB fará com que o lote falhe e o AWS DMS processará as alterações uma a uma. Recomendamos que você mova essas tabelas para suas próprias tarefas e, em vez disso, use o modo de aplicação transacional.

Para ter mais informações sobre a configuração BatchApplyEnabled, consulte Como faço para usar o recurso de aplicação em lote do DMS para melhorar o desempenho da replicação do CDC?.

Validar se a versão do banco de dados de origem é compatível com o DMS para migração

Chave da API: postgres-check-dbversion

Essa avaliação de pré-migração verifica se a versão do banco de dados de origem é compatível com o AWS DMS.

Validar o parâmetro logical_decoding_work_mem no banco de dados de origem

Chave da API: postgres-check-for-logical-decoding-work-mem

Essa avaliação de pré-migração recomenda ajustar o parâmetro logical_decoding_work_mem no banco de dados de origem. Em um banco de dados altamente transacional, em que você pode ter transações de longa execução ou muitas subtransações, isso pode resultar no aumento do consumo de memória de decodificação lógica e na necessidade de transferência para o disco. Isso resulta em alta latência na origem do DMS durante a replicação. Nesses cenários, o ideal é ajustar logical_decoding_work_mem. Esse parâmetro é compatível com as versões 13 e posteriores do PostgreSQL.

Validar se o banco de dados de origem tem alguma transação de longa execução

Chave da API: postgres-check-longrunningtxn

Essa avaliação de pré-migração verifica se o banco de dados de origem tem alguma transação de longa execução que durou mais de 10 minutos. O início da tarefa pode falhar, pois, por padrão, o DMS verifica se há transações abertas ao iniciar a tarefa.

Validar o parâmetro max_slot_wal_keep_size no banco de dados de origem

Chave da API: postgres-check-maxslot-wal-keep-size

Essa avaliação de pré-migração verifica o valor configurado para max_slot_wal_keep_size. Quando max_slot_wal_keep_size está definido como um valor não padrão, a tarefa do DMS pode falhar devido à remoção dos arquivos WAL necessários.

Verificar se o parâmetro postgres-check-maxwalsenders do banco de dados de origem está definido para compatibilidade com CDC.

Chave da API: postgres-check-maxwalsenders

Essa avaliação de pré-migração verifica o valor configurado para max_wal_senders no banco de dados de origem. O DMS precisa que max_wal_senders seja definido como maior que 1 para comportar a captura de dados de alteração (CDC).

Verificar se o banco de dados de origem está configurado para PGLOGICAL

Chave da API: postgres-check-pglogical

Essa avaliação de pré-migração verifica se o valor shared_preload_libraries está definido como pglogical para comportar PGLOGICAL em CDC. Observe que você pode ignorar essa avaliação se estiver planejando usar a decodificação de teste para replicação lógica.

Validar se a chave primária da tabela de origem é do tipo de dados LOB

Chave da API: postgres-check-pk-lob

Essa avaliação de pré-migração verifica se a chave primária de uma tabela é do tipo de dados de objetos grandes (LOB). O DMS não é compatível com a replicação se a tabela de origem tiver uma coluna LOB como chave primária.

Validar se a tabela de origem tem uma chave primária

Chave da API: postgres-check-pk

Essa avaliação de pré-migração verifica se existem chaves primárias para as tabelas usadas no escopo da tarefa. O DMS não é compatível com a replicação de tabelas sem chaves primárias, a menos que a identidade da réplica esteja definida como full na tabela de origem.

Validar se as transações preparadas estão presentes no banco de dados de origem

Chave da API: postgres-check-preparedtxn

Essa avaliação de pré-migração verifica se há alguma transação preparada presente no banco de dados de origem. A criação do slot de replicação pode parar de responder se houver alguma transação preparada no banco de dados de origem.

Validar se wal_sender_timeout está definido com um valor mínimo exigido para compatibilidade com CDC no DMS

Chave da API: postgres-check-walsenderstimeout

Essa avaliação de pré-migração verifica se wal_sender_timeout está definido para um mínimo de 10.000 milissegundos (10 segundos). Uma tarefa do DMS com CDC requer um mínimo de 10.000 milissegundos (10 segundos) e falha se o valor for menor que 10.000.

Validar se wal_level está definido como lógico no banco de dados de origem

Chave da API: postgres-check-wallevel

Essa avaliação de pré-migração verifica se wal_level está definido como lógico. Para que a CDC do DMS funcione, esse parâmetro precisa estar habilitado no banco de dados de origem.

Validar se a chave primária ou o índice exclusivo existe no destino para aplicação em lote

Chave da API: postgres-check-batch-apply-target-pk-ui-simultaneously

Só é possível usar a aplicação em lote em tabelas com chaves primárias ou índices exclusivos na tabela de destino. Tabelas que têm chaves primárias e índices exclusivos simultaneamente farão com que o lote falhe, e as alterações são processadas uma a uma. É aconselhável mover essas tabelas para suas próprias tarefas e, em vez disso, utilizar o modo de aplicação transacional. Também é possível colocar uma chave ou chave primária exclusiva na tabela de destino e recriá-la se você estiver fazendo a migração.

Para obter mais informações, consulte Ativar a CDC utilizando um banco de dados PostgreSQL autogerenciado como origem do AWS DMS.

Recomendar a configuração Max LOB quando forem encontrados LOBs

Chave da API: postgres-check-limited-lob-size

O cálculo do tamanho do LOB para o PostgreSQL é diferente do de outros mecanismos. Defina o tamanho máximo de LOB correto na configuração da tarefa para evitar qualquer truncamento de dados.

Para obter mais informações, consulte Validação de dados do AWS DMS.

Validar se a tabela tem chave primária ou índice exclusivo quando e se o respectivo estado está certo quando a validação do DMS está habilitada

Chave da API: postgres-check-pk-validity

A validação de dados requer que a tabela tenha uma chave primária ou índice exclusivo.

Para obter mais informações, consulte Validação de dados do AWS DMS.

Validar se o usuário do AWS DMS tem os privilégios necessários para o destino

Chave da API: postgres-check-target-privileges

O usuário do AWS DMS deve ter pelo menos o perfil de usuário db_owner no banco de dados de destino.

Para obter mais informações, consulte Requisitos de segurança ao utilizar um banco de dados PostgreSQL como destino do AWS Database Migration Service.

Validar a disponibilidade de slots de replicação gratuitos para CDC

Chave da API: postgres-check-replication-slots-count

Essa avaliação valida se há slots de replicação disponíveis para a CDC replicar as alterações.

Verificar as permissões de carga máxima do usuário do DMS

Chave da API: postgres-check-select-object-privileges

Essa avaliação valida se o usuário do DMS tem os privilégios SELECT exibidos nas tabelas necessárias para operações de carga máxima.

Verificar a regra de transformação para dígitos randomizados

Chave da API: postgres-datamasking-digits-randomize

Essa avaliação valida se as colunas usadas nos mapeamentos de tabelas são compatíveis com a regra de transformação de dígitos randomizados. Além disso, a avaliação verifica se alguma coluna selecionada para transformação faz parte de chaves primárias, restrições exclusivas ou chaves estrangeiras, pois a aplicação de transformações de dígitos randomizados não garante nenhuma exclusividade.

Verificar a regra de transformação para máscara de dígitos

Chave da API: postgres-datamasking-digits-mask

Essa avaliação valida se alguma coluna usada no mapeamento da tabela não é compatível com a regra de transformação de máscara de dígitos. Além disso, a avaliação verifica se alguma coluna selecionada para transformação faz parte de chaves primárias, restrições exclusivas ou chaves estrangeiras, pois a aplicação de transformações de máscara de dígitos a essas colunas faz com que a tarefa do DMS falhe porque não é possível garantir nenhuma exclusividade.

Verificar a regra de transformação para máscara de hash

Chave da API: postgres-datamasking-hash-mask

Essa avaliação valida se alguma coluna usada no mapeamento da tabela não é compatível com a regra de transformação de máscara de hash. Ela também verifica se o tamanho da coluna de origem excede 64 caracteres. O ideal é que o tamanho da coluna de destino seja maior que 64 caracteres para comportar o mascaramento de hash. Além disso, a avaliação verifica se alguma coluna selecionada para transformação faz parte de chaves primárias, restrições exclusivas ou chaves estrangeiras, pois a aplicação de transformações de dígitos randomizados não garante nenhuma exclusividade.

Verificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: dígitos randomizados” não estão habilitados simultaneamente

Chave da API: all-to-all-validation-with-datamasking-digits-randomize

Essa avaliação de pré-migração verifica se a configuração de validação de dados e o “Mascaramento de dados: randomização de dígitos” não estão habilitados simultaneamente, pois esses recursos são incompatíveis.

Verificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: máscara de hash” não estão habilitados simultaneamente

Chave da API: all-to-all-validation-with-datamasking-hash-mask

Essa avaliação de pré-migração verifica se a configuração “Validação de dados” e o “Mascaramento de dados: máscara de hash” não estão habilitados simultaneamente, pois esses recursos são incompatíveis.

Verificar se as configurações de tarefa de validação de dados e o “Mascaramento de dados: máscara de dígitos” não estão habilitados simultaneamente

Chave da API: all-to-all-validation-with-digit-mask

Essa avaliação de pré-migração verifica se a configuração “Validação de dados” e o “Mascaramento de dados: máscara de dígitos” não estão habilitados simultaneamente, pois esses recursos são incompatíveis.