ALTER MATERIALIZED VIEW - Amazon Redshift

ALTER MATERIALIZED VIEW

マテリアライズドビューの属性を変更します。

構文

ALTER MATERIALIZED VIEW mv_name [ AUTO REFRESH { YES | NO } ] [ ROW LEVEL SECURITY { ON | OFF } [ CONJUNCTION TYPE { AND | OR } ] [FOR DATASHARES] ];

パラメータ

mv_name

変更するマテリアライズドビューの名前。

AUTO REFRESH { YES | NO }

マテリアライズドビューの自動更新をオンまたはオフにする句。マテリアライズドビューの自動更新の詳細については、「マテリアライズドビューの更新」を参照してください。

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