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
Validar se existem colunas PostGIS no banco de dados de origem
Validar se há tabelas com o tipo de dados ARRAY sem uma chave primária
Validar que o modo LOB limitado só é usado quando BatchApplyEnabled está definido como verdadeiro
Validar se a versão do banco de dados de origem é compatível com o DMS para migração
Validar o parâmetro logical_decoding_work_mem no banco de dados de origem
Validar se o banco de dados de origem tem alguma transação de longa execução
Validar o parâmetro max_slot_wal_keep_size no banco de dados de origem
Verificar se o banco de dados de origem está configurado para PGLOGICAL
Validar se a chave primária da tabela de origem é do tipo de dados LOB
Validar se as transações preparadas estão presentes no banco de dados de origem
Validar se wal_level está definido como lógico no banco de dados de origem
Validar se a chave primária ou o índice exclusivo existe no destino para aplicação em lote
Recomendar a configuração Max LOB quando forem encontrados LOBs
Validar se o usuário do AWS DMS tem os privilégios necessários para o destino
Validar a disponibilidade de slots de replicação gratuitos para CDC
Verificar a regra de transformação para dígitos randomizados
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.