SVL_QLOG - Amazon Redshift

SVL_QLOG

SVL_QLOG 뷰에는 데이터베이스에 대해 실행된 모든 쿼리의 로그가 포함됩니다.

Amazon Redshift는 STL_QUERY 테이블에서 읽을 수 있는 정보 하위 집합으로 SVL_QLOG 뷰를 생성합니다. 최근에 실행된 쿼리의 쿼리 ID를 찾거나 쿼리 완료까지 걸린 시간을 보려면 이 테이블을 사용합니다.

SVL_QLOG는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 SYS_QUERY_HISTORY에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID.
쿼리 정수 쿼리 ID. 이 ID를 사용하여 다양한 다른 시스템 테이블 및 보기를 조인할 수 있습니다.
xid bigint 트랜잭션 ID.
pid 정수 쿼리에 연결된 프로세스 ID.
starttime 타임스탬프 문 실행이 시작된 정확한 시간으로 초의 소수점 이하 자릿수는 6자리입니다(예: 2009-06-12 11:29:19.131358).
endtime 타임스탬프 문 실행이 끝난 정확한 시간으로 초의 소수점 이하 자릿수는 6자리입니다(예: 2009-06-12 11:29:19.193640).
Elapsed bigint 쿼리가 실행되는 데 걸린 시간 길이(마이크로초).
aborted 정수 쿼리가 시스템에 의해 중지되거나 사용자에 의해 취소되는 경우, 이 열에 1이 포함됩니다. 쿼리가 실행되어 완료되면 이 열에 0이 포함됩니다. 워크로드 관리를 위해 취소되었다가 이후에 다시 시작되는 쿼리 역시 이 열에서 1의 값을 갖습니다.
레이블 character(320) 쿼리 실행에 사용되는 파일의 이름 또는 SET QUERY GROUP 명령을 사용하여 정의되는 레이블. 쿼리가 파일 기반이 아니거나 QUERY_GROUP 파라미터가 설정되지 않은 경우, 이 필드의 값은 default입니다.
substring character(60) 잘린 쿼리 텍스트.
source_query 정수 쿼리에 결과 캐싱을 사용한 경우 캐시된 결과의 소스인 쿼리의 쿼리 ID입니다. 결과 캐싱을 사용하지 않은 경우 이 필드 값은 NULL입니다.
concurrency_scaling_status_txt 텍스트 쿼리가 기본 클러스터에서 실행되었는지 아니면 동시성 조정 클러스터에서 실행되었는지를 설명합니다.
from_sp_call 정수 쿼리가 저장 프로시저에서 호출된 경우, 프로시저 호출의 쿼리 ID입니다. 쿼리가 저장 프로시저의 일부로 실행되지 않은 경우, 이 필드는 NULL입니다.

샘플 쿼리

다음 예는 userid = 100인 사용자가 실행한 가장 최근의 데이터베이스 쿼리 5개의 쿼리 ID, 실행 시간, 잘린 쿼리 텍스트를 반환합니다.

select query, pid, elapsed, substring from svl_qlog where userid = 100 order by starttime desc limit 5; query | pid | elapsed | substring --------+-------+----------+----------------------------------------------- 187752 | 18921 | 18465685 | select query, elapsed, substring from svl_... 204168 | 5117 | 59603 | insert into testtable values (100); 187561 | 17046 | 1003052 | select * from pg_table_def where tablename... 187549 | 17046 | 1108584 | select * from STV_WLM_SERVICE_CLASS_CONFIG 187468 | 17046 | 5670661 | select * from pg_table_def where schemaname... (5 rows)

다음 예는 취소된(aborted=1) 쿼리의 SQL 스크립트 이름(LABEL 열) 및 경과 시간을 반환합니다.

select query, elapsed, trim(label) querylabel from svl_qlog where aborted=1; query | elapsed | querylabel -------+----------+------------------------- 16 | 6935292 | alltickittablesjoin.sql (1 row)