Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar a replicação lógica para o cluster de banco de dados Aurora PostgreSQL - Amazon Aurora

Configurar a replicação lógica para o cluster de banco de dados Aurora PostgreSQL

O procedimento a seguir mostra como iniciar a replicação lógica entre dois clusters de banco de dados Aurora PostgreSQL. As etapas pressupõem que tanto a fonte (editor) quanto o destino (assinante) tenham a extensão pglogical configurada conforme detalhado em Configurar a extensão pglogical.

Como criar o nó do editor e definir as tabelas a serem replicadas

Estas etapas pressupõem que o cluster de banco de dados do Aurora PostgreSQL tenha uma instância de gravador com um banco de dados com uma ou mais tabelas que você deseja replicar para outro nó. Você precisa recriar a estrutura da tabela do editor no assinante, então, primeiro, obtenha a estrutura da tabela, se necessário. Você pode fazer isso usando o metacomando psq1 \d tablename e criando a mesma tabela na instância do assinante. O procedimento a seguir cria uma tabela de exemplo no editor (fonte) para fins de demonstração.

  1. Use psql para se conectar à instância que tem a tabela que você deseja usar como fonte para assinantes.

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

    Se você não tiver uma tabela, crie uma tabela de exemplo da forma a seguir.

    1. Crie uma tabela de exemplo usando a declaração SQL a seguir.

      CREATE TABLE docs_lab_table (a int PRIMARY KEY);
    2. Preencha a tabela com dados gerados usando a instrução SQL a seguir.

      INSERT INTO docs_lab_table VALUES (generate_series(1,5000)); INSERT 0 5000
    3. Verifique se os dados existem na tabela usando a declaração SQL a seguir.

      SELECT count(*) FROM docs_lab_table;
  2. Identifique esse cluster de banco de dados do Aurora PostgreSQL como o nó do editor da forma a seguir.

    SELECT pglogical.create_node( node_name := 'docs_lab_provider', dsn := 'host=source-instance.aws-region.rds.amazonaws.com port=5432 dbname=labdb'); create_node ------------- 3410995529 (1 row)
  3. Adicione a tabela que você deseja replicar ao conjunto de replicação padrão. Para obter mais informações sobre conjuntos de replicação, consulte Replication sets (Conjuntos de replicação) na documentação da pglogical.

    SELECT pglogical.replication_set_add_table('default', 'docs_lab_table', 'true', NULL, NULL); replication_set_add_table --------------------------- t (1 row)

A configuração do nó do editor está concluída. Agora você pode configurar o nó de assinante para receber as atualizações do editor.

Como configurar o nó de assinante e criar uma assinatura para receber atualizações

Estas etapas pressupõem que o cluster de banco de dados do Aurora PostgreSQL tenha sido configurado com a extensão pglogical. Para ter mais informações, consulte Configurar a extensão pglogical.

  1. Use psql para se conectar à instância em que você deseja receber atualizações do editor.

    psql --host=target-instance.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
  2. No cluster de banco de dados do Aurora PostgreSQL do assinante, crie a mesma tabela que existe no editor. Neste exemplo, a tabela é docs_lab_table. Você pode criar a tabela da seguinte maneira.

    CREATE TABLE docs_lab_table (a int PRIMARY KEY);
  3. Verifique se essa tabela está vazia.

    SELECT count(*) FROM docs_lab_table; count ------- 0 (1 row)
  4. Identifique esse cluster de banco de dados Aurora PostgreSQL como o nó do assinante da forma a seguir.

    SELECT pglogical.create_node( node_name := 'docs_lab_target', dsn := 'host=target-instance.aws-region.rds.amazonaws.com port=5432 sslmode=require dbname=labdb user=postgres password=********'); create_node ------------- 2182738256 (1 row)
  5. Crie a assinatura.

    SELECT pglogical.create_subscription( subscription_name := 'docs_lab_subscription', provider_dsn := 'host=source-instance.aws-region.rds.amazonaws.com port=5432 sslmode=require dbname=labdb user=postgres password=*******', replication_sets := ARRAY['default'], synchronize_data := true, forward_origins := '{}' ); create_subscription --------------------- 1038357190 (1 row)

    Ao concluir essa etapa, os dados da tabela no editor são criados na tabela no assinante. Se você quiser verificar se isso ocorreu, verifique a consulta SQL a seguir.

    SELECT count(*) FROM docs_lab_table; count ------- 5000 (1 row)

Desse ponto em diante, as alterações feitas na tabela do editor são replicadas na tabela do assinante.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.