ALTER_MATERIALIZED_VIEW(7pg13)

πŸ“¦ version 13.23, in opensuse-leap 16.0

✨ NAME ✨

okay bestie, this whole page is ALTER_MATERIALIZED_VIEW β€” the manual name is literally ALTER_MATERIALIZED_VIEW(7pg13), straight outta the PostgreSQL 13.23 Documentation β€” and it's about changing the definition of a materialized view. πŸ’…

πŸŽ€ SYNOPSIS πŸŽ€

here's the exact shape of it, no cap:

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 }
    CLUSTER ON index_name
    SET WITHOUT CLUSTER
    SET TABLESPACE new_tablespace
    SET ( storage_parameter [= value] [, ... ] )
    RESET ( storage_parameter [, ... ] )
    OWNER TO { new_owner | CURRENT_USER | SESSION_USER }

πŸ’… DESCRIPTION πŸ’…

so ALTER MATERIALIZED VIEW changes various auxiliary properties of an existing materialized view. that's the whole plot. 🫢

bestie, the ownership rules are giving main character energy: 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 (ALTER_TABLE(7)) for details. iykyk πŸ‘‘

🌸 PARAMETERS 🌸

  • name β€” the name (optionally schema-qualified) of an existing materialized view.
  • column_name β€” name of an 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 πŸ¦‹

say you wanna rename the materialized view foo to bar, bestie:

ALTER MATERIALIZED VIEW foo RENAME TO bar;

⭐ COMPATIBILITY ⭐

ALTER MATERIALIZED VIEW is a PostgreSQL extension. that's the compatibility section, periodt. πŸ¦‹

πŸ”₯ SEE ALSO πŸ”₯

xoxo, your Unix bestie β€” source/version: PostgreSQL 13.23, date: 2025 πŸ’–βœ¨

πŸ“¦ where this page comes from