CREATE MATERIALIZED VIEW
Эта страница переведена при помощи нейросети GigaChat.
CREATE MATERIALIZED VIEW — создание нового материализованного представления.
Синтаксис
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
[ (column_name [, ...] ) ]
[ USING method ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ TABLESPACE tablespace_name ]
AS query
[ WITH [ NO ] DATA ]
Описание
CREATE MATERIALIZED VIEW создает материализованное представление на основе указанного запроса. Запрос выполняется и используется для заполнения представления во время выполнения команды (если не указано WITH NO DATA). Позже содержимое представления можно обновить с помощью команды REFRESH MATERIALIZED VIEW.
Команда похожа на CREATE TABLE AS, но в отличие от нее, сохраняет сам запрос, что позволяет в будущем обновлять данные. Материализованное представление во многом ведет себя как обычная таблица, но временные материализованные представления не поддерживаются.
Для создания материализованного представления необходимо иметь привилегию CREATE в целевой схеме.
Параметры
IF NOT EXISTS- Подавляет ошибку, если материализованное представление с указанным именем уже существует, вместо этого будет выдано уведомление. Однако наличие представления с таким именем не означает, что оно идентично тому, которое попытались создать.
table_name- Задает имя материализованного представления, при необходимости дополненное схемой, которое должно быть создано. Имя должно быть уникальным среди всех объектов (таблиц, представлений, последовательностей и т.п.) в пределах той же схемы.
column_name- Задает имя столбца в создаваемом материализованном представлении. Если имена столбцов не указаны, они определяются по именам столбцов результата запроса.
USING method- Определяет метод доступа к данным, который будет использоваться для хранения содержимого представления, параметр необязателен.
Должен быть метод типа
TABLE. Смотрите главу «Определение интерфейса для табличных методов доступа» для получения дополнительной информации. Если не указан — используется метод доступа по умолчанию (default_table_access_method).
WITH (storage_parameter [=value] [, ... ])- Задает опциональные параметры хранения данных для нового материализованного представления. Смотрите подраздел «Параметры хранения» в описании параметров команды
CREATE TABLEдля получения дополнительной информации. Все параметры, поддерживаемые для CREATE TABLE, также поддерживаются и дляCREATE MATERIALIZED VIEW.
TABLESPACE tablespace_name- Указывает табличное пространство, в котором будет создано представление. Если не указано, используется значение из параметра default_tablespace.
query- Указывает запрос SELECT, TABLE или VALUES, результат которого сохраняется в представлении. Этот запрос выполняется в режиме с ограничениями безопасности, и, например, вызов функций, создающих временные таблицы, приведет к ошибке. Также во время выполнения команды
search_pathвременно меняется наpg_catalog,pg_temp.
WITH [ NO ] DATA- Указывает, нужно ли сразу заполнять представление данными:
WITH DATA— данные загружаются при создании.WITH NO DATA— данные не загружаются, и представление помечается как недоступное для запросов до тех пор, пока не будет выполнена командаREFRESH MATERIALIZED VIEW.
Совместимость
CREATE MATERIALIZED VIEW является расширением PostgreSQL.
Смотрите также
ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW