ALTER TABLE ... MODIFY QUERY ステートメントを使用して、materialized view の作成時に指定した SELECT クエリを変更できます。
このコマンドは、TO [db.]name 句を指定して作成された materialized view を変更するためのものです。基盤となるストレージテーブルの構造は変更されず、materialized view のカラム定義も変更されません。そのため、TO [db.]name 句なしで作成された materialized view に対しては、このコマンドの適用範囲は非常に限定的です。
TO テーブルを使った例
SELECT セクションだけなので、このアプリケーションには大きな制約があります。
ALTER TABLE … MODIFY REFRESH ステートメント
ALTER TABLE ... MODIFY REFRESH は、スケジュール、依存関係、ランダム化、リフレッシュ設定 など、リフレッシャブルmaterialized view のリフレッシュパラメータを変更します。
EVERY または AFTER) の指定は必須です。このステートメントでは、すべてのリフレッシュパラメータが一度に置き換えられます。RANDOMIZE FOR、DEPENDS ON、SETTINGS のいずれであっても、指定されなかった句は削除されるか、既定値にリセットされます。リフレッシュ設定のみを変更する場合は、現在のスケジュールも再度指定してください。
このコマンドは、materialized view やそのターゲットテーブルを再作成したり、既存のターゲットデータを消去したり、すでに実行中のリフレッシュをキャンセルしたりすることなく、既存のビューのリフレッシュ構成をその場で更新します。構成の変更中も、既存のターゲットテーブルに対する読み取りは継続します。
同じ完全な REFRESH 指定でコマンドを繰り返し実行しても安全です。上記のとおり、実行するたびにすべてのリフレッシュパラメータが置き換えられるため、構成を維持する必要があるすべての句を必ず繰り返し指定してください。
ALTER TABLE ... MODIFY SETTINGは materialized view ではサポートされていません。リフレッシュ設定はMODIFY REFRESHでのみ変更できます。APPENDの追加または削除はサポートされていません。all_replicasリフレッシュ設定は、ビューの作成後は変更できません。
system.view_refreshes で確認できます。