ALTER_MATERIALIZED_VIEW(7pg16)

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

πŸ’… ALTER_MATERIALIZED_VIEW(7pg16) β€” PostgreSQL 16.15, but make it cute πŸ’…

okay so you opened the ALTER_MATERIALIZED_VIEW page from the PostgreSQL 16.15 Documentation, aka 7pg16, and honestly? iconic. this is the whole manual page, bestie β€” every flag, every parameter, every warning, no cap. let’s get into it 🫢✨


🌸 NAME 🌸

ALTER_MATERIALIZED_VIEW β€” literally changes the definition of a materialized view. that’s the name, that’s the vibe, periodt. πŸ’…


✨ SYNOPSIS ✨

okay so the whole menu is giving β€œchoose your own adventure”:

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 | DEFAULT }
    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. it’s the glow-up button for your MV’s side details, not a full rebuild β€” iykyk. ✨

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 be able to SET ROLE to 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 for details. lowkey ALTER TABLE is the parent friend here, and this page is the specialized bestie. 🫢


πŸŽ€ 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 πŸ“

to rename the materialized view foo to bar, do this exact thing:

ALTER MATERIALIZED VIEW foo RENAME TO bar;

slay. simple, clean, no notes. πŸ’–


πŸ”₯ COMPATIBILITY πŸ”₯

ALTER MATERIALIZED VIEW is a PostgreSQL extension. periodt. πŸ˜πŸ’œ


🌟 SEE ALSO 🌟


mwah πŸ’‹ okay that’s the page. source/version check: PostgreSQL 16.15, date: 2026, footer title energy: ALTER MA...IZED VIEW(7). byeee, go alter something cute 🫢✨

πŸ“¦ where this page comes from