Wal자동으로입니다 릴리스 7.1에서 활성화되었습니다. 아무런 조치가 필요하지 않습니다 추가 보장을 제외하고 관리자 의 디스크 공간 요구 사항Wal젠 토토가 충족되고 필요한 모든 것 튜닝이 완료되었습니다 (섹션 11.3).
Wal젠 토토는에 저장됩니다 예배 규칙서$ pgdata/pg_xlog, 일련의 세그먼트로 파일, 각 16MB 크기. 각 세그먼트는 8kb로 나뉩니다 페이지. 젠 토토 레코드 헤더는에 설명되어 있습니다.access/xlog.h; 레코드 내용은 다음에 따라 다릅니다 기록중인 이벤트 유형. 세그먼트 파일이 제공됩니다 이름으로 숫자가 계속 증가하고0000000000000000. 숫자는 랩핑하지 않습니다 존재하지만 소진하는 데 시간이 오래 걸립니다. 사용 가능한 숫자 재고.
theWAL버퍼 및 제어 구조는 공유 메모리에 있으며 백엔드에 의해 처리됩니다. 그들은 가벼운 자물쇠로 보호됩니다. 공유 수요 메모리는 버퍼 수에 따라 다릅니다. 기본 크기 그만큼Wal버퍼는 8 버퍼입니다 각각 8kb 또는 총 64kb.
젠 토토가 다른 디스크에있는 경우 유리합니다. 기본 데이터베이스 파일. 이것은 이동함으로써 달성 될 수 있습니다 예배 규칙서,PG_XLOG, 다른 위치로 (우체국 장이 문을 닫는 동안) 원래 위치에서 상징적 링크$ pgdata새로운 위치로.
목표Wal, 보장합니다 데이터베이스 레코드가 변경되기 전에 젠 토토가 작성되었다. 성공을 거짓으로보고하는 디스크 드라이브에 의해 전복됩니다. 실제로 커널에 쓰십시오. 데이터는 아직 디스크에 저장되지 않았습니다. 그러한 정전 상황은 여전히 방해 할 수없는 데이터 손상으로 이어질 수 있습니다. 관리자는 디스크를 보유하고 있는지 확인해야합니다PostgreSQL의 젠 토토 파일은 그렇지 않습니다 그러한 허위보고를하십시오.
체크 포인트가 만들어지고 젠 토토가 플러시 된 후 Checkpoint의 위치는 파일에 저장됩니다PG_CONTROL. 그러므로 회복 될 때 완료, 백엔드는 먼저 읽습니다PG_CONTROL그리고 체크 포인트 레코드; 그 다음에 로그에서 앞으로 스캔하여 레디 작업을 수행합니다. 체크 포인트 레코드에 표시된 위치. 전체 데이터 페이지의 내용은 첫 페이지의 로그에 저장됩니다. 수정 체크 포인트 후 모든 페이지가 변경된 이후로 변경되었습니다 체크 포인트는 일관된 상태로 복원됩니다.
사용PG_CONTROL체크 포인트 위치는 복구 프로세스 속도를 높이지만 의 가능한 부패 처리PG_CONTROL, 실제로 젠 토토해야합니다 기존 로그 세그먼트 읽기 역 순서 - 최신 가장 오래 - 마지막 체크 포인트를 찾기 위해. 이것은 그렇지 않습니다 아직 젠 토토되었습니다.
롤 토토 : 문서 : 7.2 : 쓰기 호위 (WAL) | 홈 | 다음 |
쓰기 로깅 (WAL) | up | Wal구성 |