Fatie os logs por ano para poder descartar blocos antigos
A tabela logs acumula 500M de linhas por ano — os índices incham, o vacuum desacelera e apagar um ano antigo linha por linha leva uma eternidade. A solução é particionar por ano de criação: cada bloco vive em sua própria tabela física, e um ano obsoleto pode ser descartado por inteiro em milissegundos.
Construa uma tabela logs com id (tipo BIGSERIAL), ts (timestamp com fuso horário, obrigatório) e payload (texto), particionada por intervalo sobre ts. Crie duas partições — logs_2024 para datas de 1 de janeiro de 2024 até 1 de janeiro de 2025 (limite superior exclusivo) e logs_2025 para o ano seguinte sob o mesmo princípio. Uma inserção cai na partição certa pela data automaticamente.
Exemplo de resposta esperada
É assim que se parece uma resposta correta: ela tem seu próprio número de linhas e não precisa coincidir com as tabelas do esquema.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Entre para ver seu histórico de envios
EntrarEntre para usar o AI Mentor
EntrarSem esquema inicial
Esta tarefa não inclui tabelas iniciais: você vai criá-las com CREATE TABLE.