Optimiza, supervisa y soluciona problemas de operaciones de VACUUM en PostgreSQL

En este documento, se describen los aspectos básicos de la operación VACUUM en las bases de datos de PostgreSQL. También se describen los mecanismos para supervisar y ajustar el motor de la base de datos que mantiene el estado de las instancias de la base de datos.

PostgreSQL usa un protocolo de simultaneidad basado en instantáneas que crea varias versiones de filas de datos, a la vez que modifica los datos. Estas versiones de filas de datos se usan para leer una versión visible de los datos mediante una instantánea calculada sin adquirir el bloqueo de lectura en la fila de datos. PostgreSQL mantiene los ID de transacción (los ID de transacción insertados y borrados) para cada fila de datos y usa los ID de transacción junto con la instantánea calculada a fin de determinar la visibilidad de la fila. A medida que los datos crecen debido a las versiones anteriores de los datos, el tiempo necesario para analizar los datos (análisis de tablas o análisis de índices) aumenta. A fin de optimizar el tiempo de respuesta de la operación de análisis y usar el espacio de manera eficiente, debes reclamar las versiones y los metadatos (por ejemplo, ID de transacción) que se usan para mantener las versiones.

La operación VACUUM reclama las versiones borradas (recolección de elementos no utilizados) y los ID de transacción (ID de transacción inmovilizados). La operación VACUUM opera en datos en modos diferentes y con distintos niveles de disponibilidad de datos. Inmovilizar los ID de transacción es fundamental para el estado del sistema de base de datos, ya que el sistema bloquea a los escritores cada vez que el espacio de ID de transacción que se usa entra en un espacio reservado.

Los trabajos autovacuum que configuras intentan reclamar el ID de transacción de forma constante, pero pueden fallar. Este error se debe a una configuración insuficiente o a que la tasa de creación de los ID de transacción es tan alta que el trabajo autovacuum no puede alcanzar a la carga de trabajo. El propósito de este documento es mostrar cómo usar las operaciones VACUUM junto con los mecanismos para ajustar y supervisar diferentes aspectos de las operaciones VACUUM.

Descripción general

En este documento, se abordan los siguientes temas:

  • Inmovilización de los ID de transacción
  • Supervisión de los ID de transacción
  • Reclamo de espacio de almacenamiento
  • Configuración de alertas automatizadas de Cloud Monitoring

Para leer el informe completo, haz clic en el botón:

Descargar PDF