Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물
TRUNCATE
테이블 스캔을 수행하지 않고 테이블에서 모든 행을 삭제합니다. 이 작업은 정규화되지 않은 DELETE 작업을 대신하여 더 빠르게 수행할 수 있는 수단입니다. TRUNCATE 명령을 실행하려면 테이블의 소유자 또는 수퍼유저이거나 테이블에 대한 TRUNCATE 권한이 부여되어야 합니다. 테이블을 잘라낼 수 있는 권한을 부여하려면 GRANT 명령을 사용합니다.
TRUNCATE는 DELETE보다 훨씬 더 효율적이며 VACUUM 및 ANALYZE가 필요하지 않습니다. 하지만 TRUNCATE는 이 명령이 실행되는 트랜잭션을 커밋합니다.
구문
TRUNCATE [ TABLE ] table_name
이 명령은 구체화된 뷰에서도 작동합니다.
TRUNCATE materialized_view_name
파라미터
- TABLE
-
선택적 키워드입니다.
- table_name
-
임시 또는 영구 테이블입니다. 테이블 소유자 또는 수퍼유저만이 테이블을 잘라낼 수 있습니다.
외래 키 제약 조건에서 참조되는 테이블을 포함한 어떤 테이블이든 잘라낼 수 있습니다.
잘라낸 후 테이블을 vacuum할 필요가 없습니다.
- materialized_view_name
-
구체화된 뷰
구체화된 뷰로 스트리밍 모으기에 사용되는 구체화된 뷰를 잘라낼 수 있습니다.
사용 노트
TRUNCATE 명령은 명령이 실행되는 트랜잭션을 커밋하므로 TRUNCATE 작업을 롤백할 수 없고, TRUNCATE 명령은 스스로를 커밋할 때 다른 작업을 커밋할 수 있습니다.
-
TRUNCATE 작업은 다음 중 하나에 연결된 Amazon Redshift 스트리밍 구체화된 뷰에서 실행될 때 배타적 잠금을 유지합니다.
Amazon Kinesis 데이터 스트림
Amazon Managed Streaming for Apache Kafka 주제
Confluent Cloud Kafka 주제와 같은 지원되는 외부 스트림
자세한 내용은 구체화된 뷰로 스트리밍 모으기 섹션을 참조하세요.
예시
CATEGORY 테이블에서 모든 행을 삭제하려면 TRUNCATE 명령을 사용하세요.
truncate category;
TRUNCATE 작업 롤백을 시도합니다.
begin; truncate date; rollback; select count(*) from date; count ------- 0 (1 row)
TRUNCATE 명령이 자동으로 커밋되었으므로 ROLLBACK 명령 후 DATE 테이블이 빈 상태로 남습니다.
다음 예제에서는 TRUNCATE 명령을 사용하여 구체화된 뷰에서 모든 행을 삭제합니다.
truncate my_materialized_view;
구체화된 뷰의 모든 레코드를 삭제하고 구체화된 뷰와 해당 스키마를 그대로 유지합니다. 쿼리에서 구체화된 뷰 이름은 샘플입니다.