O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
TRUNCATE
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.
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
TRUNCATE [ TABLE ] table_name
O comando também funciona em uma visão materializada.
TRUNCATE materialized_view_name
Parâmetros
- TABLE
-
Palavra-chave opcional.
- table_name
-
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_view_name
-
Uma visão materializada.
Você pode truncar uma visão materializada que é usada para Ingestão de streaming para uma visão materializada.
Observações de uso
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.
Exemplos
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.