SYS_PROCEDURE_CALL - Amazon Redshift

SYS_PROCEDURE_CALL

SYS_PROCEDURE_CALL 뷰를 사용하면 시작 시간, 종료 시간, 저장 프로시저 호출의 상태, 중첩된 저장 프로시저 호출의 호출 계층 구조 등 저장 프로시저 호출에 대한 정보를 가져올 수 있습니다. 각 저장 프로시저 호출은 쿼리 ID를 수신합니다.

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

테이블 열

열 명칭 데이터 유형 설명
session_user_id 정수 세션 생성자이자 최상위 저장 프로시저 호출의 호출자인 사용자의 식별자입니다.
security_user_id 정수 저장 프로시저 내에서 문을 실행하는 데 사용된 권한을 소유한 사용자의 식별자입니다. 저장 프로시저가 DEFINER인 경우 저장 프로시저의 소유자 user_id입니다.
query_id 정수 프로시저 호출의 쿼리 식별자입니다.
query_text char(4,000) 저장 프로시저 호출 쿼리의 텍스트입니다.
start_time 타임스탬프 쿼리 실행이 시작된 시간(UTC)입니다. 타임스탬프는 소수 초 단위로 6자리의 정밀도를 사용합니다. 예: 2009-06-12 11:29:19.131358.
end_time 타임스탬프 쿼리 실행이 종료된 시간(UTC)입니다. 예를 들어 타임스탬프는 소수 초 단위로 6자리의 정밀도를 사용합니다. 예: 2009-06-12 11:29:19.131358.
status char(10) 저장 프로시저 호출의 상태입니다. 저장 프로시저가 시스템에 의해 중지되거나 사용자가 취소한 경우 값이 취소됩니다. 저장 프로시저 호출이 완료될 때까지 실행되면 값은 성공입니다.
caller_procedure_query_id 정수 저장 프로시저 호출이 다른 프로시저 호출에 의해 호출된 경우, 이 열에 외부 호출의 쿼리 ID가 포함됩니다. 그렇지 않은 경우 이 필드는 NULL입니다.

샘플 쿼리

다음 쿼리는 중첩된 저장 프로시저 호출의 계층 구조를 반환합니다.

select query_id, datediff(seconds, start_time, end_time) as elapsed_time, status, trim(query_text) as call, caller_procedure_query_id from sys_procedure_call;

샘플 출력은 다음과 같습니다.

query_id | elapsed_time | status | call | caller_procedure_query_id ----------+--------------+---------+--------------------------------------------------+--------------------------- 3087 | 18 | success | CALL proc_bd906c98c45443ffa165e9552056902d(1) | 3085 3085 | 18 | success | CALL proc_bd906c98c45443ffa165e9552056902d_2(1); | (2 rows)