Configuración de la replicación lógica para el clúster de base de datos de Aurora PostgreSQL
La configuración de la replicación lógica requiere privilegios de rds_superuser
. El clúster de base de datos de Aurora PostgreSQL debe estar configurado para usar un grupo de parámetros de clúster de base de datos personalizado, de modo que pueda establecer los parámetros necesarios tal como se detalla en el procedimiento siguiente. Para obtener más información, consulte Grupos de parámetros de clústeres de base de datos para clústeres de base de datos en Amazon Aurora.
Configuración de la replicación lógica para el clúster de base de datos de Aurora PostgreSQL
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija el clúster de base de datos de Aurora PostgreSQL.
-
Haga clic en la pestaña Configuration (Configuración). En los detalles de la instancia, busque el enlace Grupo de parámetros con el Grupo de parámetros de clúster de base de datos para Tipo.
-
Elija el enlace para abrir los parámetros personalizados asociados al clúster de base de datos de Aurora PostgreSQL.
-
En el campo de búsqueda Parameters (Parámetros), escriba
rds
para buscar el parámetrords.logical_replication
. El valor predeterminado de este parámetro es0
, lo que significa que está desactivado de forma predeterminada. -
Elija Edit parameters (Editar parámetros) para acceder a los valores de las propiedades y, a continuación, elija
1
en el selector para activar la función. En función del uso previsto, es posible que también tenga que cambiar la configuración de los siguientes parámetros. Sin embargo, en muchos casos, los valores predeterminados son suficientes.-
max_replication_slots
: establezca este parámetro en un valor que sea al menos igual al número total planificado de publicaciones y suscripciones de replicación lógica. Si utiliza AWS DMS, este parámetro debe ser igual al menos a las tareas de captura de datos de cambios planificadas del clúster, además de las publicaciones y suscripciones de replicación lógica. -
max_wal_senders
y:max_logical_replication_workers
establezca estos parámetros a un valor que sea al menos igual al número de ranuras de replicación lógica que desea queden activas o el número de tareas activas de AWS DMS para la captura de datos de cambios. Dejar inactiva una ranura de replicación lógica evita que vacuum elimine las tuplas obsoletas de las tablas, por lo que se recomienda supervisar las ranuras de replicación y eliminar las ranuras inactivas cuando sea necesario. -
max_worker_processes
: establezca este parámetro en un valor que sea al menos igual al total de los valoresmax_logical_replication_workers
,autovacuum_max_workers
ymax_parallel_workers
. En las clases de instancias de base de datos pequeñas, los procesos de trabajo en segundo plano pueden afectar a las cargas de trabajo de las aplicaciones, por lo que debe supervisarse el rendimiento de la base de datos si establecemax_worker_processes
en un valor superior al predeterminado. (El valor predeterminado es el resultado deGREATEST(${DBInstanceVCPU*2},8}
, lo que significa que, de forma predeterminada, es 8 o dos veces el equivalente en CPU de la clase de instancia de base de datos, lo que sea mayor).
nota
Se pueden modificar los valores de los parámetros de un grupo de parámetros de base de datos creado por el cliente, pero no se pueden modificar los valores de los parámetros de un grupo de parámetros de base de datos predeterminado.
-
Elija Guardar cambios.
Reinicie la instancia de escritor de su clúster de base de datos de Aurora PostgreSQL para que los cambios surtan efecto. En la consola de Amazon RDS, elija la instancia de base de datos principal del clúster y elija Reboot (Reiniciar) en el menú Actions (Acciones).
Cuando la instancia esté disponible, puede comprobar que la replicación lógica esté activada de la siguiente manera.
Use
psql
para conectarse a la instancia de escritor de su clúster de base de datos de Aurora PostgreSQL.psql --host=
your-db-cluster-instance-1
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
--password --dbname=labdb
Compruebe que la replicación lógica esté habilitada mediante el siguiente comando.
labdb=>
SHOW rds.logical_replication;
rds.logical_replication ------------------------- on (1 row)
Verifique que el parámetro
wal_level
esté establecido enlogical
.labdb=>
SHOW wal_level;
wal_level ----------- logical (1 row)
Para ver un ejemplo del uso de la replicación lógica para mantener una tabla de base de datos sincronizada con los cambios de un clúster de base de datos de Aurora PostgreSQL de origen, consulte Ejemplo: uso de la replicación lógica con clústeres de base de datos de Aurora PostgreSQL.