

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# ALTER MATERIALIZED VIEW
<a name="r_ALTER_MATERIALIZED_VIEW"></a>

Modifie les attributs d’une vue matérialisée. 

## Syntaxe
<a name="r_ALTER_MATERIALIZED_VIEW-synopsis"></a>

```
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]
};
```

## Parameters
<a name="r_ALTER_MATERIALIZED_VIEW-parameters"></a>

*mv\$1name*  
Nom de la vue matérialisée à modifier.

AUTO REFRESH \$1 YES \$1 NO \$1  
Clause qui active ou désactive l’actualisation automatique d’une vue matérialisée. Pour en savoir plus sur l’actualisation automatique des vues matérialisées, consultez [Actualisation d’une vue matérialisée](materialized-view-refresh.md).

ALTER DISTSTYLE ALL  
Clause qui modifie le style de distribution existant d’une relation en `ALL`. Éléments à prendre en compte :  
+ ALTER DISTSYTLE, ALTER SORTKEY et VACUUM ne peuvent pas s’exécuter simultanément sur la même relation. 
  + Si VACUUM est en cours d’exécution, l’exécution de ALTER DISTSTYLE ALL renvoie une erreur. 
  + Si ALTER DISTSTYLE ALL est en cours d’exécution, une opération VACCUM en arrière-plan ne démarre pas sur une relation. 
+ La commande ALTER DISTSTYLE ALL n’est pas prise en charge pour les relations ayant des clés de tri entrelacées et les tables temporaires.
+ Si le style de distribution était précédemment défini sur AUTO, la relation n’est plus candidate à l’optimisation automatique. 
Pour plus d’informations sur DISTSTYLE ALL, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE EVEN  
Clause qui modifie le style de distribution existant d’une relation en `EVEN`. Éléments à prendre en compte :  
+ ALTER DISTSTYLE, ALTER SORTKEY et VACUUM ne peuvent pas être exécutés simultanément sur la même table. 
  + Si VACUUM est en cours d’exécution, l’exécution d’ALTER DISTSTYLE EVEN renvoie une erreur. 
  + Si ALTER DISTSTYLE EVEN est en cours d’exécution, une opération VACCUM en arrière-plan ne démarre pas sur une relation. 
+ La commande ALTER DISTSTYLE EVEN n’est pas prise en charge pour les relations ayant des clés de tri entrelacées et les tables temporaires.
+ Si le style de distribution était précédemment défini sur AUTO, la relation n’est plus candidate à l’optimisation automatique. 
Pour plus d’informations sur DISTSTYLE EVEN, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTKEY *nom\$1colonne* ou ALTER DISTSTYLE KEY DISTKEY *nom\$1colonne*  
Clause qui modifie la colonne utilisée en tant que clé de distribution d’une relation. Éléments à prendre en compte :  
+ VACUUM et ALTER DISTKEY ne peuvent pas s’exécuter simultanément sur la même relation. 
  + Si VACUUM est déjà en cours d’exécution, ALTER DISTKEY renvoie une erreur.
  + Si ALTER DISTKEY est en cours d’exécution, l’opération VACCUM en arrière-plan ne démarre pas sur une relation.
  + Si ALTER DISTKEY est en cours d’exécution, l’opération VACCUM au premier plan renvoie une erreur.
+ Vous pouvez exécuter une seule commande ALTER DISTKEY sur une relation simultanément. 
+ La commande ALTER DISTKEY n’est pas prise en charge pour les relations ayant des clés de tri entrelacées. 
+ Si le style de distribution était précédemment défini sur AUTO, la relation n’est plus candidate à l’optimisation automatique. 
Lorsque DISTSTYLE KEY est spécifié, les données sont distribuées par les valeurs figurant dans la colonne DISTKEY. Pour plus d’informations sur DISTSTYLE, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE AUTO  
Clause qui modifie le style de distribution existant d’une relation en AUTO.   
Lorsque vous modifiez un style de distribution sur AUTO, le style de distribution de la relation est défini comme suit :   
+ Une petite relation avec DISTSTYLE ALL est convertie en AUTO(ALL). 
+ Une petite relation avec DISTSTYLE EVEN est convertie en AUTO(ALL). 
+ Une petite relation avec DISTSTYLE KEY est convertie en AUTO(ALL). 
+ Une grande relation avec DISTSTYLE ALL est convertie en AUTO(EVEN). 
+ Une grande relation avec DISTSTYLE EVEN est convertie en AUTO(EVEN). 
+ Une grande relation avec DISTSTYLE KEY est convertie en AUTO(KEY) et la DISTKEY est conservée. Dans ce cas, Amazon Redshift ne modifie pas la relation.
Si Amazon Redshift détermine qu’un nouveau style de distribution ou une nouvelle clé améliorera les performances des requêtes, Amazon Redshift peut modifier le style de distribution ou la clé de votre relation à l’avenir. Par exemple, Amazon Redshift peut convertir une relation avec DISTSTYLE pour AUTO(KEY) en AUTO(EVEN), ou vice versa. Pour en savoir plus sur le comportement dans le cas où des clés de distribution sont modifiées, notamment sur le plan de la redistribution des données et des verrous, consultez [Recommandations Amazon Redshift Advisor](https://docs.aws.amazon.com/redshift/latest/dg/advisor-recommendations.html#alter-diststyle-distkey-recommendation).  
Pour plus d’informations sur DISTSTYLE AUTO, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Pour afficher le style de distribution appliqué à une relation, interrogez la vue du catalogue système SVV\$1TABLE\$1INFO. Pour plus d’informations, consultez la section concernant [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Pour afficher les recommandations Amazon Redshift Advisor pour les relations, recherchez la vue catalogue système SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS. Pour plus d’informations, consultez la section concernant [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Pour afficher les actions effectuées par Amazon Redshift, interrogez la vue catalogue système SVL\$1AUTO\$1WORKER\$1ACTION. Pour plus d’informations, consultez la section concernant [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER [COMPOUND] SORTKEY ( *column\$1name* [,...] )  
Clause qui modifie ou ajoute la clé de tri utilisée pour une relation. ALTER SORTKEY n’est pas pris en charge pour les tables temporaires.  
Lorsque vous modifiez une clé de tri, l’encodage par compression des colonnes de la nouvelle clé de tri ou de la clé de tri originale peut changer. Si aucun encodage n’est explicitement défini pour la relation, Amazon Redshift attribue automatiquement les codages de compression comme suit :  
+ Les colonnes qui sont définies comme des clés de tri se voient attribuer une compression RAW.
+ Les colonnes qui sont définies comme des types de données BOOLEAN, REAL ou DOUBLE PRECISION se voient attribuer une compression RAW.
+ Les colonnes définies comme SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIME, TIMETZ, TIMESTAMP ou TIMESTAMPTZ sont soumises à une compression. AZ64
+ Les colonnes définies comme CHAR ou VARCHAR sont affectées à la compression LZO.
Éléments à prendre en compte :  
+ Vous pouvez définir 400 colonnes au maximum par relation pour une clé de tri. 
+ Vous pouvez modifier une clé de tri entrelacée en clé de tri composée ou en aucune clé de tri. Toutefois, vous ne pouvez pas modifier une clé de tri composée par une clé de tri entrelacée. 
+ Si la clé de tri était précédemment définie sur AUTO, la relation n’est plus candidate à l’optimisation automatique. 
+ Amazon Redshift recommande d’utiliser l’encodage RAW (sans compression) pour les colonnes définies comme des clés de tri. Lorsque vous modifiez une colonne pour la choisir comme clé de tri, la compression de la colonne passe en compression RAW (sans compression). Cela peut augmenter la quantité de stockage requise par la relation. L’augmentation de la taille de la relation dépend de la définition et du contenu spécifiques de la relation. Pour plus d’informations sur la compression, consultez [encodages de compression](c_Compression_encodings.md). 
Les données sont chargées dans une relation en fonction de la clé de tri. Lorsque vous modifiez la clé de tri, Amazon Redshift modifie l’ordre des données. Pour plus d’informations sur SORTKEY, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER TRUTKEY AUTO  
Clause qui modifie ou ajoute la clé de tri de la relation cible à AUTO. ALTER SORTKEY AUTO n’est pas pris en charge pour les tables temporaires.   
Lorsque vous modifiez une clé de tri en AUTO, Amazon Redshift conserve la clé de tri existante de la relation.   
Si Amazon Redshift détermine qu’une nouvelle clé de tri améliorera les performances des requêtes, Amazon Redshift peut modifier la clé de tri de votre relation à l’avenir.   
Pour plus d’informations sur SORTKEY AUTO, consultez [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Pour afficher la clé de tri d’une relation, interrogez la vue catalogue système SVV\$1\$1TABLE\$1INFO. Pour plus d’informations, consultez la section concernant [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Pour afficher les recommandations Amazon Redshift Advisor pour les relations, recherchez la vue catalogue système SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS. Pour plus d’informations, consultez la section concernant [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Pour afficher les actions effectuées par Amazon Redshift, interrogez la vue catalogue système SVL\$1AUTO\$1WORKER\$1ACTION. Pour plus d’informations, consultez la section concernant [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER SORTKEY NONE  
Clause qui supprime la clé de tri de la relation cible.   
Si la clé de tri était précédemment définie sur AUTO, la relation n’est plus candidate à l’optimisation automatique. 

ROW LEVEL SECURITY \$1 ON \$1 OFF \$1 [ CONJUNCTION TYPE \$1 AND \$1 OR \$1 ] [ FOR DATASHARES ]  
Clause qui active ou désactive la sécurité au niveau des lignes pour une relation.  
Lorsque la sécurité au niveau des lignes est activée pour une relation, vous pouvez lire uniquement les lignes auxquelles cette politique vous autorise à accéder. Si aucune politique ne vous accorde l’accès à la relation, vous ne pouvez voir aucune ligne pour la relation. Seuls les super-utilisateurs et les utilisateurs ou les rôles dotés du rôle `sys:secadmin` peuvent définir la clause ROW LEVEL SECURITY. Pour plus d’informations, consultez [Sécurité au niveau des lignes](t_rls.md).  
+ [ CONJUNCTION TYPE \$1 AND \$1 OR \$1 ] 

  Clause qui vous permet de choisir le type de conjonction de la politique de sécurité au niveau des lignes pour une relation. Lorsque plusieurs politiques de sécurité au niveau des lignes sont associées à une relation, vous pouvez les combiner avec la clause AND ou OR. Par défaut, Amazon Redshift associe les politiques RLS à la clause AND. Les super-utilisateurs, utilisateurs ou rôles disposant du rôle `sys:secadmin` peuvent utiliser cette clause pour définir le type de conjonction de la politique de sécurité au niveau des lignes pour une relation. Pour plus d’informations, consultez [Association de plusieurs politiques par utilisateur](t_rls_combine_policies.md). 
+ FOR DATASHARES

   Clause qui détermine s’il est possible d’accéder à une relation protégée par RLS sur les unités de partage des données. Par défaut, une relation protégée par RLS n’est pas accessible sur une unité de partage des données. Une commande ALTER MATERIALIZED VIEW ROW LEVEL SECURITY exécutée avec cette clause affecte uniquement la propriété d’accessibilité de l’unité de partage des données de la relation. La propriété ROW LEVEL SECURITY n’est pas modifiée.

   Si vous rendez accessible une relation protégée par RLS via des unités de partage des données, la relation n’est pas sécurisée au niveau des lignes dans la base de données de l’unité de partage des données côté consommateur. La relation conserve sa propriété RLS du côté producteur. 

## Exemples
<a name="r_ALTER_MATERIALIZED_VIEW-examples"></a>

L’exemple suivant active la vue matérialisée `tickets_mv` à actualiser automatiquement.

```
ALTER MATERIALIZED VIEW tickets_mv AUTO REFRESH YES
```

# Exemples de DISTSTYLE et SORTKEY pour ALTER MATERIALIZED VIEW
<a name="r_ALTER_MATERIALIZED_VIEW-DISTSTYLE-SORTKEY-examples"></a>

Les exemples présentés dans cette rubrique vous montrent comment effectuer les modifications DISTSTYLE et SORTKEY à l’aide de ALTER MATERIALIZED VIEW.

Les exemples de requêtes suivants montrent comment modifier une colonne DISTSTYLE KEY DISTKEY à l’aide d’un exemple de table de base :

```
CREATE TABLE base_inventory(
  inv_date_sk int4 NOT NULL,
  inv_item_sk int4 NOT NULL,
  inv_warehouse_sk int4 NOT NULL,
  inv_quantity_on_hand int4
);

INSERT INTO base_inventory VALUES(1,1,1,1);

CREATE materialized VIEW inventory diststyle even AS SELECT * FROM base_inventory;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER diststyle KEY distkey inv_warehouse_sk;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER distkey inv_item_sk;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```

Modifier une vue matérialisée en DISTSTYLE ALL :

```
CREATE TABLE base_inventory(
  inv_date_sk int4 NOT NULL,
  inv_item_sk int4 NOT NULL,
  inv_warehouse_sk int4 NOT NULL,
  inv_quantity_on_hand int4
);

INSERT INTO base_inventory VALUES(1,1,1,1);

CREATE materialized VIEW inventory diststyle even AS SELECT * FROM base_inventory;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER MATERIALIZED VIEW inventory ALTER diststyle ALL;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```

Les commandes suivantes présentent des exemples ALTER MATERIALIZED VIEW SORTKEY utilisant un exemple de table de base :

```
CREATE TABLE base_inventory (c0 int, c1 int);

INSERT INTO base_inventory VALUES(1,1);

CREATE materialized VIEW inventory interleaved sortkey(c0, c1) AS SELECT * FROM base_inventory;
SELECT "table", sortkey1 FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey(c0, c1);
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey NONE;
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey(c0);
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```