

# Configurar a extensão pglogical
<a name="Appendix.PostgreSQL.CommonDBATasks.pglogical.basic-setup"></a>

Para configurar a extensão `pglogical` em sua instância de banco de dados RDS para PostgreSQL , adicione `pglogical` às bibliotecas compartilhadas no grupo de parâmetros de banco de dados personalizado para sua instância de banco de dados RDS para PostgreSQL. Você também precisa definir o valor do parâmetro `rds.logical_replication` como `1`, para ativar a decodificação lógica. Finalmente, você cria a extensão no banco de dados. Você pode usar o Console de gerenciamento da AWS ou a AWS CLI para essas tarefas. 

Você deve ter permissões como a função `rds_superuser` para realizar essas tarefas.

As etapas a seguir pressupõem que a instância de banco de dados do RDS para PostgreSQL está associada a um grupo de parâmetros de banco de dados. Para obter informações sobre como criar um grupo de parâmetros de banco de dados, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

## Console
<a name="Appendix.PostgreSQL.CommonDBATasks.pglogical.basic-setup.CON"></a>

**Como configurar a extensão pglogical**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, selecione sua instância de banco de dados do RDS para PostgreSQL.

1. Abra a guia **Configuration** (Configuração) para sua Instância de banco de dados do RDS para PostgreSQL. Entre os detalhes da instância, encontre o link **Parameter group** (Grupo de parâmetros). 

1. Clique no link para abrir os parâmetros personalizados associados ao seu Instância de banco de dados do RDS para PostgreSQL. 

1. No campo **Parâmetros**, digite `shared_pre` para encontrar o parâmetro `shared_preload_libraries`.

1. Selecione **Edit parameters** (Editar parâmetros) para acessar os valores das propriedades.

1. Adicione `pglogical` à lista no campo **Values** (Valores). Use uma vírgula para separar itens na lista de valores.   
![\[Imagem do parâmetro shared_preload_libraries com pglogical adicionada.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/apg_rpg_shared_preload_pglogical.png)

1. Encontre o parâmetro `rds.logical_replication` e defina-o como `1` para ativar a replicação lógica.

1. Reinicialize a instância de banco de dados do RDS para PostgreSQL para que suas alterações tenham efeito. 

1. Quando a instância estiver disponível, você poderá usar `psql` (ou pgAdmin) para se conectar à instância de banco de dados RDS para PostgreSQL. 

   ```
   psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
   ```

1. Para verificar se pglogical foi inicializada, execute o comando a seguir.

   ```
   SHOW shared_preload_libraries;
   shared_preload_libraries 
   --------------------------
   rdsutils,pglogical
   (1 row)
   ```

1. Verifique a configuração que permite a decodificação lógica da forma a seguir.

   ```
   SHOW wal_level;
   wal_level
   -----------
    logical
   (1 row)
   ```

1. Crie a extensão da forma a seguir.

   ```
   CREATE EXTENSION pglogical;
   EXTENSION CREATED
   ```

1. Escolha **Salvar alterações**.

1. Abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Selecione a instância de banco de dados do RDS para PostgreSQL na lista de bancos de dados para selecioná-la e depois selecione **Reboot** (Reinicializar) no menu Actions (Ações).

## AWS CLI
<a name="Appendix.PostgreSQL.CommonDBATasks.pglogical.basic-setup.CLI"></a>

**Como configurar a extensão pglogical**

Para configurar a pglogical usando a AWS CLI, chame a operação [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) para modificar determinados parâmetros em seu grupo de parâmetros personalizado, conforme mostrado no procedimento a seguir.

1. Use o comando AWS CLI a seguir para adicionar `pglogical` ao parâmetro `shared_preload_libraries`.

   ```
   aws rds modify-db-parameter-group \
      --db-parameter-group-name custom-param-group-name \
      --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \
      --region aws-region
   ```

1. Use o comando AWS CLI a seguir para definir `rds.logical_replication` como `1` a fim de ativar o recurso de decodificação lógica para a Instância de banco de dados do RDS para PostgreSQL.

   ```
   aws rds modify-db-parameter-group \
      --db-parameter-group-name custom-param-group-name \
      --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \
      --region aws-region
   ```

1. Use o comando AWS CLI a seguir para reinicializar a instância de banco de dados do RDS para PostgreSQL para que a biblioteca da pglogical seja inicializada.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier your-instance \
       --region aws-region
   ```

1. Quando a instância estiver disponível, use `psql` para se conectar à instância de banco de dados RDS para PostgreSQL. 

   ```
   psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
   ```

1. Crie a extensão da forma a seguir.

   ```
   CREATE EXTENSION pglogical;
   EXTENSION CREATED
   ```

1. Reinicie a instância de banco de dados do RDS para PostgreSQL usando o comando AWS CLI a seguir.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier your-instance \
       --region aws-region
   ```