이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.2. 범퍼카 토토

WAL다음에서 자동으로 활성화됩니다. 7.1 이후 릴리스. 관리자의 조치가 필요하지 않습니다. 추가 디스크 공간을 확보하는 것을 제외하고 의 요구 사항WAL범퍼카 토토는 충족되었으며 필요한 조정이 완료되었는지 확인합니다(참조섹션 9.3).

WAL로그는 다음 위치에 저장됩니다. 디렉토리$PGDATA/pg_xlog, 세그먼트 집합으로 파일 크기는 각각 16MB입니다. 각 세그먼트는 8kB로 나누어집니다. 페이지. 범퍼카 토토 레코드 헤더에 대한 설명은액세스/xlog.h; 기록 내용은 다음에 따라 달라집니다. 기록되는 이벤트 유형입니다. 세그먼트 파일이 제공됩니다. 에서 시작하는 일련 번호를 이름으로 사용0000000000000000. 숫자는 줄 바꿈되지 않습니다. 존재하지만 이를 소진하는 데는 매우 오랜 시간이 걸릴 것입니다. 사용 가능한 재고가 있습니다.

WAL버퍼 및 제어 구조는 공유 메모리에 있으며 백엔드에 의해 처리됩니다. 스핀락으로 보호됩니다. 공유 메모리에 대한 수요는 다음과 같습니다. 버퍼 수에 따라 다릅니다. 의 기본 크기WAL버퍼는 64kB입니다.

로그가 다른 디스크에 있는 경우 유리합니다. 기본 데이터베이스 파일. 이는 다음을 이동하여 달성할 수 있습니다. 디렉토리,pg_xlog, 다른 위치로 (물론 포스트마스터가 종료되는 동안) 그리고 원래 위치의 심볼릭 링크$PGDATA새 위치로.

목적WAL, 이를 보장하기 위해 범퍼카 토토는 데이터베이스 레코드가 변경되기 전에 기록됩니다. 쓰기 성공을 허위로 보고하는 디스크 드라이브에 의해 전복됨 실제로는 데이터만 캐시하고 아직 디스크에 저장하지 않았습니다. 그러한 정전 상황은 여전히 복구 불가능한 데이터 손상으로 이어질 수 있습니다. 관리자는 디스크가 보유하고 있는지 확인해야 합니다.포스트그레SQL의 데이터 및 범퍼카 토토 파일 그런 거짓 보고를 하지 마십시오.

9.2.1. 데이터베이스 복구WAL

체크포인트가 만들어지고 범퍼카 토토가 플러시된 후, 체크포인트 위치는 파일에 저장됩니다.pg_control. 그러므로 회복이 필요할 때 완료되면 백엔드가 먼저 읽습니다.pg_control그리고 체크포인트 기록; 다음 위치가 저장된 리두 레코드를 읽습니다. 체크포인트를 지정하고 REDO 작업을 시작합니다. 때문에 전체 페이지의 내용은 첫 번째 페이지의 로그에 저장됩니다. 체크포인트 이후에 수정하면 페이지가 먼저 표시됩니다. 일관된 상태로 복원되었습니다.

사용 중pg_control얻기 위해 체크포인트 위치는 복구 프로세스 속도를 높이지만 손상 가능성을 처리합니다.pg_control, 우리는 실제로 다음을 구현해야 합니다 기존 로그 세그먼트를 역순으로 읽기 - 최신 가장 오래된 것 - 마지막 체크포인트를 찾기 위해. 이것은 그렇지 않았습니다 아직 릴리스 7.1에서 완료되었습니다.