

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Modifica gli attributi di una vista materializzata. 

## Sintassi
<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\_name*  
Il nome della vista materializzata da modificare.

AUTO REFRESH { YES \| NO }  
Una clausola che attiva o disattiva l'aggiornamento automatico di una vista materializzata. Per informazioni sull'aggiornamento automatico delle viste materializzate, consultare [Aggiornamento di una vista materializzata](materialized-view-refresh.md).

ALTER DISTSTYLE ALL  
Una clausola che modifica lo stile di distribuzione esistente di una relazione e lo imposta su `ALL`. Considera i seguenti aspetti:  
+ ALTER DISTSTYLE, ALTER SORTKEY e VACUUM non possono essere eseguiti contemporaneamente per la stessa relazione. 
  + Se VACUUM è attualmente in esecuzione, l'esecuzione di ALTER DISTSTYLE ALL restituisce un errore. 
  + Se ALTER DISTSTYLE ALL è in esecuzione, il vacuum di background non viene avviato per una relazione. 
+ Il comando ALTER DISTSTYLE ALL non è supportato per le relazioni con chiavi di ordinamento interlacciate e tabelle temporanee.
+ Se lo stile di distribuzione è stato precedentemente definito come AUTO, la tabella non è più un candidato per l’ottimizzazione automatica della tabella. 
Per ulteriori informazioni su DISTSTYLE ALL, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE EVEN  
Una clausola che modifica lo stile di distribuzione esistente di una relazione e lo imposta su `EVEN`. Considera i seguenti aspetti:  
+ ALTER DISTSYTLE, ALTER SORTKEY e VACUUM non possono essere eseguiti contemporaneamente per la stessa relazione. 
  + Se VACUUM è attualmente in esecuzione, l'esecuzione di ALTER DISTSTYLE EVEN restituisce un errore. 
  + Se ALTER DISTSTYLE EVEN è in esecuzione, il vacuum di background non viene avviato per una relazione. 
+ Il comando ALTER DISTSTYLE EVEN non è supportato per le relazioni con chiavi di ordinamento interlacciate e tabelle temporanee.
+ Se lo stile di distribuzione è stato precedentemente definito come AUTO, la tabella non è più un candidato per l’ottimizzazione automatica della tabella. 
Per ulteriori informazioni su DISTSTYLE EVEN, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTKEY *column\_name* o ALTER DISTSTYLE KEY DISTKEY *column\_name*  
Una clausola che modifica la colonna utilizzata come chiave di distribuzione di una relazione. Considera i seguenti aspetti:  
+ VACUUM e ALTER DISTKEY non possono essere eseguiti contemporaneamente per la stessa relazione. 
  + Se VACUUM è già in esecuzione, ALTER DISTKEY restituisce un errore.
  + Se ALTER DISTKEY è in esecuzione, il vacuum di background non viene avviato per una relazione.
  + Se ALTER DISTKEY è in esecuzione, il vacuum in primo piano restituisce un errore.
+ Puoi eseguire solo un comando ALTER DISTKEY per una relazione alla volta. 
+ Il comando ALTER DISTKEY non è supportato per le relazioni con chiavi di ordinamento interlacciate. 
+ Se lo stile di distribuzione è stato precedentemente definito come AUTO, la tabella non è più un candidato per l’ottimizzazione automatica della tabella. 
Quando si specifica DISTSTYLE KEY, i dati vengono distribuiti dai valori nella colonna DISTKEY. Per ulteriori informazioni su DISTSTYLE, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE AUTO  
Una clausola che modifica lo stile di distribuzione esistente di una relazione su AUTO.   
Quando modifichi uno stile di distribuzione su AUTO, lo stile di distribuzione della relazione viene impostato come segue:   
+ Una piccola relazione con DISTSTYLE ALL viene convertita in AUTO(ALL). 
+ Una piccola relazione con DISTSTYLE EVEN viene convertita in AUTO(ALL). 
+ Una piccola relazione con DISTSTYLE KEY viene convertita in AUTO(ALL). 
+ Una relazione grande con DISTSTYLE ALL viene convertita in AUTO(EVEN). 
+ Una relazione grande con DISTSTYLE EVEN viene convertita in AUTO(EVEN). 
+ Una relazione grande con DISTSTYLE KEY viene convertita in AUTO(KEY) e DISTKEY viene conservato. In questo caso Amazon Redshift non apporta modifiche alla relazione.
Se Amazon Redshift determina che un nuovo stile o una nuova chiave di distribuzione migliorerà le prestazioni delle query, Amazon Redshift potrebbe modificare lo stile o la chiave di distribuzione della relazione in futuro. Ad esempio, Amazon Redshift potrebbe convertire una relazione con DISTSTYLE di AUTO(KEY) in AUTO(EVEN) o viceversa. Per ulteriori informazioni sul comportamento in caso di modifica delle chiavi di distribuzione, tra cui la ridistribuzione dei dati e i blocchi, consulta [Suggerimenti di Amazon Redshift Advisor](https://docs.aws.amazon.com/redshift/latest/dg/advisor-recommendations.html#alter-diststyle-distkey-recommendation).  
Per ulteriori informazioni su DISTSTYLE AUTO, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Per visualizzare lo stile di distribuzione di una relazione, esegui query sulla vista del catalogo di sistema SVV\_TABLE\_INFO. Per ulteriori informazioni, consulta [SVV\_TABLE\_INFO](r_SVV_TABLE_INFO.md). Per visualizzare i suggerimenti di Amazon Redshift Advisor per le relazioni, esegui query sulla vista del catalogo di sistema SVV\_ALTER\_TABLE\_RECOMMENDATIONS. Per ulteriori informazioni, consulta [SVV\_ALTER\_TABLE\_RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Per visualizzare le azioni intraprese da Amazon Redshift, eseguire una query sulla vista del catalogo di sistema SVL\_AUTO\_WORKER\_ACTION. Per ulteriori informazioni, consulta [SVL\_AUTO\_WORKER\_ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER [COMPOUND] SORTKEY ( *column\_name* [,...] )  
Una clausola che modifica o aggiunge la chiave di ordinamento utilizzata per una relazione. ALTER SORTKEY non è supportato per le tabelle temporanee.  
Quando si modifica una chiave di ordinamento, la codifica di compressione delle colonne nella chiave di ordinamento nuova o originale può cambiare. Se nessuna codifica è definita esplicitamente per la relazione, Amazon Redshift assegna automaticamente le codifiche di compressione come segue:  
+ Le colonne definite come chiavi di ordinamento vengono assegnate alla compressione RAW.
+ Le colonne definite come tipi di dati BOOLEAN, REAL o DOUBLE PRECISION vengono assegnate alla compressione RAW.
+ Alle colonne definite come SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIME, TIMETZ, TIMESTAMP o TIMESTAMPTZ viene assegnata la compressione. AZ64
+ Le colonne definite come CHAR o VARCHAR sono assegnate alla compressione LZO.
Considera i seguenti aspetti:  
+ Puoi definire un massimo di 400 colonne per una chiave di ordinamento per relazione. 
+ È possibile modificare una chiave di ordinamento interlacciata in una chiave di ordinamento composta o nessuna chiave di ordinamento. È possibile modificare una chiave di ordinamento interlacciata in una chiave di ordinamento composta o nessuna chiave di ordinamento. 
+ Se la chiave di ordinamento è stata precedentemente definita come AUTO, la relazione non è più un candidato per l’ottimizzazione automatica della tabella. 
+ Amazon Redshift consiglia di utilizzare la codifica RAW (senza compressione) per le colonne definite come chiavi di ordinamento. Quando si modifica una colonna per sceglierla come chiave di ordinamento, la compressione della colonna viene modificata in compressione RAW (senza compressione). Ciò può aumentare la quantità di archiviazione richiesta dalla relazione. L’aumento delle dimensioni della relazione dipende dalla definizione specifica della relazione e dal contenuto della relazione. Per ulteriori informazioni sulla compressione, consulta [Codifiche di compressione](c_Compression_encodings.md). 
Quando i dati vengono caricati in una relazione, seguono l’ordine della chiave di ordinamento. Quando si modifica la chiave di ordinamento, Amazon Redshift riordina i dati. Per ulteriori informazioni su SORTKEY, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER SORTKEY AUTO  
Una clausola che modifica o aggiunge la chiave di ordinamento della relazione di destinazione ad AUTO. ALTER SORTKEY AUTO non è supportato per le tabelle temporanee.   
Quando modifichi una chiave di ordinamento e la imposti su AUTO, Amazon Redshift conserva la chiave di ordinamento esistente della relazione.   
Se Amazon Redshift determina che una nuova chiave di ordinamento migliorerà le prestazioni delle query, Amazon Redshift potrebbe modificare la chiave di ordinamento della relazione in futuro.   
Per ulteriori informazioni su SORTKEY AUTO, consulta [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Per visualizzare la chiave di ordinamento di una relazione, esegui query sulla vista del catalogo di sistema SVV\_TABLE\_INFO. Per ulteriori informazioni, consulta [SVV\_TABLE\_INFO](r_SVV_TABLE_INFO.md). Per visualizzare i suggerimenti di Amazon Redshift Advisor per le relazioni, esegui query sulla vista del catalogo di sistema SVV\_ALTER\_TABLE\_RECOMMENDATIONS. Per ulteriori informazioni, consulta [SVV\_ALTER\_TABLE\_RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Per visualizzare le azioni intraprese da Amazon Redshift, eseguire una query sulla vista del catalogo di sistema SVL\_AUTO\_WORKER\_ACTION. Per ulteriori informazioni, consulta [SVL\_AUTO\_WORKER\_ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER SORTKEY NONE  
Una clausola che rimuove la chiave di ordinamento della tabella di relazione.   
Se la chiave di ordinamento è stata precedentemente definita come AUTO, la relazione non è più un candidato per l’ottimizzazione automatica della tabella. 

ROW LEVEL SECURITY { ON \| OFF } [ CONJUNCTION TYPE { AND \| OR } ] [ FOR DATASHARES ]  
Una clausola che attiva o disattiva la sicurezza a livello di riga per una relazione.  
Quando per una relazione è attivata la protezione a livello di riga, è possibile leggere solo le righe al livello di riga a cui la policy di sicurezza consente l'accesso. Quando non ci sono policy che consentono l'accesso alla relazione, non è possibile visualizzare alcuna riga dalla relazione. Solo gli utenti con privilegi avanzati e gli utenti o i ruoli che hanno il ruolo `sys:secadmin` possono impostare la clausola ROW LEVEL SECURITY. Per ulteriori informazioni, consulta [Sicurezza a livello di riga](t_rls.md).  
+ [ CONJUNCTION TYPE { AND \| OR } ] 

  Una clausola che consente di scegliere il tipo di congiunzione della policy di sicurezza a livello di riga per una relazione. Quando a una relazione sono associate più policy di sicurezza a livello di riga, è possibile combinare le policy con la clausola AND oppure OR. Per impostazione predefinita, Amazon Redshift combina le policy RLS con la clausola AND. Gli utenti con privilegi avanzati, gli utenti o i ruoli che hanno il ruolo `sys:secadmin` possono utilizzare questa clausola per definire il tipo di combinazione della policy di sicurezza a livello di riga per una relazione. Per ulteriori informazioni, consulta [Combinazione di più policy per utente](t_rls_combine_policies.md). 
+ FOR DATASHARES

   Una clausola che determina se è possibile accedere a una relazione protetta da RLS in un'unità di condivisione dati. Per impostazione predefinita, non è possibile accedere a una relazione protetta da RLS in un'unità di condivisione dati. Il comando ALTER MATERIALIZED VIEW ROW LEVEL SECURITY eseguito con questa clausola influisce solo sulla proprietà di accessibilità dell'unità di condivisione dati della relazione. La proprietà ROW LEVEL SECURITY non viene modificata.

   Se rendi accessibile una relazione protetta da RLS nelle unità di condivisione dati, la relazione non dispone di una sicurezza a livello di riga nel database con unità di condivisione dati sul lato consumer. La relazione mantiene la proprietà RLS sul lato producer. 

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

Nell'esempio seguente la vista materializzata `tickets_mv` viene abilitata perché possa essere aggiornata automaticamente.

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