mirror of
https://github.com/postgres/postgres.git
synced 2025-12-22 17:42:17 +03:00
The grammar changes in commit bbe0a81db6
allow SET COMPRESSION to be used with ALTER MATERIALIZED VIEW as
well as with ALTER TABLE, so update those docs to say that it works.
Also, update the documentation for the pg_column_compression()
to explain that it will return NULL when there's no relevant value.
Patch by me, per concerns from Michael Paquier.
Discussion: http://postgr.es/m/CA+Tgmob9h5u4iNL9KM0drZgkY-JL4oCVW0dWrMqtLPQ1zHkquA@mail.gmail.com
185 lines
6.7 KiB
Plaintext
185 lines
6.7 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/alter_materialized_view.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="sql-altermaterializedview">
|
|
<indexterm zone="sql-altermaterializedview">
|
|
<primary>ALTER MATERIALIZED VIEW</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>ALTER MATERIALIZED VIEW</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>ALTER MATERIALIZED VIEW</refname>
|
|
<refpurpose>change the definition of a materialized view</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
ALTER MATERIALIZED VIEW [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
|
|
<replaceable class="parameter">action</replaceable> [, ... ]
|
|
ALTER MATERIALIZED VIEW <replaceable class="parameter">name</replaceable>
|
|
[ NO ] DEPENDS ON EXTENSION <replaceable class="parameter">extension_name</replaceable>
|
|
ALTER MATERIALIZED VIEW [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
|
|
RENAME [ COLUMN ] <replaceable class="parameter">column_name</replaceable> TO <replaceable class="parameter">new_column_name</replaceable>
|
|
ALTER MATERIALIZED VIEW [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
|
|
RENAME TO <replaceable class="parameter">new_name</replaceable>
|
|
ALTER MATERIALIZED VIEW [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
|
|
SET SCHEMA <replaceable class="parameter">new_schema</replaceable>
|
|
ALTER MATERIALIZED VIEW ALL IN TABLESPACE <replaceable class="parameter">name</replaceable> [ OWNED BY <replaceable class="parameter">role_name</replaceable> [, ... ] ]
|
|
SET TABLESPACE <replaceable class="parameter">new_tablespace</replaceable> [ NOWAIT ]
|
|
|
|
<phrase>where <replaceable class="parameter">action</replaceable> is one of:</phrase>
|
|
|
|
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET STATISTICS <replaceable class="parameter">integer</replaceable>
|
|
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET ( <replaceable class="parameter">attribute_option</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] )
|
|
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> RESET ( <replaceable class="parameter">attribute_option</replaceable> [, ... ] )
|
|
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
|
|
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET COMPRESSION <replaceable class="parameter">compression_method</replaceable>
|
|
CLUSTER ON <replaceable class="parameter">index_name</replaceable>
|
|
SET WITHOUT CLUSTER
|
|
SET ( <replaceable class="parameter">storage_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )
|
|
RESET ( <replaceable class="parameter">storage_parameter</replaceable> [, ... ] )
|
|
OWNER TO { <replaceable class="parameter">new_owner</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
<command>ALTER MATERIALIZED VIEW</command> changes various auxiliary
|
|
properties of an existing materialized view.
|
|
</para>
|
|
|
|
<para>
|
|
You must own the materialized view to use <command>ALTER MATERIALIZED
|
|
VIEW</command>. To change a materialized view's schema, you must also have
|
|
<literal>CREATE</literal> 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 <literal>CREATE</literal> 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.)
|
|
</para>
|
|
|
|
<para>
|
|
The statement subforms and actions available for
|
|
<command>ALTER MATERIALIZED VIEW</command> are a subset of those available
|
|
for <command>ALTER TABLE</command>, and have the same meaning when used for
|
|
materialized views. See the descriptions for
|
|
<link linkend="sql-altertable"><command>ALTER TABLE</command></link>
|
|
for details.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The name (optionally schema-qualified) of an existing materialized view.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">column_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
Name of a new or existing column.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">extension_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The name of the extension that the materialized view is to depend on (or no longer
|
|
dependent on, if <literal>NO</literal> is specified). A materialized view
|
|
that's marked as dependent on an extension is automatically dropped when
|
|
the extension is dropped.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_column_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
New name for an existing column.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_owner</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The user name of the new owner of the materialized view.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_name</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The new name for the materialized view.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">new_schema</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The new schema for the materialized view.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<para>
|
|
To rename the materialized view <literal>foo</literal> to
|
|
<literal>bar</literal>:
|
|
<programlisting>
|
|
ALTER MATERIALIZED VIEW foo RENAME TO bar;
|
|
</programlisting></para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
<command>ALTER MATERIALIZED VIEW</command> is a
|
|
<productname>PostgreSQL</productname> extension.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-creatematerializedview"/></member>
|
|
<member><xref linkend="sql-dropmaterializedview"/></member>
|
|
<member><xref linkend="sql-refreshmaterializedview"/></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|