Migre de PostgreSQL en EC2 Amazon a Amazon RDS para PostgreSQL mediante pglogical - Recomendaciones de AWS

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

Creado por Rajesh Madiwale (AWS)

Resumen

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

Requisitos previos 

Versiones de producto

  • PostgreSQL versión 10 y posteriores en Amazon RDS, con las funciones compatibles con Amazon RDS (consulte PostgreSQL en Amazon RDS 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

Arquitectura de migración de datos

Arquitectura de migración de datos para PostgreSQL en Amazon RDS

Herramientas

Epics

TareaDescripciónHabilidades 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.

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.
  1. Utilice la utilidad pg_dump con la opción -s de generar un archivo de esquema a partir de la base de datos de origen.

  2. Utilice la utilidad psql con la opción -f de cargar el esquema en la base de datos de destino.

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.

Administrador de base de datos
Cree la extensión pglogical en las bases de datos de origen y destino.
  1. Cree la extensión pglogical en la base de datos PostgreSQL de origen:

    psql -h <amazon-ec2-endpoint> -d target-dbname -U target-dbuser -c "create extension pglogical;"
  2. Cree la extensión pglogical en la base de datos PostgreSQL de destino:

    psql -h <amazon-rds-endpoint> -d source-dbname -U source-dbuser -c "create extension pglogical;"
Administrador de base de datos
Cree un publicador en la base de datos PostgreSQL de origen.

Para crear un publicador, ejecute:

psql -d dbname -p 5432 <<EOF SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' ); EOF
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:

psql -d dbname -p 5432 <<EOF SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true); EOF
Administrador de base de datos
Cree un suscriptor.

Para crear un suscriptor en la base de datos PostgreSQL de destino, ejecute:

psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF SELECT pglogical.create_node(     node_name := 'subscriber1', dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser' ); EOF
Administrador de base de datos
Cree una suscripción.

Para crear una suscripción en la base de datos PostgreSQL de destino, ejecute:

psql -h <rds-endpoint> -d target -U postgres <<EOF SELECT pglogical.create_subscription(  subscription_name := 'subscription1',  replication_sets := array['default'],     provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser' );
Administrador de base de datos
TareaDescripciónHabilidades 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