CREATE MATERIALIZED VIEW — создание нового материализованного представления
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ]table_name[ (column_name[, ...] ) ] [ USINGmethod] [ WITH (storage_parameter[=value] [, ... ] ) ] [ TABLESPACEtablespace_name] ASquery[ WITH [ NO ] DATA ]
Команда CREATE MATERIALIZED VIEW определяет материализованное представление запроса. Запрос выполняется и используется для заполнения представления в момент выполнения команды (если не используется WITH NO DATA), и может быть обновлено позже с помощью команды REFRESH MATERIALIZED VIEW.
Команда CREATE MATERIALIZED VIEW похожа на CREATE TABLE AS, за исключением того, что она также запоминает запрос, использованный для инициализации представления, чтобы его можно было позже обновить по требованию. Материализованное представление имеет многие из тех же свойств, что и таблица, но временные материализованные представления не поддерживаются.
Для выполнения CREATE MATERIALIZED VIEW требуется привилегия CREATE на схему, используемую для материализованного представления.
IF NOT EXISTSНе вызывать ошибку, если материализованное представление с таким именем уже существует. В этом случае выдаётся уведомление. Обратите внимание, что нет гарантии, что существующее материализованное представление хоть как-то похоже на то, которое было бы создано.
table_nameИмя (возможно, с указанием схемы) создаваемого материализованного представления. Имя должно отличаться от имени любого другого отношения (таблицы, последовательности, индекса, представления, материализованного представления или сторонней таблицы) в той же схеме.
column_nameИмя столбца в новом материализованном представлении. Если имена столбцов не предоставлены, они берутся из выходных имён столбцов запроса.
USING method
Это необязательное предложение указывает метод доступа к таблице для хранения содержимого нового материализованного представления; метод должен быть методом доступа типа TABLE. Подробнее см. в разделе Глава 7.11. Если этот параметр не указан, для нового материализованного представления выбирается метод доступа к таблицам по умолчанию. Подробнее см. в разделе default_table_access_method.
WITH ( storage_parameter [= value] [, ... ] )
Это предложение задаёт необязательные параметры хранения для нового материализованного представления; подробности см. в разделе Storage Parameters документации к CREATE TABLE. Все параметры, поддерживаемые для CREATE TABLE, также поддерживаются для CREATE MATERIALIZED VIEW. Подробнее см. в разделе CREATE TABLE.
TABLESPACE tablespace_name
tablespace_name — это имя табличного пространства, в котором создаётся новое материализованное представление. Если не указано, используется значение default_tablespace.
query
Команда SELECT, TABLE или VALUES. Этот запрос выполняется в рамках операции с ограниченной безопасностью; в частности, вызовы функций, которые сами создают временные таблицы, завершатся ошибкой. Также во время выполнения запроса search_path временно изменяется на pg_catalog, pg_temp.
WITH [ NO ] DATA
Это предложение указывает, должно ли материализованное представление заполняться при создании. Если нет, материализованное представление будет помечено как несканируемое, и запросы к нему невозможны до использования команды REFRESH MATERIALIZED VIEW.
CREATE MATERIALIZED VIEW является расширением Digital Q.DataBase.