Podziel logi według roku, by stare fragmenty dało się usuwać
Tabela logs zbiera 500 mln wierszy rocznie — indeksy puchną, vacuum zwalnia, a usuwanie starego roku wiersz po wierszu trwa wieczność. Rozwiązaniem jest partycjonowanie według roku utworzenia: każdy fragment żyje we własnej tabeli fizycznej, a przedawniony rok można odrzucić w całości w milisekundach.
Zbuduj tabelę logs z kolumnami id (typ BIGSERIAL), ts (timestamp ze strefą czasową, wymagany) oraz payload (tekst), partycjonowaną według zakresu po ts. Utwórz dwie partycje — logs_2024 dla dat od 1 stycznia 2024 do 1 stycznia 2025 (górna granica wyłączna) oraz logs_2025 dla kolejnego roku na tej samej zasadzie. Wstawiany wiersz automatycznie trafia do właściwej partycji według daty.
Przykładowy oczekiwany wynik
Tak wygląda poprawna odpowiedź — liczba jej wierszy jest swoista i nie musi odpowiadać tabelom ze schematu.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Zaloguj się, aby zobaczyć historię rozwiązań
Zaloguj sięZaloguj się, aby korzystać z Mentora AI
Zaloguj sięBrak schematu początkowego
To zadanie zaczyna się bez tabel — utworzysz je za pomocą CREATE TABLE.