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