Продвинутый
Что такое декларативное партиционирование таблиц (Table Partitioning) в PostgreSQL?
Это встроенный механизм PostgreSQL для разбиения одной огромной таблицы на мелкие физические куски (партиции).
Как это работает:
1. Создается "Мастер-таблица" с указанием ключа: CREATE TABLE orders (...) PARTITION BY RANGE (created_at);
2. Создаются физические партиции: CREATE TABLE orders_2023 PARTITION OF orders FOR VALUES FROM ('2023-01-01') TO ('2024-01-01');
✅ Плюсы:
- Приложение делает INSERT в мастер-таблицу, а Postgres сам кладет строку в нужную партицию.
- Запросы с WHERE created_at = '2023-05-05' сканируют только одну партицию (Partition Pruning), что в сотни раз быстрее.
- Удаление старых данных делается мгновенно через DROP TABLE orders_2020.