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 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 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
Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, selecione sua instância de banco de dados do RDS para PostgreSQL.
-
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).
-
Clique no link para abrir os parâmetros personalizados associados ao seu Instância de banco de dados do RDS para PostgreSQL.
-
No campo Parameters (Parâmetros), digite
shared_prepara encontrar o parâmetroshared_preload_libraries. -
Selecione Edit parameters (Editar parâmetros) para acessar os valores das propriedades.
-
Adicione
pglogicalà lista no campo Values (Valores). Use uma vírgula para separar itens na lista de valores.
-
Encontre o parâmetro
rds.logical_replicatione defina-o como1para ativar a replicação lógica. -
Reinicialize a instância de banco de dados do RDS para PostgreSQL para que suas alterações tenham efeito.
-
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 -
Para verificar se pglogical foi inicializada, execute o comando a seguir.
SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pglogical (1 row) -
Verifique a configuração que permite a decodificação lógica da forma a seguir.
SHOW wal_level;wal_level ----------- logical (1 row) -
Crie a extensão da forma a seguir.
CREATE EXTENSION pglogical;EXTENSION CREATED -
Escolha Salvar alterações.
Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
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.
-
Use o comando AWS CLI a seguir para adicionar
pglogicalao parâmetroshared_preload_libraries.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --regionaws-region -
Use o comando AWS CLI a seguir para definir
rds.logical_replicationcomo1a 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-namecustom-param-group-name\ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --regionaws-region -
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-identifieryour-instance\ --regionaws-region -
Quando a instância estiver disponível, use
psqlpara 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 -
Crie a extensão da forma a seguir.
CREATE EXTENSION pglogical;EXTENSION CREATED -
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-identifieryour-instance\ --regionaws-region