Verdeel logs per jaar zodat oude stukken kunnen worden weggegooid
Tabel logs verzamelt 500M rijen per jaar — indexen lopen op, vacuum vertraagt, en een oud jaar rij voor rij verwijderen duurt eindeloos. De oplossing is partitionering op aanmaakjaar: elk stuk leeft in zijn eigen fysieke tabel, en een verouderd jaar kan in zijn geheel in milliseconden worden weggegooid.
Bouw een tabel logs met id (type BIGSERIAL), ts (timestamp met tijdzone, verplicht) en payload (tekst), gepartitioneerd op bereik over ts. Maak twee partities — logs_2024 voor datums vanaf 1 januari 2024 tot 1 januari 2025 (bovengrens exclusief) en logs_2025 voor het volgende jaar volgens hetzelfde principe. Een insert belandt automatisch in de juiste partitie op basis van de datum.
Voorbeeld van verwachte uitvoer
Zo ziet een correct antwoord eruit — het aantal rijen is op zichzelf staand en hoeft niet overeen te komen met de schematabellen.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Log in om je inzendingsgeschiedenis te zien
InloggenLog in om de AI-mentor te gebruiken
InloggenGeen startschema
Deze opdracht begint zonder tabellen — je maakt ze aan via CREATE TABLE.