REFRESH MATERIALIZED VIEW — замена содержимого материализованного представления
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
[ WITH [ NO ] DATA ]
REFRESH MATERIALIZED VIEW полностью заменяет содержимое материализованного представления. Для выполнения этой команды необходимо иметь привилегию
MAINTAIN
для данного материализованного представления. Старое содержимое удаляется. Если
WITH DATA указано (или подразумевается по умолчанию), выполняется исходный запрос для получения новых данных, и материализованное представление переходит в состояние, доступное для сканирования. Если WITH NO DATA указано, новые данные не генерируются, и материализованное представление остается в состоянии, недоступном для сканирования.
CONCURRENTLY и WITH NO DATA не могут быть указаны одновременно.
CONCURRENTLYОбновление материализованного представления без блокировки параллельных операций чтения из материализованного представления. Без этого параметра обновление, затрагивающее большое количество строк, как правило, потребляет меньше ресурсов и завершается быстрее, но может блокировать другие соединения, пытающиеся выполнить чтение из материализованного представления. Этот параметр может работать быстрее в тех случаях, когда изменяется небольшое количество строк.
Этот параметр допускается только при наличии как минимум одного
UNIQUE индекса материализованного представления, который использует только имена столбцов и включает все строки; то есть он не должен быть индексом по выражению или содержать WHERE условие.
Этот параметр можно использовать только в том случае, если материализованное представление уже заполнено данными.
Даже при использовании этого параметра только одна команда REFRESH может одновременно
выполняться для конкретного материализованного представления.
nameИмя (необязательно дополненное именем схемы) материализованного представления для обновления.
Если в ORDER BY запросе, определяющем материализованное представление, присутствует предложение ORDER BY, исходное содержимое материализованного представления будет упорядочено соответствующим образом; однако REFRESH MATERIALIZED
VIEW не гарантирует сохранение этого порядка.
Во время выполнения REFRESH MATERIALIZED VIEW значение search_path временно изменяется на pg_catalog,
pg_temp.
Данная команда заменяет содержимое материализованного представления с именем
order_summary используя запрос из определения материализованного представления и оставляя его в состоянии, доступном для сканирования:
REFRESH MATERIALIZED VIEW order_summary;
Данная команда освобождает место в хранилище, связанное с материализованным представлением,
annual_statistics_basis и оставляет его в состоянии, недоступном для
сканирования:
REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;
REFRESH MATERIALIZED VIEW является
Digital Q.DataBase расширением.