PG_LAST_COPY_ID - Amazon Redshift

Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

PG_LAST_COPY_ID

현재 세션에서 가장 최근에 완료된 COPY 명령의 쿼리 ID를 반환합니다. 현재 세션에서 COPY 명령이 실행되지 않았다면 PG_LAST_COPY_ID가 -1을 반환합니다.

PG_LAST_COPY_ID 값은 COPY 명령이 로드 프로세스를 시작할 때 업데이트됩니다. 잘못된 로드 데이터로 인해 COPY 명령이 중단되더라도 COPY ID는 업데이트됩니다. 따라서 STL_LOAD_ERRORS 테이블에 대한 쿼리를 실행할 때 PG_LAST_COPY_ID를 사용할 수 있습니다. 단, COPY 트랜잭션이 롤백되면 COPY ID는 업데이트되지 않습니다.

로그 프로세스가 시작되기 전에 구문 오류, 액세스 오류, 잘못된 자격 증명, 부족한 권한 등으로 인한 오류가 발생하여 COPY 명령이 중단되면 COPY ID가 업데이트되지 않습니다. 성공적으로 연결된 후 데이터 로드 이전에 시작되는 압축 분석 단계에서 COPY 명령이 중단되어도 COPY ID가 업데이트되지 않습니다.

구문

pg_last_copy_id()

반환 타입

정수를 반환합니다.

예시

다음은 현재 세션에서 마지막 COPY 명령의 쿼리 ID를 반환하는 쿼리입니다.

select pg_last_copy_id(); pg_last_copy_id --------------- 5437 (1 row)

다음은 STL_LOAD_ERRORS를 STL_LOADERROR_DETAIL로 조인하여 현재 세션에서 가장 최근 로드 도중 발생한 오류 정보를 표시하는 쿼리입니다.

select d.query, substring(d.filename,14,20), d.line_number as line, substring(d.value,1,16) as value, substring(le.err_reason,1,48) as err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and d.query = pg_last_copy_id(); query | substring | line | value | err_reason -------+-------------------+------+----------+------------------------------------------------- 558| allusers_pipe.txt | 251 | 251 | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | ZRU29FGR | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Kaitlin | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Walter | String contains invalid or unsupported UTF8 code