Gestión de conflictos en la replicación activa-activa - Amazon Relational Database Service

Gestión de conflictos en la replicación activa-activa

La extensión pgactive funciona por base de datos y no por clúster. Cada instancia de base de datos que utiliza pgactive es una instancia independiente y puede aceptar cambios de datos de cualquier fuente. Cuando se envía un cambio a una instancia de base de datos, PostgreSQL lo confirma localmente y, a continuación, utiliza pgactive para replicar el cambio de forma asíncrona en otras instancias de base de datos. Cuando dos instancias de base de datos de PostgreSQL actualizan el mismo registro prácticamente al mismo tiempo, puede producirse un conflicto.

La extensión pgactive proporciona mecanismos para la detección y la resolución automática de conflictos. Realiza un seguimiento de la marca de tiempo en que se confirmó la transacción en ambas instancias de base de datos y aplica automáticamente el cambio con la última marca de tiempo. La extensión pgactive también registra cuando se produce un conflicto en la tabla pgactive.pgactive_conflict_history.

El pgactive.pgactive_conflict_history seguirá creciendo. Puede definir una política de depuración. Esto se puede hacer borrando algunos registros de forma regular o definiendo un esquema de partición para esta relación (y, luego, separando, descartando o truncando las particiones de interés). Para implementar la política de depuración de forma regular, una opción es usar la extensión pg_cron Consulte la siguiente información con un ejemplo para la tabla de historial de pg_cron Programación de mantenimiento con la extensión pg_cron de PostgreSQL.