#805

Dela upp loggar efter år så att gamla delar kan slängas

Tabellen logs samlar 500 miljoner rader om året — index sväller, vacuum saktar ner, och att radera ett gammalt år rad för rad tar en evighet. Lösningen är partitionering efter skapandeår: varje del lever i sin egen fysiska tabell, och ett föråldrat år kan släppas i sin helhet på millisekunder. Bygg en logs-tabell med id (typ BIGSERIAL), ts (timestamp med tidszon, obligatorisk) och payload (text), partitionerad per intervall över ts. Skapa två partitioner — logs_2024 för datum från 1 januari 2024 fram till 1 januari 2025 (övre gränsen exklusiv) och logs_2025 för nästa år enligt samma princip. En insättning hamnar i rätt partition efter datum automatiskt.

Exempel på förväntad utdata

Så här ser ett korrekt svar ut — radantalet är dess eget, det behöver inte matcha schematabellerna.

relname
logs_2024
logs_2025

Ditt frågeresultat visas här

Inget startschema

Den här uppgiften börjar utan tabeller — du skapar dem med CREATE TABLE.