참조PostgreSQL : 문서 : 8.1 : 토토 사이트 추천 구성for WAL 튜닝에 대한 세부 사항.
이 옵션이 켜져 있으면토토 캔서버는 만들려고합니다
업데이트는 물리적으로 디스크에 작성됩니다
발행fsync ()
시스템
전화 또는 다양한 동등한 방법 (Wal_Sync_Method).
이것은 데이터베이스 클러스터가
운영 체제 또는 하드웨어 후 일관된 상태
충돌.
그러나 사용fsync결과 성과 페널티에서 : 거래가있을 때 헌신적인,토토 캔운영 체제가 플러시 될 때까지 기다려야합니다 디스크에 쓰기 토토 캔를 쓰십시오. 언제fsync는 비활성화되어 있으며 운영 체제입니다 버퍼링, 주문 및 글을 지연시킵니다. 이것은 크게 발생할 수 있습니다 개선 된 성능. 그러나 시스템이 충돌하면 마지막 몇 개의 커밋 된 거래 결과는있을 수 있습니다 부분적으로 또는 전체로 길을 잃었습니다. 최악의 경우 복구 할 수 없습니다 데이터 손상이 발생할 수 있습니다. (데이터베이스의 충돌 소프트웨어 자체는not여기서 위험 요소. 운영 시스템 수준의 충돌만이 위험을 초래합니다 부패.)
관련된 위험으로 인해 보편적으로는 없습니다 올바른 설정fsync. 일부 관리자는 항상 비활성화fsync, 다른 것들만 꺼집니다 초기 벌크 데이터로드 중에는 명확한 곳이 있습니다. 무언가 잘못되면 지점을 다시 시작하십시오. 다른 사람들은 항상 떠나다fsync활성화. 기본값 활성화fsync, 최대 신뢰할 수 있음. 운영 체제를 신뢰한다면 하드웨어 및 유틸리티 회사 (또는 배터리 백업), 비활성화를 고려할 수 있습니다fsync.
이 옵션은 서버 시작 또는에서 설정할 수 있습니다.토토 캔.conf파일. 당신이 이 옵션을 끄고 끄는 고려full_page_writes.
WAL 업데이트를 디스크로 강제하는 데 사용되는 방법. 만약에fsync꺼져 있습니다 업데이트는 강제로 나오지 않기 때문에 관련이 없습니다. 모두. 가능한 가치는 다음과 같습니다.
Open_Datasync(WAR WAL
가있는 파일Open ()
옵션O_DSYNC)
fdatasync(Callfdatasync ()
각각
저지르다)
fsync(Callfsync ()
각 커밋에서)
fsync_writethrough(Callfsync ()
각 커밋마다
디스크 쓰기 캐시의 쓰기 강제)
Open_Sync(WAR WAL
가있는 파일Open ()
옵션O_SYNC)
이러한 모든 선택을 모두 사용할 수있는 것은 아닙니다 플랫폼. 기본값은 위의 첫 번째 방법입니다 플랫폼에서 지원하는 목록을 제외하고fdatasync기본값이 켜져 있습니다 리눅스. 이 옵션은 서버 시작 또는에서 설정할 수 있습니다.토토 캔.conf파일.
이 옵션이 켜져 있으면토토 캔서버 전체를 작성합니다 첫 번째 동안 각 디스크 페이지의 내용 체크 포인트 후 해당 페이지 수정.
이 매개 변수는 현재 무시되었습니다 (항상 취급on) 끄기 때문에 할 수 있습니다 아니요라도 충돌로부터 회복하지 못한 경우 하드웨어 또는 OS 수준 오류가 발생했습니다. 이것은 고정 될 것입니다 어떤 향후 릴리스에서는 그렇지 않으면 매개 변수가 완전히 제거되었습니다.
공유 메모리에 할당 된 디스크 페이지 버퍼 수 WAL 데이터의 경우. 기본값은 8입니다. 설정은 필요합니다 생성 된 WAL 데이터의 양을 유지하기에 충분히 큰 데이터가 다음으로 작성되었으므로 하나의 전형적인 트랜잭션 모든 트랜잭션 커밋에서 디스크. 이 옵션 은만 가능합니다 서버 시작에서 설정합니다.
이 매개 변수를 늘리면토토 캔더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 16.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.
WAL에 커밋 레코드를 작성하는 사이의 시간 지연
버퍼를 디스크로 버퍼하고 플러싱합니다
마이크로 초. 0이 아닌 지연으로 인해 여러 가지가 허용 될 수 있습니다
하나만 커밋 할 거래fsync ()
시스템로드 인 경우 시스템 호출
추가 거래가 준비 될 정도로 높습니다
주어진 간격 내에서 커밋하십시오. 그러나 지연은 단지입니다
다른 거래가 커밋 할 준비가되지 않으면 낭비됩니다.
따라서 지연은 적어도 만 수행됩니다.Commit_Siblings기타
트랜잭션은 서버의 순간에 활성화됩니다
프로세스는 커밋 기록을 작성했습니다. 기본값은입니다
0 (지연 없음).
동시 공개 트랜잭션의 최소 수 수행하기 전에Commit_Delay지연. 더 큰 가치가 만듭니다 적어도 하나의 다른 거래가 지연 간격 동안 커밋 할 준비가 되십시오. 그만큼 기본값은 5입니다.
자동 WAL 체크 포인트 간의 최대 거리, IN 로그 파일 세그먼트 (각 세그먼트는 일반적으로 16입니다 메가 바이트). 기본값은 3입니다. 이 옵션 은만 가능합니다 서버 시작 또는에서 설정토토 캔.conf파일.
자동 WAL 체크 포인트 간의 최대 시간 초. 기본값은 300 초입니다. 이 옵션 은만 할 수 있습니다 서버 시작 또는에서 설정해야합니다.토토 캔.conf파일.
체크 포인트 인 경우 서버 토토 캔에 메시지를 작성하십시오 체크 포인트 세그먼트 파일의 채우기 때문에 발생합니다 이 여러 초보다 더 가깝습니다 (이것은 제안합니다 저것Checkpoint_segments제기). 기본값은 30 초입니다. 제로는 비활성화됩니다 경고.
쉘 명령을 실행하여 완료된 A를 보관합니다 WAL 파일 시리즈의 세그먼트. 이것이 비어 있다면 문자열 (기본값), WAL 아카이빙이 비활성화되었습니다. 어느%p문자열에서 대체됩니다 아카이브 파일의 경로 이름 및 모든%f는 파일 이름으로 만 대체됩니다. (그만큼 경로 이름은 서버, 즉 클러스터의 데이터 디렉토리) 사용%%실제를 포함하려면%명령의 문자. 자세한 내용 정보 참조섹션 23.3.1. 이 옵션은 서버 시작시에만 설정할 수 있습니다 또는에서토토 캔.conf파일.
명령이 제로 출구를 반환하는 것이 중요합니다. 상태가 성공한 경우에만 상태. 예 :
archive_command = 'cp "%p"/mnt/server/archivedir/"%f"' archive_command = 'copy "%p"/mnt/server/archivedir/"%f"' # windows