

 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/). 

# Consultas travadas
<a name="queries-troubleshooting-query-hangs"></a>

A consulta pode travar ou parar de responder pelos motivos a seguir. Sugerimos as abordagens de solução de problemas a seguir.

**A conexão com o banco de dados é interrompida**  
Reduza o tamanho da unidade de transmissão máxima (Maximum Transmission Unit, MTU). O tamanho de MTU determina o tamanho máximo, em bytes, de um pacote que pode ser transferido em um quadro Ethernet através de sua conexão de rede. Para obter mais informações, acesse “[As consultas parecem travar e, às vezes, não se comunicam com o cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-drop-issues.html)” no *Guia de gerenciamento de clusters do Amazon Redshift*. 

**A conexão com o banco de dados atinge o tempo limite**  
A conexão do cliente com o banco de dados parece estar travada ou ter expirado por exceder o tempo limite ao executar consultas longas, como um comando COPY. Nesse caso, você pode observar que o console do Amazon Redshift exibe que a consulta foi concluída, mas a própria ferramenta do cliente ainda parece estar executando a consulta. Os resultados da consulta podem estar ausentes ou incompletos, dependendo de quando a conexão foi interrompida. Este efeito acontece quando conexões ociosas são encerradas por um componente intermediário de rede. Para obter mais informações, acesse “[Conexão de fora do Amazon EC2 - problema de tempo limite do firewall](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html)” no *Guia de gerenciamento de clusters do Amazon Redshift*. 

**Erro de falta de memória no lado do cliente ocorre com ODBC**  
Se seu aplicativo cliente usa uma conexão ODBC e sua consulta cria um conjunto de resultados que é muito grande para caber na memória, você pode transmitir o conjunto de resultados para seu aplicativo cliente usando um cursor. Para obter mais informações, consulte [DECLARE](declare.md) e [Considerações sobre a performance ao usar cursores](declare.md#declare-performance).

**Erro de falta de memória no lado do cliente ocorre com JDBC**  
Quando você tenta recuperar grandes conjuntos de resultados através de uma conexão JDBC, pode encontrar erros de falta de memória por parte do cliente. Para obter mais informações, consulte [Como configurar o parâmetro JDBC para o tamanho da busca](set-the-JDBC-fetch-size-parameter.md).

**Há um deadlock em potencial**  
Se houver um deadlock em potencial, tente o seguinte:
+ Visualize as tabelas de sistema [STV\_LOCKS](r_STV_LOCKS.md) e [STL\_TR\_CONFLICT](r_STL_TR_CONFLICT.md) para localizar conflitos envolvendo atualizações em mais de uma tabela.
+ Use a função [PG\_CANCEL\_BACKEND](PG_CANCEL_BACKEND.md) para cancelar uma ou mais consultas em conflito.
+ Use a função [PG\_TERMINATE\_BACKEND](PG_TERMINATE_BACKEND.md) para encerrar uma sessão, o que força todas as transações atualmente em execução na sessão encerrada a liberar todas as travas e reverter a transação.
+ Programe operações de gravação simultâneas cuidadosamente. Para obter mais informações, consulte [Gerenciamento de operações de gravação simultâneas](c_Concurrent_writes.md).