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