이 문서는 지원되지 않는 범퍼카 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.스포츠 토토 사이트 PostgreSQL : 문서 : 17 : 19.5. 미리 로그 작성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

17.5. 미리 쓰기 범퍼카 토토

또한 참조PostgreSQL : 문서 : 8.2 : 롤 토토 구성용 WAL 튜닝에 대한 자세한 내용입니다.

17.5.1. 설정

fsync (부울)

이 매개변수가 켜져 있으면포스트그레SQL서버가 다음을 시도할 것입니다. 업데이트가 물리적으로 디스크에 기록되는지 확인하세요. 발급 중fsync()시스템 호출 또는 이에 상응하는 다양한 방법(참조wal_sync_method). 이렇게 하면 데이터베이스 클러스터가 다음 위치로 복구될 수 있습니다. 운영 체제 또는 하드웨어 이후의 일관된 상태 충돌.

그러나 다음을 사용하여fsync결과 성능 저하: 트랜잭션이 헌신했다,범퍼카 토토운영 체제가 플러시할 때까지 기다려야 합니다. 디스크에 미리 기록합니다. 언제fsync이 비활성화되어 있으면 운영 체제가 버퍼링, 주문 및 작업에 최선을 다할 수 있습니다. 쓰기 지연. 이로 인해 상당한 결과가 발생할 수 있습니다. 향상된 성능. 그러나 시스템이 충돌하면 마지막으로 커밋된 몇 가지 트랜잭션의 결과는 다음과 같습니다. 일부 또는 전체가 손실되었습니다. 최악의 경우 회복 불가능 데이터 손상이 발생할 수 있습니다. (데이터베이스 충돌 소프트웨어 자체는아님여기에 위험 요소가 있습니다. 운영 체제 수준의 충돌만이 다음과 같은 위험을 야기합니다. 부패.)

관련된 위험으로 인해 보편적으로 올바른 설정fsync. 일부 관리자는 항상 비활성화합니다fsync, 다른 사람들은 끄기만 하는 반면 초기 대량 데이터 로드 중에 명확한 정보가 있는 경우 문제가 발생하면 다시 시작하세요. 다른 사람들은 항상 떠나다fsync활성화되었습니다. 기본값 활성화하는 것입니다.fsync, 최대 신뢰성. 운영 체제를 신뢰한다면 하드웨어, 유틸리티 회사(또는 배터리) 백업) 비활성화를 고려할 수 있습니다.fsync.

이 매개변수는 다음에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에 명령줄. 이 매개변수를 끄면 끄는 것을 고려해 보세요.full_page_writes.

wal_sync_method (문자열)

WAL 업데이트를 디스크에 강제로 적용하는 데 사용되는 방법입니다. 만일fsync꺼지면 이 설정이 꺼집니다 업데이트는 강제로 실행되지 않으므로 관련이 없습니다. 모두. 가능한 값은 다음과 같습니다:

  • open_datasync(WAL 작성 파일이 포함된열기()옵션O_DSYNC)

  • fdatasync(전화fdatasync()각각 커밋)

  • fsync(전화fsync()각 커밋에서)

  • fsync_writethrough(전화)fsync()커밋할 때마다, 디스크 쓰기 캐시의 연속 쓰기를 강제로 수행)

  • open_sync(WAL 작성 파일이 포함된열기()옵션O_SYNC)

open_* 옵션도 사용됨O_DIRECT사용 가능한 경우. 전부는 아니다 이러한 선택 사항은 모든 플랫폼에서 사용할 수 있습니다. 는 기본값은 위 목록의 첫 번째 방법입니다. 다음을 제외하고 플랫폼에서 지원됩니다.fdatasyncLinux의 기본값입니다. 이 매개변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에 명령줄.

full_page_writes (부울)

이 매개변수가 켜져 있으면,범퍼카 토토서버가 전체를 씁니다. 첫 번째 동안 각 디스크 페이지의 내용을 WAL에 체크포인트 이후 해당 페이지 수정. 이것은 페이지 쓰기가 진행 중이기 때문에 필요합니다. 운영 체제 충돌이 부분적으로만 완료될 수 있습니다. 오래된 내용과 오래된 내용이 혼합되어 있는 온디스크 페이지로 연결됩니다. 새로운 데이터. 행 수준 변경 데이터는 일반적으로 다음 위치에 저장됩니다. WAL은 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 충돌 후 복구 중. 전체 페이지 이미지 저장 페이지가 올바르게 복원될 수 있음을 보장하지만 데이터 양을 늘리는 대가를 치르게 됩니다. WAL에 기록됩니다. (WAL 재생은 항상 첫 번째 단계에서는 이 작업을 수행하는 것으로 충분합니다. 체크포인트 이후 각 페이지의 변경. 그러므로 하나의 전체 페이지 쓰기 비용을 줄이는 방법은 증가하는 것입니다. 체크포인트 간격 매개변수입니다.)

이 매개변수를 끄면 일반 작동 속도가 빨라지고, 하지만 운영 후 데이터베이스가 손상될 수 있습니다. 시스템 충돌 또는 정전. 위험도는 비슷합니다 끄는 중fsync하지만 더 작습니다. 다음과 같은 경우에는 이 매개변수를 끄는 것이 안전할 수 있습니다. 하드웨어(예: 배터리 지원 디스크 컨트롤러)가 있어야 합니다. 또는 부분적인 위험을 줄이는 파일 시스템 소프트웨어 페이지는 허용 가능한 낮은 수준에 기록됩니다(예: ReiserFS 4).

이 매개변수를 꺼도 WAL 사용에는 영향을 미치지 않습니다 특정 시점 복구(PITR)를 위한 보관(참조섹션 23.3).

이 매개변수는 다음에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에 명령줄. 기본값은켜짐.

wal_buffers (정수)

WAL의 공유 메모리에 사용되는 메모리 양 데이터. 기본값은 64KB입니다(64kB). 설정은 클 필요가 있습니다. 한 사람이 생성한 WAL 데이터의 양을 담기에 충분합니다. 데이터가 기록되기 때문에 일반적인 트랜잭션입니다. 모든 트랜잭션 커밋 시 디스크. 이 매개변수는 서버 시작 시 설정됩니다.

이 매개변수를 늘리면 다음이 발생할 수 있습니다.범퍼카 토토추가 요청시스템 V공유 메모리 운영 체제의 기본 구성보다 허용합니다. 참조섹션 16.4.1용 해당 매개변수를 조정하는 방법에 대한 정보(해당하는 경우) 필요합니다.

commit_delay (정수)

WAL에 커밋 레코드를 쓰는 사이의 시간 지연 버퍼를 제거하고 버퍼를 디스크로 플러시합니다. 마이크로초. 0이 아닌 지연은 여러 개의 지연을 허용할 수 있습니다. 하나만 커밋되는 트랜잭션fsync()시스템 호출, 시스템 로드가 다음인 경우 추가 트랜잭션이 준비될 만큼 충분히 높음 주어진 간격 내에 커밋합니다. 하지만 지연은 단지 커밋할 준비가 된 다른 트랜잭션이 없으면 낭비됩니다. 따라서 지연은 최소한 다음의 경우에만 수행됩니다.commit_siblings기타 서버가 연결되는 순간 트랜잭션이 활성화됩니다. 프로세스가 커밋 레코드를 작성했습니다. 기본값은 0(지연 없음).

commit_siblings (정수)

동시에 열려 있는 트랜잭션의 최소 수 수행하기 전에 필요합니다.commit_delay지연. 값이 클수록 적어도 하나의 다른 거래가 발생할 가능성이 더 높습니다. 지연 간격 동안 커밋할 준비가 됩니다. 는 기본값은 5개의 트랜잭션입니다.

17.5.2. 체크포인트

checkpoint_segments (정수)

자동 WAL 체크포인트 사이의 최대 거리(단위:) 로그 파일 세그먼트(각 세그먼트는 일반적으로 16개) 메가바이트). 기본값은 세 개의 세그먼트입니다. 이 매개변수 에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에 명령줄.

checkpoint_timeout (정수)

자동 WAL 체크포인트 사이의 최대 시간(단위: 단위) 초. 기본값은 5분입니다(5분). 이 매개변수는 다음에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버 명령줄.

체크포인트_경고 (정수)

체크포인트가 있는 경우 서버 범퍼카 토토에 메시지를 쓰십시오. 체크포인트 세그먼트 파일 채우기로 인해 발생하는 문제 이 몇 초보다 서로 더 가깝습니다(이는 그checkpoint_segments당연히 제기됩니다). 기본값은 30초입니다(30초). 0은 경고를 비활성화합니다. 이 매개변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버에 명령줄.

17.5.3. 보관

archive_command (문자열)

완료된 파일을 아카이브하기 위해 실행하는 쉘 명령 WAL 파일 시리즈의 세그먼트입니다. 이것이 비어 있는 경우 문자열(기본값), WAL 보관이 비활성화됩니다. 모두%p문자열에서 다음으로 대체됩니다. 아카이브할 파일의 경로 이름 및 임의%f은 파일 이름으로만 대체됩니다. ( 경로 이름은 작업 디렉터리에 상대적입니다. 서버, 즉 클러스터의 데이터 디렉터리입니다.) 사용%%실제 내용 삽입%명령의 문자입니다. 더 알아보기 정보 참조섹션 23.3.1. 이 매개변수는에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버 명령줄.

명령이 0 종료를 반환하는 것이 중요합니다 성공하는 경우에만 상태입니다. 예:

archive_command = 'cp "%p" /mnt/server/archivedir/"%f"'
archive_command = '복사 "%p" /mnt/server/archivedir/"%f"' # Windows
archive_timeout (정수)

archive_command는 완료된 WAL 세그먼트에서만 호출됩니다. 그러므로 만약 당신의 서버는 WAL 트래픽을 거의 생성하지 않습니다(또는 여유 시간이 있음). 경우), 사이에 긴 지연이 있을 수 있습니다. 거래 완료 및 안전한 기록 아카이브 저장. 보관되지 않은 기간을 제한하려면 데이터는 설정할 수 있습니다.archive_timeout서버를 강제로 주기적으로 새로운 WAL 세그먼트 파일로 전환합니다. 이 때 매개변수가 0보다 크면 서버는 다음으로 전환됩니다. 이 시간만큼의 시간이 경과할 때마다 새 세그먼트 파일 마지막 세그먼트 파일 전환 이후 경과되었습니다. 참고하세요 강제로 인해 조기 종료된 보관 파일 스위치의 길이는 완전히 가득 찬 것과 여전히 같습니다. 파일. 따라서 매우 짧은 형식을 사용하는 것은 현명하지 않습니다.archive_timeout— 부풀어오를 것입니다 귀하의 아카이브 저장 공간입니다.archive_timeout1분 정도의 설정 일반적으로 합리적입니다. 이 매개변수는 다음에서만 설정할 수 있습니다.범퍼카 토토.conf파일 또는 서버 명령줄.