======================= ALTER MATERIALIZED VIEW ======================= .. container:: refentry :name: SQL-ALTERMATERIALIZEDVIEW .. container:: titlepage .. container:: refnamediv .. rubric:: ALTER MATERIALIZED VIEW :name: alter-materialized-view ALTER MATERIALIZED VIEW — 更改一个物化视图的定义 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis ALTER MATERIALIZED VIEW [ IF EXISTS ] name action [, ... ] ALTER MATERIALIZED VIEW name 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 ] 其中 action是下列之一: 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 ( storage_parameter = value [, ... ] ) RESET ( storage_parameter [, ... ] ) OWNER TO { new_owner | CURRENT_USER | SESSION_USER } .. container:: refsect1 :name: id-1.9.3.19.5 .. rubric:: 描述 :name: 描述 ``ALTER MATERIALIZED VIEW``\ 更改一个现有物化视图的 多个辅助属性。 要使用\ ``ALTER MATERIALIZED VIEW``\ ,你必须拥有该物化视图。要 更改一个物化视图的模式,你还必须拥有新模式上的\ ``CREATE``\ 权限。要更 改拥有者,你还必须是新拥有角色的一个直接或者间接成员,并且该角色必须拥有该 物化视图所在模式上的\ ``CREATE``\ 权限(这些限制强制修改拥有者不 能做一些通过删除和重建该物化视图做不到的事情。不过,一个超级用户怎么都能更改 任何视图的所有权。)。 ``DEPENDS ON EXTENSION``\ 形式把该物化视图标记为依赖于一个 扩展,这样该扩展被删除时会自动地删除掉这个物化视图。 可用于\ ``ALTER MATERIALIZED VIEW``\ 的语句形式和动作是 ``ALTER TABLE``\ 的一个子集,并且在用于物化视图时具有相 同的含义。详见\ `ALTER TABLE `__\ 的描述。 .. container:: refsect1 :name: id-1.9.3.19.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist ``name`` 一个现有物化视图的名称(可以是模式限定的)。 ``column_name`` 一个新的或者现有的列的名称。 ``extension_name`` 该物化视图所依赖的扩展的名称。 ``new_column_name`` 一个现有列的新名称。 ``new_owner`` 该物化视图的新拥有者的用户名。 ``new_name`` 该物化视图的新名称。 ``new_schema`` 该物化视图的新模式。 .. container:: refsect1 :name: id-1.9.3.19.7 .. rubric:: 示例 :name: 示例 把物化视图\ ``foo``\ 重命名为 ``bar``\ : .. code:: programlisting ALTER MATERIALIZED VIEW foo RENAME TO bar; .. container:: refsect1 :name: id-1.9.3.19.8 .. rubric:: 兼容性 :name: 兼容性 ``ALTER MATERIALIZED VIEW``\ 是一种 OushuDB 扩展。 .. container:: refsect1 :name: id-1.9.3.19.9 .. rubric:: 另见 :name: 另见 `CREATE MATERIALIZED VIEW `__, `DROP MATERIALIZED VIEW `__, `REFRESH MATERIALIZED VIEW `__