이 문서는 지원되지 않는 버전의 무지개 토토을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 28 장. 신뢰성과 윈 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

25 장. 쓰기 로깅 (Wal)

쓰기 로깅(Wal)는 거래에 대한 표준 접근법입니다 벌채 반출. 자세한 설명은 대부분 발견 될 수 있습니다 (그렇지 않은 경우 모든) 거래 처리에 관한 책. 간단히,WAL의 중심 개념은 데이터 변경이라는 것입니다 파일 (테이블 및 인덱스가있는 경우) 은만 작성해야합니다. 이러한 변경 사항이 기록 된 후, 즉 로그가 녹음 할 때 영구 저장소로 플러시되었습니다. 우리가 이것을 따르는 경우 프로 시저, 우리는 모든마다 디스크에 데이터 페이지를 플러시 할 필요가 없습니다. 충돌이 발생했을 때 우리는 로그를 사용하여 데이터베이스를 복구 할 수 있습니다. 데이터 페이지에 적용되지 않은 변경 사항은 먼저 로그 레코드에서 다시 작성하십시오 (이것은 롤 포워드 복구입니다. REDO라고도 함) 및 커밋되지 않은 변경 사항 트랜잭션은 데이터 페이지에서 제거됩니다 (롤백 워드 회복, 실행 취소).

25.1. 의 혜택Wal

사용의 첫 번째 명백한 이점Wal는 상당히 감소 된 수입니다 디스크는 로그 파일 만 플러시해야하므로 트랜잭션 커밋시 디스크; Multiuser에서 환경, 많은 거래의 커밋이 달성 될 수 있습니다 싱글fsync ()12681_12853

다음 이점은 데이터 페이지의 일관성입니다. 진실 그게Wal, 무지개 토토결코 할 수 없었습니다 충돌의 경우 일관성을 보장합니다. 전에Wal, 모든 충돌 중 글쓰기가 발생할 수 있습니다 :

  1. 존재하지 않는 테이블 행을 가리키는 인덱스 행

  2. 분할 작업에서 손실 된 인덱스 행

  3. 완전히 손상된 테이블 또는 인덱스 페이지 컨텐츠 부분적으로 작성된 데이터 페이지

인덱스 문제 (문제 1 및 2) 문제가있을 수 있습니다. 추가로 고정fsync ()호출이지만 마지막 케이스를 처리하는 방법은 분명하지 않습니다. 없이Wal;Wal전체 데이터 페이지 컨텐츠를 저장합니다 페이지 일관성을 보장하는 데 필요한 로그 사후 회복 후.