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 |
Logga in för att se historik över inskick
Logga inLogga in för att använda AI-mentorn
Logga inInget startschema
Den här uppgiften börjar utan tabeller — du skapar dem med CREATE TABLE.