ALTER MATERIALIZED VIEW

ALTER MATERIALIZED VIEW

7

SQL - Language Statements

ALTER MATERIALIZED VIEW

change the definition of a materialized view

ALTER MATERIALIZED VIEW \[ IF EXISTS \]

name

action

\[, \... \] ALTER MATERIALIZED VIEW

name

\[ NO \] DEPENDS ON EXTENSION

extension\_name

ALTER MATERIALIZED VIEW \[ IF EXISTS \]

name

RENAME \[ COLUMN \]

column\_name

TO

new\_column\_name

ALTER MATERIALIZED VIEW \[ IF EXISTS \]

name

RENAME TO

new\_name

ALTER MATERIALIZED VIEW \[ IF EXISTS \]

name

SET SCHEMA

new\_schema

ALTER MATERIALIZED VIEW ALL IN TABLESPACE

name

\[ OWNED BY

role\_name

\[, \... \] \] SET TABLESPACE

new\_tablespace

\[ NOWAIT \]

where

action

is one of:

ALTER \[ COLUMN \]

column\_name

SET STATISTICS

integer

ALTER \[ COLUMN \]

column\_name

SET (

attribute\_option

=

value

\[, \... \] ) ALTER \[ COLUMN \]

column\_name

RESET (

attribute\_option

\[, \... \] ) ALTER \[ COLUMN \]

column\_name

SET STORAGE { PLAIN \| EXTERNAL \| EXTENDED \| MAIN } ALTER \[ COLUMN \]

column\_name

SET COMPRESSION

compression\_method

CLUSTER ON

index\_name

SET WITHOUT CLUSTER SET ACCESS METHOD

new\_access\_method

SET TABLESPACE

new\_tablespace

SET (

storage\_parameter

\[=

value

\] \[, \... \] ) RESET (

storage\_parameter

\[, \... \] ) OWNER TO {

new\_owner

\| CURRENT\_ROLE \| CURRENT\_USER \| SESSION\_USER }

Description
===========

`ALTER MATERIALIZED VIEW` changes various auxiliary properties of an
existing materialized view.

You must own the materialized view to use `ALTER MATERIALIZED
   VIEW`. To change a materialized view\'s schema, you must also have
`CREATE` privilege on the new schema. To alter the owner, you must also
be a direct or indirect member of the new owning role, and that role
must have `CREATE` privilege on the materialized view\'s schema. (These
restrictions enforce that altering the owner doesn\'t do anything you
couldn\'t do by dropping and recreating the materialized view. However,
a superuser can alter ownership of any view anyway.)

The statement subforms and actions available for
`ALTER MATERIALIZED VIEW` are a subset of those available for
`ALTER TABLE`, and have the same meaning when used for materialized
views. See the descriptions for [`ALTER TABLE`](#sql-altertable) for
details.

Parameters
==========

name

:   The name (optionally schema-qualified) of an existing materialized
    view.

column\_name

:   Name of a new or existing column.

extension\_name

:   The name of the extension that the materialized view is to depend on
    (or no longer dependent on, if `NO` is specified). A materialized
    view that\'s marked as dependent on an extension is automatically
    dropped when the extension is dropped.

new\_column\_name

:   New name for an existing column.

new\_owner

:   The user name of the new owner of the materialized view.

new\_name

:   The new name for the materialized view.

new\_schema

:   The new schema for the materialized view.

Examples
========

To rename the materialized view `foo` to `bar`:

    ALTER MATERIALIZED VIEW foo RENAME TO bar;

Compatibility
=============

`ALTER MATERIALIZED VIEW` is a PostgreSQL extension.

See Also
========
