Configurar a extensão pglogical - Amazon Relational Database Service

Configurar a extensão pglogical

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 AWS Management Console 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 sua instância de banco de dados do RDS para PostgreSQL esteja 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.

Como configurar a extensão pglogical
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

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

  3. 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).

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

  5. No campo Parameters (Parâmetros), digite shared_pre para encontrar o parâmetro shared_preload_libraries.

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

  7. 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.
  8. Encontre o parâmetro rds.logical_replication e defina-o como 1 para ativar a replicação lógica.

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

  10. 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
  11. Para verificar se pglogical foi inicializada, execute o comando a seguir.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
  12. Verifique a configuração que permite a decodificação lógica da forma a seguir.

    SHOW wal_level; wal_level ----------- logical (1 row)
  13. Crie a extensão da forma a seguir.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  14. Escolha Salvar alterações.

  15. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  16. 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).

Como configurar a extensão pglogical

Para configurar a pglogical usando a AWS CLI, chame a operação modify-db-parameter-group 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
  2. 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
  3. 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
  4. 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
  5. Crie a extensão da forma a seguir.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  6. 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