He intentado terminar una consulta de larga duración en Amazon Redshift, pero la consulta sigue ejecutándose.
Descripción corta
Amazon Redshift no puede terminar una consulta en los siguientes casos:
- La consulta está en proceso de devolver los resultados al cliente.
- El proceso de consulta detecta un error interno crítico.
Incluso después de terminar correctamente la consulta, es posible que la consulta aparezca como En ejecución. Debes esperar a que finalice el proceso de restauración de consultas.
Resolución
Para comprobar si la consulta está devolviendo los resultados al cliente, ejecuta la siguiente consulta:
SELECT state FROM stv_wlm_query_state WHERE query = queryid
Nota: Sustituye queryid por el ID de la consulta.
En el resultado, comprueba si la columna de estado STV_WLM_QUERY_STATE es Devolución.
Para terminar la consulta, ejecuta el siguiente comando PG_TERMINATE_BACKEND:
SELECT PG_TERMINATE_BACKEND(PID);
Nota: Sustituye PID por el ID del proceso o el ID de la sesión.
Si el comando PG_TERMINATE_BACKEND no puede terminar la consulta, realiza un reinicio completo en la consola de Amazon Redshift.
Nota: Un reinicio completo cierra todas las conexiones actuales. No puedes reiniciar un clúster sin servidor.
Si usas Amazon Redshift sin servidor, debes crear un caso de soporte. En el caso de soporte, proporciona la información siguiente:
- El ID de la consulta que quieres terminar
- El nombre de tu clúster o grupo de trabajo
- La hora en que se produjo el problema
- Las acciones que tomaste para resolver el problema