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