Amazon Redshift에서 장기 실행 쿼리를 종료하려고 했지만 쿼리가 계속 실행됩니다.
간략한 설명
Amazon Redshift는 다음과 같은 시나리오에서 쿼리를 종료할 수 없습니다.
- 쿼리가 클라이언트에 결과를 반환하는 중인 경우
- 쿼리 프로세스에서 심각한 내부 오류가 발생한 경우
쿼리를 성공적으로 종료한 후에도 쿼리가 실행 중으로 표시될 수 있습니다. 쿼리 롤백 프로세스가 완료될 때까지 기다려야 합니다.
해결 방법
쿼리가 클라이언트에 결과를 반환하는 중인지 확인하려면 다음 쿼리를 실행합니다.
SELECT state FROM stv_wlm_query_state WHERE query = queryid
참고: queryid를 해당 쿼리 ID로 바꾸십시오.
출력에서 STV_WLM_QUERY_STATE의 state 열이 Returning인지 확인합니다.
쿼리를 종료하려면 다음 PG_TERMINATE_BACKEND 명령을 실행합니다.
SELECT PG_TERMINATE_BACKEND(PID);
참고: PID를 해당 프로세스 ID 또는 세션 ID로 바꾸십시오.
PG_TERMINATE_BACKEND 명령으로 쿼리를 종료할 수 없는 경우 Amazon Redshift 콘솔에서 하드 재부팅을 수행하십시오.
참고: 하드 재부팅은 모든 현재 연결을 닫습니다. 서버리스 클러스터는 재부팅할 수 없습니다.
Amazon Redshift Serverless를 사용하는 경우 지원 사례를 생성해야 합니다. 지원 사례에서 다음 정보를 제공하십시오.
- 종료하려는 쿼리의 ID
- 클러스터 또는 작업 그룹 이름
- 문제가 발생한 시간
- 문제 해결을 위해 취한 조치