Chapter 24. Tareas rutinarias de mantenimiento de la base de datos

Table of Contents

24.1. Vacío rutinario
24.1.1. Conceptos básicos del vacío
24.1.2. Recuperando espacio en disco
24.1.3. Actualización de las estadísticas del planificador
24.1.4. Actualización del mapa de visibilidad
24.1.5. Prevención de fallos por desbordamiento de ID de transacción
24.1.6. El demonio de autovacuum
24.2. Reindexación rutinaria
24.3. Mantenimiento de archivos de registro

PostgreSQL, como cualquier software de base de datos, requiere que se realicen ciertas tareas con regularidad para lograr un rendimiento óptimo. Las tareas que se analizan aquí son necesarias, pero son de naturaleza repetitiva y se pueden automatizar fácilmente utilizando herramientas estándar como scripts de cron o el Programador de tareas de Windows. Es responsabilidad del administrador de la base de datos configurar los scripts adecuados y verificar que se ejecuten correctamente.

Una tarea de mantenimiento obvia es la creación de copias de seguridad de los datos de forma regular. Sin una copia de seguridad reciente, no tienes ninguna posibilidad de recuperación después de una catástrofe (fallo de disco, incendio, eliminación accidental de una tabla crítica, etc.). Los mecanismos de copia de seguridad y recuperación disponibles en PostgreSQL se analizan en detalle en el Chapter 25.

La otra categoría principal de tareas de mantenimiento es el vacío (vacuuming) periódico de la base de datos. Esta actividad se analiza en el Section 24.1. Muy relacionado con esto está la actualización de las estadísticas que utilizará el planificador de consultas, como se describe en el Section 24.1.3.

Otra tarea que podría necesitar atención periódica es la gestión de los archivos de registro. Esto se describe en el Section 24.3.

check_postgres está disponible para monitorear la salud de la base de datos y reportar condiciones inusuales. check_postgres se integra con Nagios y MRTG, pero también se puede ejecutar de forma independiente.

PostgreSQL requiere poco mantenimiento en comparación con otros sistemas de gestión de bases de datos. No obstante, prestar la atención adecuada a estas tareas ayudará mucho a garantizar una experiencia agradable y productiva con el sistema.