Los slots de replicación inactivos provocan una acumulación continua de registros de escritura anticipada (WAL). Si no se atienden, estos registros acumulados agotan el espacio en disco, bloquean la instancia y rechazan todas las solicitudes de escritura. Utilice la función de gestión de registros WAL para identificar y eliminar los slots de replicación inactivos antes de que afecten su carga de trabajo.
Elimine los slots de replicación inactivos de inmediato. La acumulación de registros WAL puede causar el siguiente fallo crítico:
Bloqueo de instancia: Cuando se agota el espacio en disco, la instancia cambia a modo de solo lectura y rechaza todas las solicitudes de escritura.
Los slots de replicación eliminados no se pueden reutilizar.
Contexto
Un slot de replicación rastrea el progreso de la replicación y garantiza que los registros WAL se conserven hasta que todos los suscriptores los hayan consumido. Esto evita la pérdida de datos durante la replicación por streaming.
Un slot se vuelve inactivo cuando su suscriptor se desconecta, tiene una configuración incorrecta o presenta un retraso prolongado en la replicación. Mientras permanece inactivo, el slot retiene los registros WAL indefinidamente; el proceso checkpointer no puede eliminarlos hasta que se elimine o reactive el slot.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de ApsaraDB RDS for PostgreSQL
Acceso a la consola de ApsaraDB RDS
Gestión de slots de replicación
Consulta de slots de replicación
En la consola:
Vaya a la página de Instances. En la barra de navegación superior, seleccione la región donde reside su instancia. Haga clic en el ID de la instancia.
En el panel de navegación izquierdo, elija Logs > WAL Logs.
En la pestaña WAL File Management, revise la lista de slots de replicación.
La columna Whether Active (asociada al campo active) muestra el estado de cada slot. Los slots con estado INACTIVE están acumulando registros WAL.
La siguiente tabla describe todos los campos de la pestaña WAL File Management.
|
Columna |
**Campo en |
Descripción |
|
Slot name |
|
Nombre del slot de replicación. |
|
Slot type |
|
Tipo de slot de replicación: |
|
Plugin |
|
Plugin de salida que utiliza el slot. ApsaraDB RDS for PostgreSQL admite |
|
Temporary slot |
|
Indica si el slot es temporal. Un slot temporal solo existe durante la sesión actual y se elimina automáticamente al finalizar la sesión. Valores: |
|
Database name |
|
Base de datos donde reside el slot de replicación. |
|
Accumulated WAL files |
Calculado por AliPG |
Volumen de registros WAL acumulados para el slot, en MB. Se calcula mediante |
|
Logical subscription latency |
Calculado por AliPG |
Retraso de replicación en el nodo suscriptor correspondiente a este slot, en segundos. Se calcula a partir de |
|
Whether active |
|
Indica si el slot está en uso. Valores: |
Eliminación de un slot de replicación inactivo
En la consola:
En la pestaña WAL File Management, localice un slot que muestre
INACTIVEen la columna Whether Active.Si el slot de replicación aún está en uso, cambie su estado a ACTIVE.
Si el slot ya no es necesario, haga clic en Delete en la columna Actions.
No es posible eliminar los slots de replicación activos.
Tras la eliminación, los registros WAL retenidos por el slot se liberan automáticamente y el proceso checkpointer los limpia.
Notas de uso
No es posible eliminar los slots de replicación activos.
Un slot de replicación eliminado no se puede reutilizar. Si aún requiere replicación, cree un nuevo slot.
Parámetros relacionados
Los siguientes parámetros de PostgreSQL controlan la retención de registros WAL y el comportamiento de los checkpoints. Configúrelos en los parámetros de la instancia.
|
Parámetro |
Descripción |
|
|
Tamaño de registros WAL que desencadena un checkpoint. |
|
|
Tamaño mínimo de registros WAL que se conserva en disco para reutilizarse en un futuro checkpoint. Los registros WAL por debajo de este umbral se reciclan en lugar de eliminarse. |
|
|
Cantidad de memoria compartida utilizada para los datos WAL que aún no se han escrito en disco. |
Pasos siguientes
Referencia de API
DescribeSlots: Consulta todos los slots de replicación de una instancia.
DeleteSlot: Elimina un slot de replicación de una instancia.