Découper les logs par année pour pouvoir supprimer les anciens blocs
La table logs accumule 500 M de lignes par an — les index gonflent, le vacuum ralentit et supprimer une année entière ligne par ligne prend une éternité. La solution est le partitionnement par année de création : chaque bloc vit dans sa propre table physique, et une année obsolète peut être supprimée en bloc en quelques millisecondes.
Construisez une table logs avec id (type BIGSERIAL), ts (timestamp avec fuseau horaire, obligatoire) et payload (texte), partitionnée par plage sur ts. Créez deux partitions — logs_2024 pour les dates du 1er janvier 2024 jusqu'au 1er janvier 2025 (borne supérieure exclue) et logs_2025 pour l'année suivante selon le même principe. Une insertion arrive automatiquement dans la bonne partition en fonction de la date.
Exemple de sortie attendue
Voici à quoi ressemble une réponse correcte — son nombre de lignes lui est propre, il n'a pas à correspondre aux tables du schéma.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Connectez-vous pour voir l'historique des soumissions
Se connecterConnectez-vous pour utiliser le Mentor IA
Se connecterAucun schéma de départ
Cet exercice démarre sans aucune table — vous les créerez via CREATE TABLE.