참조PostgreSQL : 문서 : 8.2 : 롤 토토 구성for WAL 튜닝에 대한 세부 사항.
이 매개 변수가 켜져 있으면범퍼카 토토서버는 만들려고합니다
업데이트는 물리적으로 디스크에 작성됩니다
발행fsync ()
시스템
전화 또는 다양한 동등한 방법 (Wal_Sync_Method).
이것은 데이터베이스 클러스터가
운영 체제 또는 하드웨어 후 일관된 상태
충돌.
그러나 사용fsync결과 성과 페널티에서 : 거래가있을 때 헌신적인,범퍼카 토토운영 체제가 플러시 될 때까지 기다려야합니다 디스크에 쓰기 범퍼카 토토를 쓰십시오. 언제fsync는 비활성화되어 있으며 운영 체제입니다 버퍼링, 주문 및 글을 지연시킵니다. 이것은 크게 발생할 수 있습니다 개선 된 성능. 그러나 시스템이 충돌하면 마지막 몇 개의 커밋 된 거래 결과는있을 수 있습니다 부분적으로 또는 전체로 길을 잃었습니다. 최악의 경우 복구 할 수 없습니다 데이터 손상이 발생할 수 있습니다. (데이터베이스의 충돌 소프트웨어 자체는아님여기서 위험 요소. 운영 시스템 수준의 충돌만이 위험을 초래합니다 부패.)
관련된 위험으로 인해 보편적으로는 없습니다 올바른 설정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)
theOpen_* 옵션도 사용o_direct사용 가능한 경우. 전부는 아닙니다 이러한 선택 중 모든 플랫폼에서 사용할 수 있습니다. 그만큼 기본값은 위 목록의 첫 번째 메소드입니다. 플랫폼에서 지원합니다.fdatasyncLinux의 기본값입니다. 이것 매개 변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에서 명령 줄.
이 매개 변수가 켜져 있으면범퍼카 토토서버 전체를 작성합니다 첫 번째 동안 각 디스크 페이지의 내용 체크 포인트 후 해당 페이지의 수정. 이것은 중이 중에있는 페이지가 작성되기 때문에 필요합니다. 운영 체제 충돌은 부분적으로 만 완료 될 수 있으며 오래된 구형과 새로운 데이터. 줄 수준 변경 데이터는 일반적으로 저장된 데이터입니다 WAL은 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 충돌 후 회복 중에. 전체 페이지 이미지를 저장합니다 페이지를 올바르게 복원 할 수 있음을 보장하지만 데이터의 양을 인상하는 데 가격으로 Wal에 작성되었습니다. (WAL Replay는 항상 a에서 시작하기 때문에 체크 포인트, 첫 번째 동안이 작업을 수행하기에 충분합니다. 체크 포인트 후 각 페이지의 변경. 따라서 하나 전체 페이지 쓰기 비용을 줄이는 방법은 증가하는 것입니다. 체크 포인트 간격 매개 변수.)
이 매개 변수를 끄기 속도 정상 작동, 그러나 운영 후 부패한 데이터베이스로 이어질 수 있습니다. 시스템 충돌 또는 정전. 위험은 비슷합니다 끄기fsync더 작습니다. 이 매개 변수를 끄는 것이 안전 할 수 있습니다. 하드웨어 (예 : 배터리 지원 디스크 컨트롤러)가 있습니다. 또는 부분의 위험을 줄이는 파일 시스템 소프트웨어 Page는 허용 가능한 낮은 수준 (예 : Reiserfs)으로 씁니다 4).
이 매개 변수를 끄는 것은 WAL 사용에 영향을 미치지 않습니다. PITR (Point-in-Time Recovery) 보관 (참조섹션 23.3).
이 매개 변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에서 명령 줄. 기본값은on.
WAL의 공유 메모리에 사용되는 메모리의 양 데이터. 기본값은 64 킬로 바이트 (입니다.64KB). 설정은 크기가 커집니다 하나가 생성 한 WAL 데이터의 양을 유지하기에 충분합니다. 데이터가 기록되므로 일반적인 트랜잭션 모든 트랜잭션 커밋에서 디스크. 이 매개 변수 는만 할 수 있습니다 서버 시작에서 설정해야합니다.
이 매개 변수를 늘리면범퍼카 토토더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 16.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.
WAL에 커밋 레코드를 작성하는 사이의 시간 지연
버퍼를 디스크로 버퍼하고 플러싱합니다
마이크로 초. 0이 아닌 지연으로 인해 여러 가지가 허용 될 수 있습니다
하나만 커밋 할 거래fsync ()
시스템로드 인 경우 시스템 호출
추가 거래가 준비 될 정도로 높습니다
주어진 간격 내에서 커밋하십시오. 그러나 지연은 단지입니다
다른 거래가 커밋 할 준비가되지 않으면 낭비됩니다.
따라서 지연은 적어도 만 수행됩니다.Commit_Siblings기타
트랜잭션은 서버의 순간에 활성화됩니다
프로세스는 커밋 기록을 작성했습니다. 기본값은입니다
0 (지연 없음).
동시 공개 트랜잭션의 최소 수 수행하기 전에Commit_Delay지연. 더 큰 가치가 만듭니다 적어도 하나의 다른 거래가 지연 간격 동안 커밋 할 준비가 되십시오. 그만큼 기본값은 5 개의 거래입니다.
자동 WAL 체크 포인트 간의 최대 거리는 IN 로그 파일 세그먼트 (각 세그먼트는 일반적으로 16입니다 메가 바이트). 기본값은 세 세그먼트입니다. 이 매개 변수 에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에서 명령 줄.
자동 WAL 체크 포인트 간의 최대 시간 초. 기본값은 5 분입니다 (5min). 이 매개 변수는 설정할 수 있습니다 그만큼범퍼카 토토.conf파일 또는 ON 서버 명령 줄.
체크 포인트 인 경우 서버 범퍼카 토토에 메시지를 작성하십시오 체크 포인트 세그먼트 파일의 채우기 때문에 발생합니다 이 여러 초보다 더 가깝습니다 (이것은 제안합니다 저것Checkpoint_segments제기). 기본값은 30 초입니다 (30S). 0은 경고를 비활성화합니다. 이것 매개 변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에서 명령 줄.
쉘 명령을 실행하여 완성 된 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
thearchive_command완성 된 WAL 세그먼트에서만 호출됩니다. 그러므로, 당신의 경우 서버는 거의 WAL 트래픽을 생성합니다 (또는 여유 기간이 느슨합니다 그렇게하는 곳), 사이에 긴 지연이있을 수 있습니다. 거래 완료 및 안전한 기록 아카이브 스토리지. 구조되지 않은 나이에 제한을두기 위해 데이터가 될 수 있습니다. 설정할 수 있습니다archive_timeout서버를 강제하기 위해 새 WAL 세그먼트 파일로 주기적으로 전환하십시오. 이렇게하면 매개 변수는 0보다 크고 서버는 이 몇 초가있을 때마다 새로운 세그먼트 파일 마지막 세그먼트 파일 스위치 이후 경과. 주목하십시오 강제로 인해 일찍 닫힌 아카이브 된 파일 스위치는 여전히 완전히 가득 찬 길이입니다 파일. 따라서 매우 짧은 것을 사용하는 것은 현명하지 않습니다archive_timeout- 부풀게됩니다 아카이브 스토리지.archive_timeout1 분 정도의 설정 일반적으로 합리적입니다. 이 매개 변수는 설정할 수 있습니다 그만큼범퍼카 토토.conf파일 또는 ON 서버 명령 줄.