En este documento se describen los aspectos básicos de la operación VACUUM
en bases de datos PostgreSQL. También se describen los mecanismos para monitorizar 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 copias de un momento concreto que crea varias versiones de las filas de datos mientras se modifican. Estas versiones de la fila de datos se usan para leer una versión visible de los datos mediante una copia de seguridad calculada sin adquirir un bloqueo de lectura en la fila de datos. PostgreSQL mantiene los IDs de transacción (IDs de transacción insertados y eliminados) de cada fila de datos y los usa junto con la instantánea calculada para determinar la visibilidad de la fila. A medida que los datos siguen creciendo debido a las versiones antiguas de los datos, aumenta el tiempo necesario para analizar los datos (análisis de tabla o análisis de índice). Para optimizar el tiempo de respuesta de la operación de análisis y usar el espacio de forma eficiente, debes reclamar las versiones y los metadatos (por ejemplo, el ID de transacción) que se usan para mantener las versiones.
La operación VACUUM
reclama las versiones eliminadas (recogida de elementos no utilizados) y los IDs de transacción (ID de transacción de inmovilización). La operación VACUUM
funciona con datos en diferentes modos y con distintos niveles de disponibilidad de datos. Congelar los IDs de transacción es fundamental para el buen estado del sistema de base de datos, ya que el sistema bloquea los escritores cuando el espacio de IDs de transacción utilizado entra en el espacio reservado.
Las autovacuum
tareas que configures intentarán constantemente reclamar el ID de transacción, pero pueden fallar. Este error se debe a que la configuración es insuficiente o a que la tasa de creación de IDs de transacción es tan alta que el trabajo autovacuum
no puede hacer frente a la carga de trabajo. El objetivo de este documento es mostrar cómo usar las operaciones de VACUUM
junto con los mecanismos para ajustar y monitorizar diferentes aspectos de las operaciones de VACUUM
.
Información general
En este documento se trata lo siguiente:
- Congelar IDs de transacción.
- Monitorizar los IDs de transacción.
- Recuperando espacio de almacenamiento.
- Configurar alertas automatizadas de Cloud Monitoring.
Para leer el informe completo, haz clic en el botón: