

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á.

# Migre do PostgreSQL na Amazon para o EC2 Amazon RDS for PostgreSQL usando pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

## Resumo
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-summary"></a>

**Esse padrão descreve as etapas para migrar um banco de dados PostgreSQL (versão 9.5 e posterior) do Amazon Elastic Compute Cloud (Amazon) para o Amazon EC2 Relational Database Service (Amazon RDS) para PostgreSQL usando a extensão pglógica do PostgreSQL.** O Amazon RDS agora tem suporte para a extensão pglogical nas versões 10 e posteriores do PostgreSQL.

## Pré-requisitos e limitações
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Pré-requisitos **
+ Escolher o tipo certo de instância do Amazon RDS. Para obter mais informações, consulte [Tipos de instância do Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Certifique-se de que as versões de origem e destino do PostgreSQL sejam as mesmas.   
+ Instale e integre a [extensão **pglogical** com o PostgreSQL](https://github.com/2ndQuadrant/pglogical) na Amazon. EC2 

**Versões do produto**
+ PostgreSQL versão 10 e posterior no Amazon RDS, com os recursos suportados no Amazon RDS (consulte [PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) na documentação da AWS). Esse padrão foi testado com a migração do PostgreSQL 9.5 para o PostgreSQL versão 10 no Amazon RDS, mas também se aplica às versões posteriores do PostgreSQL no Amazon RDS. 

## Arquitetura
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-architecture"></a>

**Arquitetura de migração de dados**

![\[Arquitetura de migração de dados para o PostgreSQL no Amazon RDS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Ferramentas
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ Extensão [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical)
+ Utilitários nativos do PostgreSQL: [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html) e [https://www.postgresql.org/docs/9.6/app-pgrestore.html](https://www.postgresql.org/docs/9.6/app-pgrestore.html)

## Épicos
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-epics"></a>

### Migrar dados usando a extensão pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma instância de banco de dados do Amazon RDS PostgreSQL | Atualizar uma instância de banco de dados PostgreSQL no Amazon RDS. Para obter instruções, consulte a documentação do [Amazon RDS para PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) | DBA | 
| Obter um despejo de esquema do banco de dados PostgreSQL de origem e restaurar no banco de dados PostgreSQL de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Habilitar decodificação lógica. | No grupo de parâmetros de banco de dados do Amazon RDS, defina o parâmetro estático `rds.logical_replication` como 1. Para obter instruções, consulte a documentação do [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding). | DBA | 
| Criar a extensão pglogical nos bancos de dados de origem e de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Criar um publicador no banco de dados PostgreSQL de origem. | Para criar um publicador, execute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' );<br />EOF</pre> | DBA | 
| Criar um conjunto de replicação, adicionar tabelas e sequências. | Para criar um conjunto de replicação no banco de dados PostgreSQL de origem e adicionar tabelas e sequências ao conjunto de replicação, execute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | DBA | 
| Criar um assinante.  | Para criar um assinante no banco de dados PostgreSQL de destino, execute:<pre>psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF<br />SELECT pglogical.create_node(<br />    node_name := 'subscriber1',<br />    dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser'<br />);<br />EOF</pre> | DBA | 
| Criar uma assinatura. | Para criar uma assinatura no banco de dados PostgreSQL de destino, execute:<pre>psql -h <rds-endpoint> -d target -U postgres  <<EOF<br />SELECT pglogical.create_subscription(<br /> subscription_name := 'subscription1',<br /> replication_sets := array['default'],<br />    provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser'<br />);</pre> | DBA | 

### Validar os dados
<a name="validate-your-data"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verificar os bancos de dados de origem e de destino. | Verifique os bancos de dados de origem e destino para confirmar se os dados estão sendo replicados com sucesso. Você pode realizar validação básica usando `select count(1)` da origem e tabelas de destino. | DBA | 

## Recursos relacionados
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-resources"></a>
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Replicação lógica para o PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) (documentação do Amazon RDS)
+ [pglogical (repositório](https://github.com/2ndQuadrant/pglogical)) GitHub 
+ [Limitações do pglogical (arquivo README](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) GitHub do repositório)
+ [Migração do PostgreSQL do local ou da Amazon EC2 para o Amazon RDS usando replicação lógica (blog do banco de dados da](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/) AWS)