Trabaja con archivos de registro del WAL de la base de datos de PostgreSQL

Descripción general

Datastream usa el registro de transacciones del WAL (registro de escritura por adelantado) de PostgreSQL para leer transmisiones de PostgreSQL. El registro se almacena en archivos WAL en el servidor de la base de datos. Cada registro del registro de WAL representa un solo cambio en los datos reales de una de las tablas de la base de datos.

Establece parámetros de configuración para archivos WAL de PostgreSQL

Te recomendamos que apliques la siguiente configuración a tu base de datos de PostgreSQL:

  • max_slot_wal_keep_size: Establece este parámetro (disponible solo para PostgreSQL 13 y versiones posteriores) a fin de limitar la cantidad de almacenamiento que usa la ranura de replicación. Esto es especialmente importante para las transacciones de larga duración, que, en casos extremos, pueden provocar que el tamaño del archivo WAL ocupe todo el almacenamiento y haga que la base de datos falle.

  • statement_timeout: Establece este parámetro en un valor seleccionado para reducir la latencia causada por las transacciones de larga duración. También puedes usar statement_timeout como medida de precaución alternativa para las bases de datos que no admiten max_slot_wal_keep_size.

  • wal_sender_timeout: Establece este parámetro en 0 (para inhabilitar el tiempo de espera) o en un valor mayor o igual que 10 minutos.

Si planeas crear más de 10 transmisiones o si la cantidad de ranuras de replicación lógicas que usan otros recursos, además de la cantidad de transmisiones planificadas, supera los 10, asegúrate de modificar los siguientes parámetros:

  • max_replication_slots: Aumenta el valor de este parámetro, según la cantidad de ranuras de replicación configuradas para la base de datos (necesitas 1 ranura de replicación por transmisión). Solo puedes configurar max_replication_slots cuando se inicia el servidor.

  • max_wal_senders: Aumenta el valor de este parámetro para que sea mayor que el valor del parámetro max_replication_slots. Solo puedes configurar max_wal_senders cuando inicias el servidor.

¿Qué sigue?