Разрежи логовете по година, за да могат старите парчета да се изтриват
Таблицата logs събира 500 милиона реда годишно — индексите се раздуват, vacuum се забавя, а изтриването на стара година ред по ред отнема цяла вечност. Решението е партициониране по година на създаване: всяко парче живее в собствена физическа таблица, а остаряла година може да се отхвърли наведнъж за милисекунди.
Изгради таблица logs с id (тип BIGSERIAL), ts (timestamp с часова зона, задължително) и payload (текст), партиционирана по диапазон върху ts. Създай две партиции — logs_2024 за дати от 1 януари 2024 г. до 1 януари 2025 г. (горната граница не се включва) и logs_2025 за следващата година по същия принцип. Вмъкването попада в правилната партиция по дата автоматично.
Примерен очакван изход
Така изглежда правилният отговор — броят редове е негов собствен, не е задължително да съвпада с таблиците в схемата.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Влез, за да видиш историята на решенията
ВходВлез, за да използваш ИИ ментора
ВходНяма начална схема
Тази задача започва без таблици — ще ги създадеш чрез CREATE TABLE.