Обновление материализованного представления
Механизм PostgreSQL: снимок результата запроса хранится как таблица и обновляется только явно, в отличие от обычных представлений. REFRESH MATERIALIZED VIEW name. Подходит для тяжёлых агрегаций, которым не нужна точность в реальном времени.
Флаг CONCURRENTLY даёт неблокирующее обновление (нужен UNIQUE-индекс): во время refresh можно читать данные. Цена — более долгое обновление. Типичный приём: ночной cron обновляет представления с агрегатами за последние сутки. Современная альтернатива — инкрементальное обслуживание представлений (расширение pg_ivm): пересчитываются только изменения, а не всё целиком. Refresh создаёт новую версию и подменяет её атомарно. Изменение схемы требует цикла DROP + CREATE. В облачных хранилищах (Snowflake, BigQuery) обновление происходит автоматически при изменении исходных таблиц.