ALTER MATERIALIZED VIEW — 更改一个物化视图的定义
ALTER MATERIALIZED VIEW [ IF EXISTS ]nameaction[, ... ] ALTER MATERIALIZED VIEWnameDEPENDS ON EXTENSIONextension_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME [ COLUMN ]column_nameTOnew_column_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME TOnew_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameSET SCHEMAnew_schemaALTER MATERIALIZED VIEW ALL IN TABLESPACEname[ OWNED BYrole_name[, ... ] ] SET TABLESPACEnew_tablespace[ NOWAIT ] 其中action是下列之一: ALTER [ COLUMN ]column_nameSET STATISTICSintegerALTER [ COLUMN ]column_nameSET (attribute_option=value[, ... ] ) ALTER [ COLUMN ]column_nameRESET (attribute_option[, ... ] ) ALTER [ COLUMN ]column_nameSET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } CLUSTER ONindex_nameSET WITHOUT CLUSTER SET (storage_parameter=value[, ... ] ) RESET (storage_parameter[, ... ] ) OWNER TO {new_owner| CURRENT_USER | SESSION_USER }
   ALTER MATERIALIZED VIEW更改一个现有物化视图的
   多个辅助属性。
  
   要使用ALTER MATERIALIZED VIEW,你必须拥有该物化视图。要
   更改一个物化视图的模式,你还必须拥有新模式上的CREATE特权。要更
   改拥有者,你还必须是新拥有角色的一个直接或者间接成员,并且该角色必须拥有该
   物化视图所在模式上的CREATE特权(这些限制强制修改拥有者不
   能做一些通过删除和重建该物化视图做不到的事情。不过,一个超级用户怎么都能更改
   任何视图的所有权。)。
  
   DEPENDS ON EXTENSION形式把该物化视图标记为依赖于一个
   扩展,这样该扩展被删除时会自动地删除掉这个物化视图。
  
   可用于ALTER MATERIALIZED VIEW的语句形式和动作是
   ALTER TABLE的一个子集,并且在用于物化视图时具有相
   同的含义。详见ALTER TABLE的描述。
  
name一个现有物化视图的名称(可以是模式限定的)。
column_name一个新的或者现有的列的名称。
extension_name该物化视图所依赖的扩展的名称。
new_column_name一个现有列的新名称。
new_owner该物化视图的新拥有者的用户名。
new_name该物化视图的新名称。
new_schema该物化视图的新模式。
   把物化视图foo重命名为
   bar:
ALTER MATERIALIZED VIEW foo RENAME TO bar;
   ALTER MATERIALIZED VIEW是一种
   PostgreSQL扩展。