

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

Cambia los atributos de una vista materializada. 

## Sintaxis
<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*  
Se trata del nombre de la vista materializada que se modificará.

AUTO REFRESH \$1 YES \$1 NO \$1  
Una cláusula que activa o desactiva la actualización automática de una vista materializada. Para obtener más información acerca de la actualización automática de vistas materializadas, consulte [Actualización de una vista materializada](materialized-view-refresh.md).

ALTER DISTSTYLE ALL  
Cláusula que cambia el estilo de distribución existente de una relación con `ALL`. Considere lo siguiente:  
+ Las operaciones ALTER DISTSTYTLE, ALTER SORTKEY y VACUUM no pueden ejecutarse simultáneamente en la misma relación. 
  + Si se está ejecutando la operación VACUUM actualmente, la ejecución de ALTER DISTSTYLE ALL devuelve un error. 
  + Si se está ejecutando ALTER DISTSTYLE ALL, no se iniciará una limpieza en segundo plano en una relación. 
+ El comando ALTER DISTSTYLE ALL no está admitido en relaciones con claves de clasificación intercaladas y tablas temporales.
+ Si el estilo de distribución se definió previamente como AUTO, la relación ya no será candidata para la optimización automática de tablas. 
Para obtener más información acerca de DISTSTYLE ALL, vaya a [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE EVEN  
Cláusula que cambia el estilo de distribución existente de una relación con `EVEN`. Considere lo siguiente:  
+ Las operaciones ALTER DISTSYTLE, ALTER SORTKEY y VACUUM no pueden ejecutarse simultáneamente en la misma relación. 
  + Si se está ejecutando VACUUM actualmente, la ejecución de ALTER DISTSTYLE EVEN devuelve un error. 
  + Si se está ejecutando ALTER DISTSTYLE EVEN, no se iniciará una limpieza en segundo plano en una relación. 
+ El comando ALTER DISTSTYLE EVEN no está admitido en relaciones con claves de clasificación intercaladas y tablas temporales.
+ Si el estilo de distribución se definió previamente como AUTO, la relación ya no será candidata para la optimización automática de tablas. 
Para obtener más información acerca de DISTSTYLE EVEN, consulte [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTKEY *column\$1name* o ALTER DISTSTYLE KEY DISTKEY *column\$1name*  
Cláusula que cambia la columna usada como la clave de distribución de una relación. Considere lo siguiente:  
+ Las operaciones VACUUM y ALTER DISTKEY no se pueden ejecutar simultáneamente en la misma relación. 
  + Si ya se está ejecutando VACUUM, ALTER DISTKEY devolverá un error.
  + Si se está ejecutando ALTER DISTKEY, la limpieza en segundo plano no se iniciará en una relación.
  + Si se está ejecutando ALTER DISTKEY, la limpieza en primer plano devolverá un error.
+ Solo puede ejecutar un comando ALTER DISTKEY en una relación a la vez. 
+ El comando ALTER DISTKEY no es compatible en relaciones con claves de clasificación intercalada. 
+ Si el estilo de distribución se definió previamente como AUTO, la relación ya no será candidata para la optimización automática de tablas. 
Al especificar DISTSTYLE KEY, los datos se distribuyen por los valores en la columna DISTKEY. Para obtener más información acerca de DISTSTYLE, consulte [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER DISTSTYLE AUTO  
Cláusula que cambia el estilo de distribución existente de una relación a AUTO.   
Si modifica un estilo de distribución a AUTO, el estilo de distribución de la tabla se establece de la siguiente manera:   
+ Una relación pequeña con DISTSTYLE ALL se convierte a AUTO(ALL). 
+ Una relación pequeña con DISTSTYLE EVEN se convierte a AUTO(ALL). 
+ Una relación pequeña con DISTSTYLE KEY se convierte a AUTO(ALL). 
+ Una relación grande con DISTSTYLE ALL se convierte a AUTO(EVEN). 
+ Una relación grande con DISTSTYLE EVEN se convierte a AUTO(EVEN). 
+ Una relación grande con DISTSTYLE KEY se convierte a AUTO(KEY) y se conserva DISTKEY. En este caso, Amazon Redshift no cambia la relación.
Si Amazon Redshift determina que un estilo de distribución nuevo o una clave nueva mejorarán el rendimiento de las consultas, Amazon Redshift podría cambiar el estilo de distribución o la clave de la relación en el futuro. Por ejemplo, Amazon Redshift podría convertir una relación con un valor de DISTSTYLE de AUTO(KEY) en AUTO(EVEN) o viceversa. Para obtener más información sobre el comportamiento cuando se modifican las claves de distribución, incluida la redistribución de datos y los bloqueos, consulte [Recomendaciones de Amazon Redshift Advisor](https://docs.aws.amazon.com/redshift/latest/dg/advisor-recommendations.html#alter-diststyle-distkey-recommendation).  
Para obtener más información acerca de DISTSTYLE AUTO, consulte [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Para ver el estilo de distribución de una relación, consulte la vista de catálogo del sistema SVV\$1TABLE\$1INFO. Para obtener más información, consulte [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Si desea ver las recomendaciones para relaciones de Advisor de Amazon Redshift, consulte la vista de catálogo del sistema SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS. Para obtener más información, consulte [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Para ver las acciones llevadas a cabo por Amazon Redshift, consulte la vista de catálogo del sistema SVL\$1AUTO\$1WORKER\$1ACTION. Para obtener más información, consulte [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER [COMPOUND] SORTKEY ( *column\$1name* [,...] )  
Una cláusula que cambia o añade la clave de clasificación utilizada para una relación. ALTER SORTKEY no se admite en tablas temporales.  
Cuando se modifica una clave de ordenación, la codificación de compresión de las columnas de la clave de ordenación nueva u original puede cambiar. Si no se define de forma explícita ninguna codificación para la relación, entonces Amazon Redshift asigna automáticamente las codificaciones de compresión de la siguiente manera:  
+ A las columnas que están definidas como claves de ordenación se les asigna una compresión RAW.
+ A las columnas que están definidas como tipos de datos BOOLEAN, REAL o DOUBLE PRECISION se les asigna una compresión RAW.
+ A las columnas que se definen como SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIME, TIMETZ, TIMESTAMP o TIMESTAMPTZ se les asigna la compresión AZ64.
+ Las columnas que se definen como CHAR o VARCHAR tienen asignada la compresión LZO.
Considere lo siguiente:  
+ Puede definir un máximo de 400 columnas para una clave de clasificación para cada relación. 
+ Puede alterar una clave de ordenación intercalada por una clave de ordenación compuesta o por ninguna clave de ordenación. No obstante, no puede alterar una clave de ordenación compuesta por una clave de ordenación intercalada. 
+ Si la clave de clasificación se definió previamente como AUTO, la relación ya no será candidata para la optimización automática de tablas. 
+ Amazon Redshift recomienda utilizar la codificación RAW (sin compresión) para columnas definidas como claves de ordenación. Cuando se modifica una columna para elegirla como clave de ordenación, la compresión de la columna se cambia a la compresión RAW (sin compresión). Esto puede aumentar la cantidad de almacenamiento que requiere la relación. El aumento del tamaño de la relación depende de la definición específica de la relación y de su contenido. Para obtener más información acerca de la compresión, consulte [Codificaciones de compresión](c_Compression_encodings.md). 
Cuando se cargan datos en una relación, se hace en el orden definido por la clave de clasificación. Cuando se modifica la clave de ordenación, Amazon Redshift reordena los datos. Para obtener más información acerca de SORTKEY, consulte [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).

ALTER SORTKEY AUTO  
Se trata de una cláusula que modifica la clave de clasificación de la relación de destino a AUTO o la añade. ALTER SORTKEY AUTO no se admite en tablas temporales.   
Cuando se modifica una clave de clasificación a AUTO, Amazon Redshift conserva la clave de ordenación existente de la relación.   
Si Amazon Redshift determina que una clave de clasificación nueva mejorará el rendimiento de las consultas, Amazon Redshift podría cambiar la clave de clasificación de la relación en el futuro.   
Para obtener más información acerca de SORTKEY AUTO, consulte [CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md).   
Para ver la clave de clasificación de una relación, consulte la vista de catálogo del sistema SVV\$1TABLE\$1INFO. Para obtener más información, consulte [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Si desea ver las recomendaciones para relaciones de Advisor de Amazon Redshift, consulte la vista de catálogo del sistema SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS. Para obtener más información, consulte [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Para ver las acciones llevadas a cabo por Amazon Redshift, consulte la vista de catálogo del sistema SVL\$1AUTO\$1WORKER\$1ACTION. Para obtener más información, consulte [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

ALTER SORTKEY NONE  
Se trata de una cláusula que quita la clave de clasificación de la relación de destino.   
Si la clave de clasificación se definió previamente como AUTO, la relación ya no será candidata para la optimización automática de tablas. 

ROW LEVEL SECURITY \$1 ON \$1 OFF \$1 [ CONJUNCTION TYPE \$1 AND \$1 OR \$1 ] [ FOR DATASHARES ]  
Es una cláusula que activa o desactiva la seguridad de nivel de fila para una relación.  
Cuando la seguridad de nivel de fila está activada para una relación, solo puede leer las filas a las que la política de seguridad de nivel de fila le permite acceder. Si no hay ninguna política que le conceda acceso a la relación, no podrá ver ninguna fila de la relación. Solo los superusuarios y los usuarios o roles que tienen el rol `sys:secadmin` pueden establecer la cláusula ROW LEVEL SECURITY. Para obtener más información, consulte [Seguridad de nivel básico](t_rls.md).  
+ [ CONJUNCTION TYPE \$1 AND \$1 OR \$1 ] 

  Es una cláusula que le permite elegir el tipo de conjunción de la política de seguridad a nivel de fila para una relación. Si se asocian varias políticas de seguridad en el nivel de fila a una relación, puede combinarlas con la cláusula AND u OR. De forma predeterminada, Amazon Redshift combina las políticas de RLS con la cláusula AND. Los superusuarios, usuarios o roles que tienen el rol `sys:secadmin` pueden usar esta cláusula para definir el tipo de conjunción de la política de seguridad de nivel de fila para una relación. Para obtener más información, consulte [Combinación de varias políticas por usuario](t_rls_combine_policies.md). 
+ PARA RECURSOS COMPARTIDOS DE DATOS

   Es una cláusula que determina si se puede acceder a una relación protegida por RLS a través de recursos compartidos de datos. De forma predeterminada, no se puede acceder a una relación protegida por RLS a través de un recurso compartido de datos. Un comando ALTER MATERIALIZED VIEW ROW LEVEL SECURITY ejecutado con esta cláusula solo afecta a la propiedad de accesibilidad de recurso compartido de datos de la relación. La propiedad ROW LEVEL SECURITY no ha cambiado.

   Si hace que una relación protegida por RLS sea accesible a través de recursos compartidos de datos, la relación no tendrá seguridad de nivel de fila en la base de datos de recurso compartido de datos del lado del consumidor. La relación conserva su propiedad RLS del lado del productor. 

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

En el siguiente ejemplo, se habilita la actualización automática de la vista materializada `tickets_mv`.

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

# Ejemplos de DISTSTYLE y SORTKEY para ALTER MATERIALIZED VIEW
<a name="r_ALTER_MATERIALIZED_VIEW-DISTSTYLE-SORTKEY-examples"></a>

En los ejemplos de este tema se muestra cómo realizar cambios en DISTSTYLE y SORTKEY mediante ALTER MATERIALIZED VIEW.

Las consultas de ejemplo siguientes muestran cómo modificar una columna DISTSTYLE KEY DISTKEY mediante una tabla base de ejemplo:

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

Modifique una vista materializada a 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;
```

Los siguientes comandos muestran ejemplos de ALTER MATERIALIZED VIEW SORTKEY, con una tabla base de ejemplo:

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