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