

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# TRUNCATE
<a name="r_TRUNCATE"></a>

Exclui todas as linhas de uma tabela sem fazer uma varredura de lista: esta operação é uma alternativa mais rápida a uma operação DELETE não qualificada. Para executar um comando TRUNCATE, é necessário ter a permissão TRUNCATE e ser o proprietário da tabela ou um superusuário. Para conceder permissões para truncar uma tabela, use o comando [GRANT](r_GRANT.md).

TRUNCATE é muito mais eficiente do que DELETE e não requer VACUUM nem ANALYZE. No entanto, esteja ciente de que TRUNCATE confirma a transação em que é executado.

## Sintaxe
<a name="r_TRUNCATE-synopsis"></a>

```
TRUNCATE [ TABLE ] table_name
```

O comando também funciona em uma visão materializada.

```
TRUNCATE materialized_view_name
```

## Parâmetros
<a name="r_TRUNCATE-parameters"></a>

TABLE   
Palavra-chave opcional. 

 *table\$1name*   
Uma tabela temporária ou persistente. Somente o proprietário da tabela ou um superusuário pode truncá-la.   
Você pode truncar qualquer tabela, incluindo tabelas com referência em limitações de chave externa.   
Você não precisa limpar uma tabela depois de truncá-la. 

 *materialized\$1view\$1name*   
Uma visão materializada.  
Você pode truncar uma visão materializada que é usada para [Ingestão de streaming para uma visão materializada](materialized-view-streaming-ingestion.md). 

## Observações de uso
<a name="r_TRUNCATE_usage_notes"></a>
+  O comando TRUNCATE confirma a transação em que é executado. Portanto, você não pode reverter uma operação TRUNCATE, e um comando TRUNCATE pode confirmar outras operações quando confirma a si mesmo. 
+ As operações TRUNCATE mantêm bloqueios exclusivos quando executadas em visões materializadas de streaming do Amazon Redshift conectadas a qualquer um dos seguintes:
  +  Um Amazon Kinesis data stream 
  +  Um tópico Amazon Managed Streaming for Apache Kafka 
  +  Um stream externo compatível, como um tópico do Confluent Cloud Kafka 

  Para obter mais informações, consulte [Ingestão de streaming para uma visão materializada](materialized-view-streaming-ingestion.md).

## Exemplos
<a name="r_TRUNCATE-examples"></a>

Use o comando TRUNCATE para excluir todas as linhas da tabela CATEGORY: 

```
truncate category;
```

Tente reverter uma operação TRUNCATE: 

```
begin;

truncate date;

rollback;

select count(*) from date;
count
-------
0
(1 row)
```

A tabela DATE permanece vazia após o comando ROLLBACK porque o comando TRUNCATE foi confirmado automaticamente. 

O exemplo a seguir usa o comando TRUNCATE para excluir todas as linhas de uma visão materializada. 

```
truncate my_materialized_view;
```

Ele exclui todos os registros da visão materializada, deixando a visão materializada e o respectivo esquema intactos. Na consulta, o nome da visão materializada é apenas um exemplo.