Razreži dnevnike po letih, da je stare dele mogoče odvreči
Tabela logs zbere 500 milijonov vrstic na leto — indeksi narastejo, vacuum se upočasni, brisanje starega leta po vrsticah pa traja večno. Rešitev je particioniranje po letu nastanka: vsak del živi v svoji fizični tabeli, zastarelo leto pa je mogoče v celoti odvreči v milisekundah.
Zgradi tabelo logs z id (tip BIGSERIAL), ts (časovni žig s časovnim pasom, obvezno) in payload (besedilo), particionirano po razponu glede na ts. Ustvari dve particiji — logs_2024 za datume od 1. januarja 2024 do 1. januarja 2025 (zgornja meja izključno) in logs_2025 za naslednje leto po istem načelu. Vstavljanje samodejno pristane v pravi particiji glede na datum.
Vzorec pričakovanega izhoda
Tako izgleda pravilen odgovor — ima svoje število vrstic in se ni treba ujemati s tabelami sheme.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Prijavite se za ogled zgodovine oddaj
PrijavaPrijavite se za uporabo mentorja UI
PrijavaBrez začetne sheme
Ta naloga se začne brez tabel — ustvarili jih boste z ukazom CREATE TABLE.