ALTER MATERIALIZED VIEW
マテリアライズドビューの属性を変更します。
構文
ALTER MATERIALIZED VIEW mv_name { AUTO REFRESH { YES | NO } | ALTER DISTKEY column_name | ALTER DISTSTYLE ALL | ALTER DISTSTYLE EVEN | ALTER DISTSTYLE KEY DISTKEY column_name | ALTER DISTSTYLE AUTO | ALTER [COMPOUND] SORTKEY ( column_name [,...] ) | ALTER SORTKEY AUTO | ALTER SORTKEY NONE | ROW LEVEL SECURITY { ON | OFF } [ CONJUNCTION TYPE { AND | OR } ] [FOR DATASHARES] };
パラメータ
- mv_name
変更するマテリアライズドビューの名前。
- AUTO REFRESH { YES | NO }
-
マテリアライズドビューの自動更新をオンまたはオフにする句。マテリアライズドビューの自動更新の詳細については、「マテリアライズドビューの更新」を参照してください。
- ALTER DISTSTYLE ALL
-
リレーションの既存の分散スタイルを
ALL
に変更する句。以下の点を考慮してください。-
ALTER DISTSTYLE、ALTER SORTKEY、および VACUUM を同じリレーションに対して同時に実行することはできません。
-
VACUUM を実行中に、ALTER DISTSTYLE ALL を実行すると、エラーが返されます。
-
ALTER DISTSTYLE ALL が実行されている場合は、リレーションに対するバックグラウンドの VACUUM は開始しません。
-
-
ALTER DISTSTYLE ALL コマンドは、インターリーブソートキーを持つリレーションおよび一時テーブルではサポートされていません。
分散スタイルが以前に AUTO として定義されていた場合、そのリレーションは自動テーブル最適化の候補ではなくなります。
DISTSTYLE ALL の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
-
- ALTER DISTSTYLE EVEN
-
リレーションの既存の分散スタイルを
EVEN
に変更する句。以下の点を考慮してください。-
ALTER DISTSYTLE、ALTER SORTKEY、および VACUUM を同じリレーションに対して同時に実行することはできません。
-
VACUUM を実行中である場合、ALTER DISTSTYLE EVEN を実行すると、エラーが返されます。
-
ALTER DISTSTYLE EVEN が実行されている場合は、リレーションに対するバックグラウンドの VACUUM は開始しません。
-
ALTER DISTSTYLE EVEN コマンドは、インターリーブソートキーを持つリレーションおよび一時テーブルではサポートされていません。
分散スタイルが以前に AUTO として定義されていた場合、そのリレーションは自動テーブル最適化の候補ではなくなります。
DISTSTYLE EVEN の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
-
- ALTER DISTKEY column_name または ALTER DISTSTYLE KEY DISTKEY column_name
-
リレーションの分散キーとして使用される列を変更する句。以下の点を考慮してください。
-
同じリレーションに対して、VACUUM と ALTER DISTKEY を同時に実行することはできません。
-
VACUUM がすでに実行されている場合は、ALTER DISTKEY よりエラーが返ります。
-
ALTER DISTKEY が実行されている場合は、リレーションに対するバックグラウンドの VACUUM は開始しません。
-
ALTER DISTKEY が実行されている場合は、フォアグラウンドバキュームよりエラーが返ります。
-
-
ALTER DISTKEY コマンドは、1 つのリレーションに対して一度に 1 回のみ実行できます。
-
ALTER DISTKEY コマンドは、インターリーブソートキーを持つリレーションではサポートされていません。
分散スタイルが以前に AUTO として定義されていた場合、そのリレーションは自動テーブル最適化の候補ではなくなります。
DISTSTYLE KEY を指定する場合、データは、DISTKEY 列の値で分散されます。DISTSTYLE の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
-
- ALTER DISTSTYLE AUTO
-
リレーションの既存の分散スタイルを AUTO に変更する句。
分散スタイルを AUTO に変更すると、リレーションの分散スタイルは次のように設定されます。
DISTSTYLE ALL の小さなリレーションは、AUTO(ALL) に変換されます。
DISTSTYLE EVEN の小さなリレーションは、AUTO(ALL) に変換されます。
DISTSTYLE KEY の小さなリレーションは、AUTO(ALL) に変換されます。
DISTSTYLE ALL の大きなリレーションは、AUTO(EVEN) に変換されます。
DISTSTYLE EVEN の大きなリレーションは、AUTO(EVEN) に変換されます。
DISTSTYLE KEY の大きなリレーションは AUTO(KEY) に変換され、DISTKEY は保持されます。この場合、Amazon Redshift はリレーションに変更を加えません。
Amazon Redshift は、新しい分散スタイルまたはキーでクエリのパフォーマンスが向上すると判断した場合、リレーションの分散スタイルまたはキーを将来的に変更する可能性があります。例えば、DISTSTYLE が AUTO (KEY) のリレーションを AUTO(EVEN) に、またはその逆に変更する場合があります。分散キーが変更されたときの動作 (データの再分散やロックなど) の詳細については、「Amazon Redshift Advisor のレコメンデーション」を参照してください。
DISTSTYLE AUTO の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
リレーションの分散スタイルを表示するには、SVV_TABLE_INFO システムカタログビューをクエリします。詳細については、「SVV_TABLE_INFO」を参照してください。リレーションに対する Amazon Redshift Advisor のレコメンデーションを表示するには、SVV_ALTER_TABLE_RECOMMENDATIONS システムカタログビューをクエリします。詳細については、「SVV_ALTER_TABLE_RECOMMENDATIONS」を参照してください。Amazon Redshift が実行したアクションを表示するには、SVL_AUTO_WORKER_ACTION システムカタログビューにクエリを実行します。詳細については、「SVL_AUTO_WORKER_ACTION」を参照してください。
- ALTER [COMPOUND] SORTKEY ( column_name [,...] )
-
リレーションで使用されるソートキーを変更または追加する句。ALTER SORTKEY は一時テーブルではサポートされていません。
ソートキーを変更すると、新しいソートキーまたは元のソートキーの列の圧縮エンコードが変更される場合があります。リレーションに対してエンコードが明示的に定義されていない場合、Amazon Redshift は、次のように圧縮エンコードを自動的に割り当てます。
-
ソートキーとして定義されている列には、RAW 圧縮が割り当てられます。
-
BOOLEAN、REAL、または DOUBLE PRECISION データ型として定義されている列には、RAW 圧縮が割り当てられます。
-
SMALLINT、INTEGER、BIGINT、DECIMAL、DATE、TIME、TIMETZ、TIMESTAMP、または TIMESTAMPTZ として定義された列には AZ64 圧縮が割り当てられます。
-
CHAR または VARCHAR として定義された列には、LZO 圧縮が割り当てられます。
以下の点を考慮してください。
-
ソートキーには、リレーションあたり最大 400 列を定義できます。
-
インターリーブソートキーは、複合ソートキーに変更することが可能です。あるいは、ソートキーなしに変更することもできます。ただし、複合ソートキーをインターリーブソートキーに変更することはできません。
ソートキーが以前に AUTO として定義されていた場合、そのリレーションは自動テーブル最適化の候補ではなくなります。
-
Amazon Redshift では、ソートキーとして定義された列に RAW エンコード (圧縮なし) を使用することをお勧めします。列を変更してソートキーとして選択すると、列の圧縮が RAW 圧縮 (圧縮なし) に変更されます。これを受けて、リレーションに必要なストレージ量が増加する可能性があります。リレーションのサイズがどれだけ大きくなるかは、特定のリレーション定義とリレーションのコンテンツによって異なります。圧縮の詳細については、「圧縮エンコード」を参照してください。
データがリレーションにロードされる際、ソートキーの順序でロードされます。ソートキーが変更されると、Amazon Redshift によってデータの順序が変更されます。SORTKEY の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
-
- ALTER SORTKEY AUTO
-
ターゲットリレーションのソートキーを AUTO に変更または追加する句。ALTER SORTKEY AUTO は一時テーブルではサポートされていません。
ソートキーを AUTO に変更した場合は、そのリレーションの既存のソートキーが維持されます。
Amazon Redshift は、新しいソートキーでクエリのパフォーマンスが向上すると判断した場合、リレーションのソートキーを将来的に変更する可能性があります。
SORTKEY AUTO の詳細については、「CREATE MATERIALIZED VIEW」を参照してください。
リレーションのソートキーを表示するには、SVV_TABLE_INFO システムカタログビューをクエリします。詳細については、「SVV_TABLE_INFO」を参照してください。リレーションに対する Amazon Redshift Advisor のレコメンデーションを表示するには、SVV_ALTER_TABLE_RECOMMENDATIONS システムカタログビューをクエリします。詳細については、「SVV_ALTER_TABLE_RECOMMENDATIONS」を参照してください。Amazon Redshift が実行したアクションを表示するには、SVL_AUTO_WORKER_ACTION システムカタログビューにクエリを実行します。詳細については、「SVL_AUTO_WORKER_ACTION」を参照してください。
- ALTER SORTKEY NONE
-
ターゲットリレーションのソートキーを削除する句。
ソートキーが以前に AUTO として定義されていた場合、そのリレーションは自動テーブル最適化の候補ではなくなります。
- ROW LEVEL SECURITY { ON | OFF } [ CONJUNCTION TYPE { AND | OR } ] [ FOR DATASHARES ]
リレーションの行レベルのセキュリティをオンまたはオフにする句。
リレーションで行レベルのセキュリティがオンになっている場合、行レベルのセキュリティポリシーでアクセスが許可されている行のみを読み取ることができます。リレーションへのアクセス権を付与するポリシーがない場合は、リレーションから行を表示できません。ROW LEVEL SECURITY 句を設定できるのは、スーパーユーザーと、
sys:secadmin
ロールを持つユーザーまたはロールのみです。詳細については、「行レベルのセキュリティ」を参照してください。[ CONJUNCTION TYPE { AND | OR } ]
リレーションの行レベルのセキュリティポリシーの結合タイプを選択できる句。1 つのリレーションに複数の行レベルのセキュリティポリシーがアタッチされている場合、それらのポリシーを AND 句や OR 句で組み合わせることができます。デフォルトでは、Amazon Redshift は RLS ポリシーを AND 句で組み合わせます。スーパーユーザーと、
sys:secadmin
ロールを持つユーザーまたはロールは、この句を使用して、リレーションの行レベルのセキュリティポリシーの結合タイプを定義できます。詳細については、「ユーザーごとに複数ポリシーの組み合わせ」を参照してください。-
FOR DATASHARES
RLS で保護されたリレーションにデータ共有上でアクセスできるかどうかを決定する句。デフォルトでは、RLS で保護されたリレーションにデータ共有経由でアクセスすることはできません。この句を指定して実行される ALTER MATERIALIZED VIEW ROW LEVEL SECURITY コマンドは、リレーションのデータ共有アクセシビリティプロパティにのみ影響します。ROW LEVEL SECURITY のプロパティは変更されません。
RLS で保護されたリレーションにデータ共有上でアクセスできるようにした場合、コンシューマー側のデータ共有データベースにおいて、そのリレーションには行レベルのセキュリティが適用されません。リレーションはプロデューサー側の RLS プロパティを保持します。
例
次の例では、tickets_mv
マテリアライズドビューを自動的に更新できます。
ALTER MATERIALIZED VIEW tickets_mv AUTO REFRESH YES