Wal자동으로입니다 활성화; 관리자에게는 조치가 필요하지 않습니다 에 대한 디스크 공간 요구 사항 확인Wal로그가 충족되고 필요한 모든 것 튜닝이 완료되었습니다 (섹션 27.3).
Wal로그는에 저장됩니다 예배 규칙서pg_xlog데이터에 따라 디렉토리, 일련의 세그먼트 파일로서 일반적으로 각각 16MB 크기. 각 세그먼트는 일반적으로 각각 8kb의 페이지로 나뉩니다. 그만큼 로그 레코드 헤더는에 설명되어 있습니다.access/xlog.h; 레코드 내용은 다음에 따라 다릅니다 기록중인 이벤트 유형. 세그먼트 파일이 제공됩니다 이름으로 숫자가 계속 증가하고000000010000000000000000. 숫자는 그렇지 않습니다 현재 랩, 그러나 지금은 매우 오랜 시간이 걸립니다. 사용 가능한 숫자 재고를 소진하십시오.
로그가 다른 디스크에있는 경우 유리합니다. 기본 데이터베이스 파일. 이것은 이동함으로써 달성 될 수 있습니다 예배 규칙서PG_XLOG다른 위치로 (물론 서버가 종료되는 동안) 기본 데이터의 원래 위치에서 상징적 링크 새 위치에 대한 디렉토리.
의 목표Wal, 보장합니다 데이터베이스 레코드가 변경되기 전에 로그가 작성되었다. 디스크 드라이브로 전복사실 그들은 데이터 만 캐싱했지만 아직 저장되지 않았습니다. 디스크. 그러한 상황에서의 정전은 여전히 방해 할 수없는 데이터 손상. 관리자는 시도해야합니다 디스크 보유 확인토토 사이트 순위'sWal로그 파일은 그러한 허위를 만들지 않습니다 보고서.
체크 포인트가 만들어지고 로그가 플러시 된 후 Checkpoint의 위치는 파일에 저장됩니다PG_CONTROL. 그러므로 회복 될 때 완료, 서버가 먼저 읽습니다PG_CONTROL그리고 체크 포인트 레코드; 그런 다음 REDO를 수행합니다 표시된 로그 위치에서 앞으로 스캔하여 작동 체크 포인트 레코드. 데이터 페이지의 전체 컨텐츠이기 때문에 다음 페이지 수정 후 로그에 저장됩니다. 체크 포인트, 모든 페이지가 체크 포인트가되기 때문에 변경되었습니다 일관된 상태로 복원.
사례를 처리하려면PG_CONTROL손상되었으므로 우리는 지원해야합니다 기존 로그 세그먼트를 역순으로 스캔 할 가능성 - 최신 체크 포인트를 찾기 위해 최신부터 가장 새로운 것입니다. 이것 아직 구현되지 않았습니다.PG_CONTROL는 충분히 작습니다 (하나의 디스크 미만 페이지) 부분 쓰기 문제가 발생하지 않으며 이 글은 데이터베이스 실패에 대한보고가 없었습니다. 전적으로 읽을 수 없음PG_CONTROL자체. 그래서 그것은 이론적으로 약한 지점이지만PG_CONTROL문제가되지 않는 것 같습니다 관행.