참조PostgreSQL : 문서 : 9.0 : 롤 토토 구성for WAL 및 체크 포인트 튜닝에 대한 세부 사항.
Wal_level얼마를 결정합니다 정보는 WAL에 기록됩니다. 기본값은입니다.최소충돌 또는 즉각에서 복구하는 데 필요한 정보 일시 휴업.아카이브로깅 추가 WAL 아카이브에 필요하고hot_standby추가 정보 추가 대기 서버에서 읽기 전용 쿼리를 실행해야합니다. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.
in최소레벨, 월-로깅 일부 대량 작업 중 안전하게 건너 뛸 수 있습니다. 해당 작업을 훨씬 빨리 만드십시오 (참조섹션 14.4.7). 이 최적화를 적용 할 수있는 작업 포함하다:
테이블 작성 |
색인 생성 |
클러스터 |
COPY테이블로 동일하게 만들어 지거나 잘 렸습니다 거래 |
inhot_standby레벨, the 동일한 정보가로 기록됩니다.아카이브, 그리고 필요한 정보 트랜잭션 실행 상태를 재구성합니다 월. 대기 서버에서 읽기 전용 쿼리를 활성화하려면Wal_levelhot_standby1 차 및hot_standby대기에서 활성화해야합니다. 거기에서 생각됩니다 성능의 차이는 거의 없습니다 사용hot_standbyand아카이브레벨이 있으므로 피드백을 환영합니다 모든 생산 영향이 눈에 띄게됩니다.
이 매개 변수가 켜져 있으면메이저 토토 사이트서버는 만들려고합니다
업데이트는 물리적으로 디스크에 작성됩니다
발행fsync ()
시스템
전화 또는 다양한 동등한 방법 (Wal_sync_method).
이것은 데이터베이스 클러스터가
운영 체제 또는 하드웨어 후 일관된 상태
충돌.
끄는 동안fsyncIS 종종 성능 이점으로 인해 발생할 수 있습니다 전원이 발생했을 때 복구 할 수없는 데이터 손상 고장 또는 시스템 충돌. 따라서 그것은 단지 권장됩니다 끄기fsync쉽게 할 수 있다면 외부 데이터에서 전체 데이터베이스를 재현하십시오.
끄기위한 안전한 상황의 예fsync초기 포함 백업 파일에서 새 데이터베이스 클러스터의로드 데이터 배치를 처리하기 위해 데이터베이스 클러스터 사용 그 후 데이터베이스는 버려집니다 재생성 또는 읽기 전용 데이터베이스 클론 용 자주 재현되며 장애 조치에 사용되지 않습니다. 높은 품질 하드웨어만으로는 충분한 정당성이 아닙니다 끄기 위해fsync.
많은 상황에서 끄기synchronous_commit비 임계 거래는 많은 것을 제공 할 수 있습니다 끄는 잠재적 성능 이점fsync, 데이터의 승무원 위험없이 부패.
fsync에서만 설정할 수 있습니다메이저 토토 사이트.conf파일 또는 서버 명령 줄. 이 매개 변수를 끄면 끄는 고려full_page_writes.
트랜잭션 커밋이 WAL을 기다리는지 여부를 지정합니다 명령이 반환되기 전에 디스크에 기록 될 레코드 에이"성공"고객. 기본값이고 안전한 설정은입니다.on. 언제off, 성공이보고 될 때 메이저 토토 사이트에 지연이있을 수 있습니다. 클라이언트와 거래가 실제로 보장되는 경우 서버 충돌로부터 안전합니다. (최대 지연은입니다 세 번Wal_writer_delay.) 같지 않은fsync, 설정 이 매개 변수는OFF그렇지 않습니다 데이터베이스 불일치 위험을 만듭니다 : 운영 시스템 또는 데이터베이스 충돌로 인해 최근 일부가 발생할 수 있습니다 추정 된 것으로 추정되는 거래가 손실되었지만 데이터베이스 상태는 거래는 깨끗하게 중단되었습니다. 그래서, 회전synchronous_commitOFF가 될 수 있습니다 성능이 더 중요한 경우 유용한 대안 a의 내구성에 대한 정확한 확실성보다 거래. 자세한 내용은 참조섹션 29.3.
이 매개 변수는 언제든지 변경할 수 있습니다. 그만큼 하나의 거래에 대한 행동은 유입 될 때 실제로 설정. 그러므로 일부 거래를 할 수 있고 유용합니다 동기식과 다른 사람들은 비동기 적으로. 예를 들어 단일 다중 기능 트랜잭션 커밋을 만듭니다 비동기 적으로 기본값이 반대 일 때, 문제로컬 SYNCHRONOUS_COMMIT를 설정하십시오 끄다거래 내에서.
WAL 업데이트를 디스크로 강제하는 데 사용되는 방법. 만약에fsync꺼져 있습니다 WAL 파일 업데이트가 강제되지 않기 때문에 관련이 없습니다. 전혀. 가능한 가치는 다음과 같습니다.
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의 기본값입니다. 그만큼 기본값은 반드시 이상적인 것은 아닙니다. 필요할 수도 있습니다 이 설정 또는 시스템의 다른 측면을 변경하려면 충돌 안전을 만들기위한 구성 구성 또는 최적의 성능을 달성합니다. 이것들 측면은에서 논의됩니다.섹션 29.1. 이 매개 변수 에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버 명령 줄.
이 매개 변수가 켜져 있으면메이저 토토 사이트서버 전체를 작성합니다 첫 번째 동안 각 디스크 페이지의 내용 체크 포인트 후 해당 페이지의 수정. 이것은 중이 중에있는 페이지가 작성되기 때문에 필요합니다. 운영 체제 충돌은 부분적으로 만 완료 될 수 있으며 오래된 구형과 새로운 데이터. 줄 수준 변경 데이터는 일반적으로 저장된 데이터입니다 WAL은 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 충돌 후 회복 중에. 전체 페이지 이미지를 저장합니다 페이지를 올바르게 복원 할 수 있음을 보장하지만 필요한 데이터 금액을 인상하는 대가로 Wal에 기록됩니다. (WAL Replay는 항상 시작하기 때문에 체크 포인트, 체크 포인트 후 각 페이지의 첫 번째 변경. 그러므로, 전체 페이지 쓰기 비용을 줄이는 한 가지 방법은 체크 포인트 간격 매개 변수를 늘리십시오.)
이 매개 변수를 끄기 속도 정상 작동, 그러나 복귀 할 수없는 데이터 손상으로 이어질 수 있습니다. 또는 시스템 고장 후 침묵 데이터 손상. 그만큼 위험은 끄는 것과 비슷합니다fsync는 더 작지만 같은 상황에 따라 꺼져 있습니다 해당 매개 변수에 권장됩니다.
이 매개 변수를 끄는 것은 WAL 사용에 영향을 미치지 않습니다. PITR (Point-in-Time Recovery) 보관 (참조섹션 24.3).
이 매개 변수는에서만 설정할 수 있습니다메이저 토토 사이트.conf파일 또는 서버에서 명령 줄. 기본값은on.
WAL의 공유 메모리에 사용되는 메모리의 양 데이터. 기본값은 64 킬로 바이트 (입니다.64KB). 설정은 크기가 커집니다 하나가 생성 한 WAL 데이터의 양을 유지하기에 충분합니다. 데이터가 기록되므로 일반적인 트랜잭션 모든 트랜잭션 커밋에서 디스크. 이 매개 변수 는만 할 수 있습니다 서버 시작에서 설정해야합니다.
이 매개 변수를 높이면메이저 토토 사이트더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 17.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.
활동 라운드 간의 지연을 지정합니다 월 작가. 각 라운드에서 작가는 월을 플러시합니다 디스크. 그런 다음Wal_writer_delay밀리 초, 및 반복. 기본값은 200 밀리 초입니다 (200ms). 많은 사람들에게 주목하십시오 시스템, 수면 지연의 효과적인 해상도는 10입니다 밀리 초; 환경Wal_writer_delay10 명 중 여러 명이 설정과 동일한 결과를 가질 수 있습니다. 다음으로 10의 더 높은 배수로.이 매개 변수는 에서만 설정됩니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
WAL에 커밋 레코드를 작성하는 메이저 토토 사이트의 시간 지연
버퍼를 디스크로 버퍼하고 플러싱합니다
마이크로 초. 0이 아닌 지연으로 인해 여러 가지가 허용 될 수 있습니다
하나만 커밋 할 거래fsync ()
시스템로드 인 경우 시스템 호출
추가 거래가 준비 될 정도로 높습니다
주어진 간격 내에서 커밋하십시오. 그러나 지연은 단지입니다
다른 거래가 커밋 할 준비가되지 않으면 낭비됩니다.
따라서 지연은 적어도 만 수행됩니다.Commit_Siblings기타
트랜잭션은 서버의 순간에 활성화됩니다
프로세스는 커밋 기록을 작성했습니다. 기본값은입니다
0 (지연 없음).
동시 공개 트랜잭션의 최소 수 수행하기 전에Commit_Delay지연. 더 큰 가치가 만듭니다 적어도 하나의 다른 거래가 지연 간격 동안 커밋 할 준비가 되십시오. 그만큼 기본값은 5 개의 거래입니다.
자동으로의 로그 파일 세그먼트 수 WAL 체크 포인트 (각 세그먼트는 일반적으로 16 메가 바이트입니다). 기본값은 세 세그먼트입니다. 이 매개 변수를 증가시킵니다 충돌에 필요한 시간을 늘릴 수 있습니다 회복. 이 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버 명령 줄.
자동 WAL 체크 포인트 간의 최대 시간, IN 초. 기본값은 5 분입니다 (5min). 이 매개 변수를 늘릴 수 있습니다 충돌 회복에 필요한 시간을 늘리십시오. 이 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
체크 포인트 완료의 대상을 a로 지정합니다 체크 포인트 사이의 총 시간의 일부. 기본값 0.5입니다. 이 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
체크 포인트 인 경우 서버 메이저 토토 사이트에 메시지를 작성하십시오 체크 포인트 세그먼트 파일의 채우기 때문에 발생합니다 이 여러 초보다 더 가깝습니다 (이것은 제안합니다 저것Checkpoint_segments제기). 기본값은 30 초입니다 (30S). 0은 경고를 비활성화합니다. 이것 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
언제archive_mode활성화, 완성 된 WAL 세그먼트는 아카이브 스토리지로 전송됩니다 환경archive_command. archive_modeandarchive_command별도의 변수입니다 저것archive_command할 수 있습니다 아카이빙 모드를 떠나지 않고 변경되었습니다. 이 매개 변수 서버 시작시에만 설정할 수 있습니다.Wal_level로 설정해야합니다아카이브또는hot_standby활성화archive_mode.
완성 된 A를 보관하기 위해 실행하는 쉘 명령 WAL 파일 세그먼트. 어느%P문자열은 파일의 경로 이름으로 대체됩니다. 아카이브 및 모든%f교체됩니다 파일 이름만으로. (경로 이름은 서버의 작업 디렉토리, 즉 클러스터 데이터 디렉토리.) 사용%%실제%문자 명령. 명령이 0을 반환하는 것이 중요합니다. 성공한 경우에만 상태를 종료하십시오. 자세한 내용은 참조섹션 24.3.1.
이 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄. 이 아니라면 무시됩니다.archive_mode서버 스타트에서 활성화되었습니다. 만약에archive_command는 비어 있습니다 문자열 (기본값) whilearchive_mode가 활성화되고 Wal 아카이빙은 IS입니다 일시적으로 비활성화되었지만 서버는 계속됩니다 예상대로 월 세그먼트 파일을 축적합니다 명령이 곧 제공됩니다. 환경archive_command명령에 진실로 돌아 오는 것 외에는 아무것도 (예 :/bin/true(remon Windows), 효과적으로 아카이브를 비활성화하지만 깨진다 아카이브 복구에 필요한 WAL 파일의 체인이 있으므로 비정상적인 상황에서만 사용해야합니다.
thearchive_command완성 된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 if 서버는 WAL 트래픽이 거의 없거나 느슨해집니다 그것이 그렇게하는 기간), 긴 지연이있을 수 있습니다. 거래 완료와 안전 사이 아카이브 스토리지에서 녹음. 구아가없는 나이를 제한합니다 데이터가 될 수 있습니다. 설정할 수 있습니다archive_timeout서버를 강제하기 위해 새 WAL 세그먼트 파일로 주기적으로 전환하십시오. 이렇게하면 매개 변수는 0보다 크고 서버는 이 몇 초가있을 때마다 새로운 세그먼트 파일 마지막 세그먼트 파일 스위치 이후 경과했으며 단일을 포함한 데이터베이스 활동이었습니다 검문소. (증가Checkpoint_Timeout불필요한 감소 유휴 시스템의 검문소.) 아카이브 된 파일 강제 스위치로 인해 일찍 닫혀 있습니다. 완전히 전체 파일과 같은 길이. 따라서, 그것은 매우 짧은 것을 사용하는 것은 현명하지 않습니다archive_timeout- 그것은 당신을 팽창시킬 것입니다 아카이브 스토리지.archive_timeout1 분 정도의 설정은 일반적으로 합리적입니다. 이것 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
이 설정은 내장의 동작을 제어합니다스트리밍 복제기능. 이것들 매개 변수는 보내는 기본 서버에서 설정됩니다. 하나 이상의 대기 서버에 대한 복제 데이터.
최대 동시 연결 수를 지정합니다 대기 서버 (즉, 최대 수 WAL 발신자 프로세스를 동시에 실행합니다). 기본값 0이므로 복제가 비활성화되어 있습니다. WAL 발신자 프로세스는 총 연결 수에 포함됩니다. 따라서 매개 변수는보다 높게 설정할 수 없습니다.max_connections. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.Wal_level로 설정해야합니다아카이브또는hot_standby연결을 허용합니다 대기 서버.
WAL의 활동 라운드 간의 지연을 지정합니다 발신자 프로세스. 각 라운드에서 WAL 발신자는 모든 것을 보냅니다 Wal은 마지막 라운드 이후 대기로 축적되었습니다 섬기는 사람. 그런 다음Wal_sender_delay밀리 초, 그리고 반복. 기본값은 200 밀리 초입니다 (200ms). 많은 사람들에게 주목하십시오 시스템, 수면 지연의 효과적인 해상도는 10입니다 밀리 초; 환경Wal_sender_delay10 명 중 여러 명이 설정과 동일한 결과를 가질 수 있습니다. 다음으로 10의 더 높은 배수로.이 매개 변수는 에서만 설정됩니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
과거 로그 파일 세그먼트의 최소 수를 지정합니다PG_XLOG디렉토리, 대기 서버가이를 가져와야하는 경우 스트리밍 복제. 각 세그먼트는 일반적으로 16입니다 메가 바이트. 대기 서버가 기본에 연결된 경우 이상으로 떨어집니다.Wal_keep_segments세그먼트, 기본 대기에 필요한 WAL 세그먼트를 제거 할 수 있습니다. 이 경우 복제 연결이 발생합니다 종료. 그러나 대기 서버는 복구 할 수 있습니다 WAL 아카이브가있는 경우 아카이브에서 세그먼트를 가져 오기 사용.)
이것은 유지 된 최소 세그먼트 수만 설정합니다 안에PG_XLOG; 시스템은 할 수 있습니다 WAL 보관 또는 검문소에서 복구하십시오. 만약에Wal_keep_segmentsis ZERO (기본값), 시스템은 대기 세그먼트를 유지하지 않습니다 목적 및 사용 가능한 이전 월 세그먼트 수 대기 서버는 WAL 아카이빙의 이전 체크 포인트 및 상태. 이것 매개 변수는 재시작에 영향을 미치지 않습니다. 이 매개 변수 에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
거래 수를 지정합니다진공andhot업데이트는 정리를 연기합니다 데드 행 버전. 기본값은 거래가 0입니다. Dead Row 버전은 즉시 제거 할 수 있음을 의미합니다. 가능, 즉 더 이상 보이지 않는 즉시 공개 거래에. 이것을 a로 설정하고 싶을 수도 있습니다 핫을 지원하는 기본 서버의 0이 아닌 값 에 설명 된대로 대기 서버섹션 25.5. 이것은 더 많은 것을 허용합니다 대기에서 쿼리가 완료되지 않고 완료 할 시간입니다 행의 초기 정리로 인한 충돌 발생. 그러나 값은 숫자로 측정되므로 기본 서버에서 발생하는 쓰기 트랜잭션 추가 은혜의 양만 예측하기가 어렵습니다 대기 쿼리를 위해 시간을 사용할 수 있습니다. 이것 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
이 설정은 대기 서버의 동작을 제어합니다. 복제 데이터를받는 것입니다.
연결 및 실행할 수 있는지 여부를 지정합니다 회복 중 쿼리,섹션 25.5. 기본값은입니다.OFF. 이 매개 변수는 가능합니다 서버 시작에서 설정합니다. 아카이브 중에 만 영향을 미칩니다 복구 또는 대기 모드.
핫 스탠드비가 활성화되면이 매개 변수가 결정됩니다 취소하기 전에 대기 서버가 기다려야하는 시간 적용 할 예정인 대기 쿼리 WAL 항목,에 설명 된대로섹션 25.5.2. max_standby_archive_delayWAL이 적용됩니다 데이터는 WAL 아카이브에서 읽고 있습니다 (따라서 현재의). 기본값은 30 초입니다. 단위입니다 지정되지 않은 경우 밀리 초. -1의 값은 상충되는 쿼리를 영원히 기다리는 대기 완벽한. 이 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버 명령 줄.
참고max_standby_archive_delay동일하지 않습니다 쿼리가 이전에 실행될 수있는 최대 시간으로 해제; 오히려 허용되는 최대 총 시간입니다 WAL 세그먼트의 데이터를 적용합니다. 따라서 하나의 쿼리 인 경우 WAL 초반에 상당한 지연이 발생했습니다 세그먼트, 후속 충돌 쿼리에는 많은 것이 있습니다 적은 은혜 시간.
핫 스탠드비가 활성화되면이 매개 변수가 결정됩니다 취소하기 전에 대기 서버가 기다려야하는 시간 적용 할 예정인 대기 쿼리 WAL 항목,에 설명 된대로섹션 25.5.2. max_standby_streaming_delayWAL 데이터는 스트리밍 복제를 통해 수신되고 있습니다. 그만큼 기본값은 30 초입니다. 유닛은 그렇지 않은 경우 밀리 초입니다 지정되었습니다. -1 값을 사용하면 대기가 대기 할 수 있습니다 충돌하는 쿼리가 완료되기 위해 영원히. 이것 매개 변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에서 명령 줄.
max_standby_streaming_delay는 아닙니다 쿼리가 이전에 실행할 수있는 최대 시간과 동일합니다. 해제; 오히려 허용되는 최대 총 시간입니다 일단 WAL 데이터를 적용하기 위해 기본 서버. 따라서 하나의 쿼리가 발생하면 상당한 지연, 후속 충돌 쿼리가 될 것입니다 대기 서버가 다시 잡았다.