#805

Divide los logs por año para poder eliminar bloques antiguos

La tabla logs acumula 500M de filas al año — los índices se hinchan, el vacuum se ralentiza y borrar un año antiguo fila por fila tarda una eternidad. La solución es particionar por año de creación: cada bloque vive en su propia tabla física, y un año obsoleto se puede eliminar entero en milisegundos. Construye una tabla logs con id (tipo BIGSERIAL), ts (marca de tiempo con zona horaria, obligatorio) y payload (texto), particionada por rango sobre ts. Crea dos particiones — logs_2024 para fechas desde el 1 de enero de 2024 hasta el 1 de enero de 2025 (límite superior exclusivo) y logs_2025 para el año siguiente bajo el mismo principio. Una inserción cae en la partición correcta según la fecha automáticamente.

Ejemplo de respuesta esperada

Así es una respuesta correcta: tiene su propio número de filas y no tiene por qué coincidir con las tablas del esquema.

relname
logs_2024
logs_2025

Aquí aparecerá el resultado de tu consulta

Sin esquema inicial

Este ejercicio no incluye tablas iniciales: tendrás que crearlas con CREATE TABLE.