

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando o servidor flexível do Banco de Dados Microsoft Azure para PostgreSQL como fonte para AWS DMS
<a name="CHAP_Source.AzureDBPostgreSQL"></a>

Com AWS DMS, você pode usar o servidor flexível do Banco de Dados do Microsoft Azure para PostgreSQL como fonte da mesma forma que usa com o PostgreSQL.

Para obter informações sobre as versões do servidor flexível do Banco de Dados Microsoft Azure para PostgreSQL AWS DMS que oferecem suporte como fonte, consulte. [Fontes para AWS DMS](CHAP_Introduction.Sources.md)

## Configurar o servidor flexível do Microsoft Azure para PostgreSQL para replicação lógica e decodificação
<a name="CHAP_Source.AzureDBPostgreSQL.setup"></a>

É possível utilizar os recursos de replicação lógica e decodificação no servidor flexível do Microsoft Azure Database para PostgreSQL durante a migração do banco de dados.

Para decodificação lógica, o DMS utiliza o plug-in `test_decoding` ou `pglogical`. Se o plug-in `pglogical` estiver disponível em um banco de dados PostgreSQL de origem, o DMS criará um slot de replicação utilizando o `pglogical`, caso contrário, o plug-in `test_decoding` será utilizado. 

Para configurar o servidor flexível do Microsoft Azure para PostgreSQL como um endpoint de origem para o DMS, execute as seguintes etapas: 

1. Abra a página Parâmetros do servidor no portal.

1. Defina o parâmetro `wal_level` do servidor como `LOGICAL`.

1. Se quiser utilizar a extensão `pglogical`, defina os parâmetros `shared_preload_libraries` e `azure.extensions` como`pglogical`.

1. Defina o parâmetro `max_replication_slots` como o número máximo de tarefas do DMS que você planeja executar simultaneamente. No Microsoft Azure, o valor padrão desse parâmetro é 10. O valor máximo desse parâmetro depende da memória disponível na instância do PostgreSQL, permitindo entre 2 e 8 slots de replicação por GB de memória.

1. Defina o parâmetro `max_wal_senders` como um valor maior que 1. O parâmetro `max_wal_senders` define o número de tarefas simultâneas que podem ser executadas. O valor padrão é 10.

1. Defina o valor do parâmetro `max_worker_processes` como pelo menos 16. Caso contrário, você poderá ver erros como os seguintes:

   ```
   WARNING: out of background worker slots.
   ```

1. Salve as alterações. Reinicie o servidor para aplicar as alterações.

1. Confirme se a instância do PostgreSQL permite tráfego de rede no recurso de conexão.

1. Conceda permissões de replicação a um usuário existente ou crie um novo usuário com permissões de replicação utilizando os comandos a seguir. 
   + Conceda as permissões de replicação a um usuário existente utilizando o seguinte comando:

     ```
     ALTER USER <existing_user> WITH REPLICATION;
     ```
   + Crie um novo usuário com permissões de replicação utilizando o seguinte comando: 

     ```
     CREATE USER aws_dms_user PASSWORD 'aws_dms_user_password';
     GRANT azure_pg_admin to aws_dms_user;
     ALTER ROLE aws_dms_user REPLICATION LOGIN;
     ```

Para obter mais informações sobre a replicação lógica com o PostgreSQL, consulte os tópicos a seguir:
+ [Ativar a captura de dados de alteração (CDC) utilizando replicação lógica](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security)
+ [Utilizar pontos de início nativos da CDC para configurar uma carga de CDC de uma origem PostgreSQL](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.v10)
+ [Replicação lógica e decodificação lógica no Azure Database for PostgreSQL: servidor flexível](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-logical) na [Documentação do Azure Database para PostgreSQL](https://learn.microsoft.com/en-us/azure/postgresql/).