Interruzioni della query - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Interruzioni della query

La query può interrompersi o smettere di rispondere per i seguenti motivi. Suggeriamo i seguenti approcci alla risoluzione dei problemi.

Connessione al database interrotta

Riduci la dimensione dell'unità di trasmissione massima (MTU). La dimensione dell'MTU determina la dimensione massima, espressa in byte, di un pacchetto che può essere trasferito in un quadro Ethernet dalla tua connessione di rete. Per ulteriori informazioni, consulta Connessione al database interrotta nella Guida alla gestione di Amazon Redshift.

Connessione al database scaduta

La connessione del tuo client al database sembra scadere o interrompersi durante l'esecuzione di query lunghe, come il comando COPY. In questo caso, è possibile che la console Amazon Redshift mostri che la query è stata completata, ma lo strumento del client stesso sembra che la stia ancora eseguendo. I risultati della query potrebbero essere mancanti o incompleti, a seconda del momento in cui la connessione si è interrotta. Questo effetto si presenta quando connessioni inattive vengono terminate da un componente di rete intermedio. Per ulteriori informazioni, consulta Problema di timeout del firewall nella Guida alla gestione di Amazon Redshift.

Errore di memoria insufficiente del client con ODBC

Se l'applicazione client utilizza una connessione ODBC e la query crea un set di risultati che è troppo grande per rientrare nella memoria, puoi eseguire il flusso del set di risultati all'applicazione client utilizzando un cursore. Per ulteriori informazioni, consultare DECLARE e Considerazioni sulle prestazioni quando si utilizzano i cursori.

Errore di memoria insufficiente del client con JDBC

Quando provi a recuperare grandi insiemi di risultati su una connessione JDBC, potresti riscontrare errori di memoria insufficiente del client. Per ulteriori informazioni, consultare Impostazione del parametro delle dimensioni del recupero JDBC.

Blocco potenziale

Se esiste un blocco potenziale, prova quanto segue:

  • Visualizza le tabelle di sistema STV_LOCKS e STL_TR_CONFLICT per individuare conflitti sugli aggiornamenti di più di una tabella.

  • Utilizza la funzione PG_CANCEL_BACKEND per cancellare una o più query di conflitto.

  • Utilizza la funzione PG_TERMINATE_BACKEND per terminare una sessione. Questa operazione forza qualsiasi transazione attualmente in esecuzione nella sessione terminata, al fine di rilasciare tutti i blocchi ed eseguire il rollback della transazione.

  • Programma attentamente le operazioni di scrittura simultanee. Per ulteriori informazioni, consultare Gestione delle operazioni di scrittura simultanee.