Logs nach Jahr aufteilen, damit alte Teile verworfen werden können
Die Tabelle logs sammelt 500 Mio. Zeilen pro Jahr — die Indizes blähen sich auf, Vacuum wird langsamer, und ein altes Jahr Zeile für Zeile zu löschen, dauert ewig. Die Lösung ist die Partitionierung nach Erstellungsjahr: Jeder Teil lebt in seiner eigenen physischen Tabelle, und ein veraltetes Jahr kann als Ganzes in Millisekunden verworfen werden.
Erstellen Sie eine Tabelle logs mit id (Typ BIGSERIAL), ts (Timestamp mit Zeitzone, erforderlich) und payload (Text), partitioniert nach Bereich über ts. Legen Sie zwei Partitionen an — logs_2024 für Daten vom 1. Januar 2024 bis zum 1. Januar 2025 (obere Grenze ausschließlich) und logs_2025 für das Folgejahr nach demselben Prinzip. Ein Insert landet automatisch nach Datum in der richtigen Partition.
Beispiel der erwarteten Ausgabe
So sieht eine korrekte Antwort aus — ihre Zeilenanzahl ist eigenständig und muss nicht mit den Schematabellen übereinstimmen.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Melde dich an, um den Einreichungsverlauf zu sehen
AnmeldenMelde dich an, um den KI-Mentor zu nutzen
AnmeldenKein Ausgangsschema
Diese Aufgabe beginnt ohne Tabellen — du erstellst sie mit CREATE TABLE.