이 문서는 지원되지 않는 버전의 토토 커뮤니티 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

토토 커뮤니티

이름

토토 커뮤니티- 테이블 또는 테이블 세트를 비우십시오

시놉시스

토토 커뮤니티 [표] [만]이름[ *] [, ...]
    [신분을 다시 시작 | 계속 정체성] [캐스케이드 | 제한]

설명

토토 커뮤니티모든 행을 빠르게 제거합니다 테이블 세트에서. 자격이없는 것과 같은 효과삭제각 테이블에서는하지만 실제로 테이블을 스캔하지 않으면 더 빠릅니다. 게다가 a 후속진공작동. 이것은 큰 테이블에서 가장 유용합니다.

매개 변수

이름

테이블의 이름 (선택적으로 스키마 자격) 잘립니다. 만약에전용지정되어 있습니다 테이블 이름 이전에 해당 테이블 만 잘립니다. 만약에전용표를 지정하지 않았습니다 그리고 그 후손 테이블 (있는 경우)은 잘립니다. 선택적으로,*지정할 수 있습니다 테이블 이름 후에 그 후손을 명시 적으로 나타냅니다 테이블이 포함되어 있습니다.

신원 재시작

의 열에서 소유 한 시퀀스를 자동으로 다시 시작합니다 잘린 테이블 (들).

계속 신원

시퀀스 값을 변경하지 마십시오. 이것은입니다 기본.

캐스케이드

외국 키가있는 모든 테이블을 자동으로 자릅니다 명명 된 테이블 또는 테이블에 대한 참조 로 인해 그룹에 추가캐스케이드.

제한

테이블 중 하나에 외국 키가있는 경우 자르기 거부 명령에 나열되지 않은 테이블의 참조. 이것은 기본입니다.

노트

당신은토토 커뮤니티특권 그것을 자르기 위해 테이블에.

토토 커뮤니티인수액세스 독점작동하는 각 테이블을 잠그십시오 on, 테이블의 다른 모든 동시 작업을 차단합니다. 만약에 테이블에 동시에 액세스해야합니다. 그런 다음삭제대신 명령을 사용해야합니다.

토토 커뮤니티테이블에서 사용할 수 없습니다 그것은 다른 테이블이 아니라면 다른 테이블에서 외국 키 참조가 있습니다 이러한 테이블도 같은 명령으로 잘립니다. 확인 그러한 경우의 유효성은 테이블 스캔이 필요하며 전체가 필요합니다. 포인트는 하나를하지 않습니다. 그만큼캐스케이드옵션을 사용하여 모든 종속 테이블을 자동으로 포함시킬 수 있습니다. - 그러나이 옵션을 사용할 때 매우 조심하십시오. 그렇지 않으면 의도하지 않은 데이터 손실!

토토 커뮤니티아무 것도 해고하지 않을 것입니다ON DELETE테이블. 그러나 그것은 화재 될 것입니다on 토토 커뮤니티트리거. 만약에on 토토 커뮤니티트리거는입니다 모든 테이블에 대해 정의 된 다음 모두전기 전트리거가 발사됩니다 잘림이 발생하고 모두잘린마지막 절단 후 트리거가 발사됩니다 수행. 트리거는 테이블이 처리되어야합니다 (먼저 명령에 나열된 것, 그런 다음 계단식으로 인해 추가 된 내용).

경고

토토 커뮤니티MVCC-SAFE가 아닙니다 (보다토토 사이트 순위 : 문서 : 8.4 : 동시성 제어일반 MVCC에 대한 정보). 잘린 후, 테이블이 있습니다 모든 동시 거래에 비어있는 것처럼 보입니다 잘림 전에 찍은 스냅 샷을 사용하고 있습니다 발생했습니다. 이것은 거래에만 문제가 될 것입니다 그것은 자르기 전에 잘린 테이블에 액세스하지 못했습니다 잘림이 발생했습니다 - 그렇게 한 모든 거래 적어도액세스 공유하다잠금, 차단토토 커뮤니티해당 거래가 완료 될 때까지. 따라서 잘린 것은 명백한 불일치를 유발하지 않습니다 동일하게 연속 쿼리를위한 테이블 내용 표이지만 사이에 눈에 띄는 불일치가 발생할 수 있습니다 잘린 테이블 및 기타 테이블의 내용 데이터베이스.

토토 커뮤니티는 트랜잭션-안전합니다 테이블의 데이터에 대한 존중 : 잘린 것은 안전하게 주변 거래가 커밋되지 않으면 롤백.

경고

anyAlter Sequence Restart작동의 결과로 수행 된 작업신분을 다시 시작합니다옵션은입니다 비 트랜잭션 및 실패시 롤백되지 않습니다. 위험을 최소화하기 위해 이러한 작업은 수행됩니다 모든 후에토토 커뮤니티's 작업이 완료되었습니다. 그러나 여전히 위험이 있습니다토토 커뮤니티내부에서 수행됩니다 나중에 중단되는 트랜잭션 블록. 을 위한 예, 고려

시작;
토토 커뮤니티 Table Foo 재시작 ID;
foo를 복사 ...;
저지르다;

COPY파트 웨이에 실패합니다 테이블 데이터는 올바르게 롤백하지만 시퀀스에는 아마도 값이 남을 것입니다 그들이 이전보다 작으며 아마도 이어질 수 있습니다 중복 키 장애 또는 나중에 다른 문제 업무. 이것이 문제가 될 가능성이 있다면, 그것은입니다 사용하지 않는 것이 가장 좋습니다다시 시작합니다 신원의 새로운 내용을 받아들이십시오 테이블은 이전보다 일련 번호가 높습니다.

예제

테이블을 잘라bigtableand격렬한:

bigtable, fattable;

동일하고 관련 시퀀스를 재설정합니다 발전기 :

Bigtable, Fattable Restart Identity를 잘라냅니다.

테이블을 잘라기타 테이블및 참조하는 테이블로 캐스케이드기타 테이블외국 키 제약 조건을 통해 :

기타 테이블 캐스케이드를 잘라냅니다.

호환성

SQL : 2008 표준은 A 포함토토 커뮤니티구문으로 명령토토 커뮤니티 TableTableName. 조항계속 신원/다시 시작합니다 신원또한 그 표준에 나타나지만 약간 있습니다 다르지만 관련된 의미. 동시 행동 중 일부 이 명령 중 표준에 따라 구현 된 구현이 남아 있습니다. 따라서 위의 메모는 고려하고 다른 것과 비교해야합니다. 필요한 경우 구현.