REFRESH MATERIALIZED VIEW <refpurpose>replace the contents of a materialized view</refpurpose> — マテリアライズドビューの内容を置換する
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
[ WITH [ NO ] DATA ]
<command>REFRESH MATERIALIZED VIEW</command> completely replaces the
contents of a materialized view. To execute this command you must have the
<literal>MAINTAIN</literal>
privilege on the materialized view. The old contents are discarded. If
<literal>WITH DATA</literal> is specified (or defaults) the backing query
is executed to provide the new data, and the materialized view is left in a
scannable state. If <literal>WITH NO DATA</literal> is specified no new
data is generated and the materialized view is left in an unscannable
state.
REFRESH MATERIALIZED VIEW
はマテリアライズドビューの内容を完全に置き換えます。
このコマンドを実行するには、マテリアライズドビューに対してMAINTAIN
権限を持っていなければなりません。
古い内容は破棄されます。
WITH DATA
が指定されている場合(またはデフォルトでは)、新しいデータを提供するために裏付け問い合わせが実行され、マテリアライズドビューはスキャン可能状態になります。
WITH NO DATA
が指定されている場合、新しいデータは生成されず、マテリアライズドビューはスキャン不可状態になります。
<literal>CONCURRENTLY</literal> and <literal>WITH NO DATA</literal> may not
be specified together.
CONCURRENTLY
とWITH NO DATA
を同時に指定することはできません。
CONCURRENTLY
Refresh the materialized view without locking out concurrent selects on the materialized view. Without this option a refresh which affects a lot of rows will tend to use fewer resources and complete more quickly, but could block other connections which are trying to read from the materialized view. This option may be faster in cases where a small number of rows are affected. そのマテリアライズドビューに対して同時に実行されるSELECTをロックすることなく、マテリアライズドビューをREFRESHします。 このオプションを使わない場合、多くの行に影響を与えるREFRESHはリソースをあまり使わず、早く終わる代わりに、そのマテリアライズドビューから読み込もうとしている他の接続をブロックするかもしれません。 影響を与える行が少ない場合は、このオプションは速いかもしれません。
This option is only allowed if there is at least one
<literal>UNIQUE</literal> index on the materialized view which uses only
column names and includes all rows; that is, it must not be an
expression index or include a <literal>WHERE</literal> clause.
このオプションは、マテリアライズドビューに、列名だけを使い、すべての行を含むUNIQUE
インデックスが少なくとも1つある場合にのみ使えます。
つまり、それは式のインデックスであったり、WHERE
句を含んでいてはいけません。
This option can only be used when the materialized view is already populated. このオプションは、マテリアライズドビューに既にデータを投入してある場合にのみ使えます。
Even with this option only one <literal>REFRESH</literal> at a time may
run against any one materialized view.
このオプションを使う場合でも、1つのマテリアライズドビューに対して同時に実行できるREFRESH
は一つだけです。
name
The name (optionally schema-qualified) of the materialized view to refresh. 更新するマテリアライズドビューの名前(スキーマ修飾可)です。
If there is an <literal>ORDER BY</literal> clause in the materialized
view's defining query, the original contents of the materialized view
will be ordered that way; but <command>REFRESH MATERIALIZED
VIEW</command> does not guarantee to preserve that ordering.
マテリアライズドビューを定義する問い合わせにORDER BY
句があれば、マテリアライズドビューの元の内容はその順序で並べられます。ですが、REFRESH MATERIALIZED VIEW
は、その順序が保たれることを保証しません。
While <command>REFRESH MATERIALIZED VIEW</command> is running, the <xref
linkend="guc-search-path"/> is temporarily changed to <literal>pg_catalog,
pg_temp</literal>.
REFRESH MATERIALIZED VIEW
の実行中、search_pathは一時的にpg_catalog, pg_temp
に変更されます。
This command will replace the contents of the materialized view called
<literal>order_summary</literal> using the query from the materialized
view's definition, and leave it in a scannable state:
以下のコマンドは、マテリアライズドビューの定義からの問い合わせを用いてorder_summary
というマテリアライズドビューの内容を置き換え、スキャン可能状態とします。
REFRESH MATERIALIZED VIEW order_summary;
This command will free storage associated with the materialized view
<literal>annual_statistics_basis</literal> and leave it in an unscannable
state:
以下のコマンドはマテリアライズドビューannual_statistics_basis
に関連する格納領域を解放し、スキャン不可状態とします。
REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;
<command>REFRESH MATERIALIZED VIEW</command> is a
<productname>PostgreSQL</productname> extension.
REFRESH MATERIALIZED VIEW
はPostgreSQLの拡張です。