Ich habe versucht, eine lang andauernde Abfrage in Amazon Redshift zu beenden, aber die Abfrage läuft weiter.
Kurzbeschreibung
Amazon Redshift kann eine Abfrage in den folgenden Szenarien nicht beenden:
- Die Abfrage ist dabei, Ergebnisse an den Client zurückzugeben.
- Beim Abfragevorgang tritt ein kritischer interner Fehler auf.
Selbst wenn du die Abfrage erfolgreich beendet hast, wird die Abfrage möglicherweise als Wird ausgeführt angezeigt. Du musst warten, bis der Abfrage-Rollback-Vorgang abgeschlossen ist.
Lösung
Führe die folgende Abfrage aus, um zu überprüfen, ob die Abfrage gerade Ergebnisse an den Client zurückgibt:
SELECT state FROM stv_wlm_query_state WHERE query = queryid
Hinweis: Ersetze queryid durch deine Abfrage-ID.
Prüfe in der Ausgabe, ob die state-Spalte in STV_WLM_QUERY_STATE Returning lautet.
Um die Abfrage zu beenden, führe den folgenden PG_TERMINATE_BACKEND-Befehl aus:
SELECT PG_TERMINATE_BACKEND(PID);
Hinweis: Ersetze PID durch die Prozess-ID oder Sitzungs-ID.
Wenn der PG_TERMINATE_BACKEND-Befehl die Abfrage nicht beenden kann, führe einen harten Neustart in der Amazon Redshift-Konsole durch.
Hinweis: Ein harter Neustart schließt alle aktuellen Verbindungen. Du kannst einen serverlosen Cluster nicht neu starten.
Wenn du Amazon Redshift Serverless verwendest, musst du einen Support-Fall erstellen. Gib im Support-Fall die folgenden Informationen an:
- Die ID der Abfrage, die du beenden möchtest
- Deinen Cluster- oder Arbeitsgruppennamen
- Die Uhrzeit, zu der das Problem aufgetreten ist
- Maßnahmen, die du ergriffen hast, um das Problem zu lösen