Вопросы к Поиску с Алисой
Разница между командами REFRESH MATERIALIZED VIEW и REFRESH MATERIALIZED VIEW CONCURRENTLY заключается в подходе к обновлению материализованного представления (Materialized View) в PostgreSQL. www.postgresql.org www.dbvis.com
REFRESH MATERIALIZED VIEW полностью заменяет содержимое материализованного представления. www.postgresql.org Во время обновления на него накладывается блокировка, из-за чего оно недоступно для других операций. www.dbvis.com
REFRESH MATERIALIZED VIEW CONCURRENTLY позволяет обновлять материализованное представление без блокировки параллельных запросов. www.postgresql.org www.dbvis.com При этом внутренне создаётся временная структура данных с новыми результатами запроса материализованного представления. docs.vultr.com Старые и новые результаты сравниваются, и изменения применяются к исходному материализованному представлению с помощью операций UPDATE и INSERT. docs.vultr.com
Для использования команды REFRESH MATERIALIZED VIEW CONCURRENTLY необходимо, чтобы материализованное представление содержало хотя бы один уникальный индекс на основе столбцов. docs.vultr.com