

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migre de PostgreSQL en EC2 Amazon a Amazon RDS para PostgreSQL mediante pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

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

**Este patrón describe los pasos para migrar una base de datos PostgreSQL (versión 9.5 y posteriores) de Amazon Elastic Compute Cloud (Amazon) a Amazon Relational Database Service ( EC2Amazon RDS) para PostgreSQL mediante la extensión pglogical de PostgreSQL.** Amazon RDS ahora admite la extensión pglogical en la extensión para PostgreSQL versión 10.

## Requisitos previos y limitaciones
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Requisitos previos**
+ Elija el tipo correcto de instancia de Amazon RDS. Para obtener más información, consulte [Tipos de instancia Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Asegúrese de que las versiones de origen y destino de PostgreSQL sean las mismas.   
+ Instale e integre la [extensión **pglogical** con PostgreSQL](https://github.com/2ndQuadrant/pglogical) en Amazon. EC2 

**Versiones de producto**
+ PostgreSQL versión 10 y posteriores en Amazon RDS, con las funciones compatibles con Amazon RDS (consulte [PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) en la documentación de AWS). Este patrón se probó migrando PostgreSQL 9.5 a la versión 10 de PostgreSQL en Amazon RDS, pero también se aplica a versiones posteriores de PostgreSQL en Amazon RDS. 

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

**Arquitectura de migración de datos**

![\[Arquitectura de migración de datos para PostgreSQL en Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Tools (Herramientas)
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ extensión [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical)
+ Utilidades nativas de PostgreSQL: [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html) y [https://www.postgresql.org/docs/9.6/app-pgrestore.html](https://www.postgresql.org/docs/9.6/app-pgrestore.html)

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

### Migración de datos mediante la extensión pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una instancia de base de datos PostgreSQL en Amazon RDS. | Configurar una instancia de base de datos de Amazon RDS. Para obtener instrucciones, consulte la [documentación de Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html). | Administrador de base de datos | 
| Obtenga un volcado de esquema de la base de datos PostgreSQL de origen y restaúrelo en la base de datos PostgreSQL de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | Administrador de base de datos | 
| Habilita la decodificación lógica. | En el grupo de parámetros de base de datos de Amazon RDS, defina el parámetro estático `rds.logical_replication` como 1. Para obtener instrucciones, consulte la [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding). | Administrador de base de datos | 
| Cree la extensión pglogical en las bases de datos de origen y destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | Administrador de base de datos | 
| Cree un publicador en la base de datos PostgreSQL de origen. | Para crear un publicador, ejecute:<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> | Administrador de base de datos | 
| Cree un conjunto de réplicas, añada tablas y secuencias. | Para crear un conjunto de réplicas en la base de datos PostgreSQL de origen y añadir tablas y secuencias al conjunto de réplicas, ejecute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | Administrador de base de datos | 
| Cree un suscriptor. | Para crear un suscriptor en la base de datos PostgreSQL de destino, ejecute:<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> | Administrador de base de datos | 
| Cree una suscripción. | Para crear una suscripción en la base de datos PostgreSQL de destino, ejecute:<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> | Administrador de base de datos | 

### Validación de sus datos
<a name="validate-your-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compruebe las bases de datos de origen y destino. | Compruebe las bases de datos de origen y destino para confirmar que los datos se están replicando correctamente. Puede realizar una validación básica utilizando las tablas `select count(1)` de origen y destino. | Administrador de base de datos | 

## 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/)
+ [Replicación lógica para PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) (documentación de Amazon RDS)
+ [pglogical (repositorio)](https://github.com/2ndQuadrant/pglogical) GitHub 
+ [Limitaciones de pglogical](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) (archivo README del repositorio) GitHub 
+ [Migración de PostgreSQL de un entorno local o de Amazon EC2 a Amazon RDS mediante la replicación lógica](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/) (blog de AWS Database)