또한 참조PostgreSQL : 문서 : 9.0 : 롤 토토 구성용 WAL 및 체크포인트 조정에 대한 세부정보입니다.
wal_level얼마나 많은지 결정합니다. 정보는 WAL에 기록됩니다. 기본값은최소, 충돌 또는 즉각적인 복구에 필요한 정보 일시 휴업.아카이브로깅 추가 WAL 보관에 필요합니다.hot_standby추가 정보 추가 대기 서버에서 읽기 전용 쿼리를 실행하는 데 필요합니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.
에최소레벨, WAL 로깅 일부 대량 작업은 안전하게 건너뛸 수 있습니다. 이러한 작업을 훨씬 빠르게 만듭니다(참조섹션 14.4.7). 이 최적화를 적용할 수 있는 작업 포함하다:
| 다음으로 테이블 생성 |
| 색인 생성 |
| 클러스터 |
| 복사테이블에 동일한 내용으로 생성되거나 잘렸습니다. 거래 |
에hot_standby레벨, 와 동일한 정보가 기록됩니다.아카이브및 필요한 정보 실행 중인 트랜잭션의 상태를 재구성합니다. 월. 대기 서버에서 읽기 전용 쿼리를 활성화하려면,wal_level다음으로 설정되어야 함hot_standby기본 및hot_standby대기 모드에서 활성화되어야 합니다. 있다고 생각된다 측정 가능한 성능 차이는 거의 없습니다. 사용 중hot_standby그리고아카이브수준이므로 피드백을 환영합니다. 생산에 미치는 영향이 눈에 띕니다.
이 매개변수가 켜져 있으면,메이저 토토 사이트서버가 다음을 시도할 것입니다.
업데이트가 물리적으로 디스크에 기록되는지 확인하세요.
발급 중fsync()시스템
호출 또는 이에 상응하는 다양한 방법(참조wal_sync_method).
이렇게 하면 데이터베이스 클러스터가 다음 위치로 복구될 수 있습니다.
운영 체제 또는 하드웨어 이후의 일관된 상태
충돌.
끄는 동안fsync이다 성능상 이점이 있는 경우가 많으며 이로 인해 다음과 같은 결과가 발생할 수 있습니다. 전원이 꺼진 경우 복구할 수 없는 데이터 손상 실패 또는 시스템 충돌. 따라서 다음을 수행하는 것이 좋습니다. 꺼 줘fsync쉽게 할 수 있다면 외부 데이터에서 전체 데이터베이스를 다시 만듭니다.
전원을 꺼도 안전한 상황의 예fsync초기 포함 백업 파일에서 새 데이터베이스 클러스터 로드 일괄 데이터 처리를 위해 데이터베이스 클러스터 사용 그 후에는 데이터베이스가 폐기되고 재생성되거나 읽기 전용 데이터베이스 복제본의 경우 자주 다시 생성되며 장애 조치에 사용되지 않습니다. 높은 고품질 하드웨어만으로는 충분한 정당화가 되지 않습니다. 끄기 위해fsync.
많은 상황에서 꺼짐동기_커밋중요하지 않은 트랜잭션의 경우 끄면 잠재적인 성능 이점을 얻을 수 있습니다.fsync, 데이터 위험 없이 부패.
fsync에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버 명령줄. 이 매개변수를 끄면 끄는 것을 고려해 보세요.full_page_writes.
트랜잭션 커밋이 WAL을 기다릴지 여부를 지정합니다 명령이 반환되기 전에 디스크에 기록될 레코드 에이"성공"표시에 고객. 기본적이고 안전한 설정은 다음과 같습니다.켜짐. 언제꺼짐, 성공이 보고되는 시점 사이에 지연이 있을 수 있습니다. 클라이언트와 거래가 실제로 보장되는 경우 서버 충돌로부터 안전합니다. (최대 지연은 세 번wal_writer_delay.) 같지 않은fsync, 설정 이 매개변수는꺼짐하지 않습니다 데이터베이스 불일치 위험이 발생합니다. 시스템 또는 데이터베이스 충돌로 인해 최근 일부 문제가 발생할 수 있습니다. 커밋된 것으로 추정되는 트랜잭션은 손실되었지만 데이터베이스 상태는 데이터베이스 상태와 동일합니다. 거래가 깔끔하게 중단되었습니다. 그래서 돌아서서동기_커밋off는 성능이 더 중요할 때 유용한 대안 내구성에 대한 정확한 확신보다 거래. 자세한 내용은 참조섹션 29.3.
이 매개변수는 언제든지 변경될 수 있습니다. 그만큼 어떤 거래에 대한 행동은 다음에 의해 결정됩니다. 커밋할 때 적용되는 설정입니다. 그러므로 그것은 일부 트랜잭션을 커밋하는 것이 가능하고 유용합니다. 동기식으로, 기타는 비동기식으로. 예를 들어, 단일 다중 문 트랜잭션 커밋 만들기 기본값이 반대인 경우 비동기적으로 문제 발생로컬 동기_커밋을 다음으로 설정 끄다트랜잭션 내에서.
WAL 업데이트를 디스크로 강제 실행하는 데 사용되는 방법입니다. 만약에fsync꺼지면 이 설정이 꺼집니다 WAL 파일 업데이트가 강제로 수행되지 않으므로 관련이 없습니다. 전혀. 가능한 값은 다음과 같습니다:
open_datasync(WAL 작성
파일이 포함된열기()옵션O_DSYNC)
fdatasync(전화fdatasync()각각
저지르다)
fsync(전화fsync()각 커밋에서)
fsync_writethrough(전화fsync()커밋할 때마다
디스크 메이저 토토 사이트 캐시의 연속 메이저 토토 사이트를 강제로 수행)
open_sync(WAL 작성
파일이 포함된열기()옵션O_SYNC)
그open_* 옵션도 사용O_DIRECT사용 가능한 경우. 전부는 아니다 이러한 선택 사항은 모든 플랫폼에서 사용할 수 있습니다. 그만큼 기본값은 위 목록의 첫 번째 방법입니다. 다음을 제외하고 플랫폼에서 지원됩니다.fdatasyncLinux의 기본값입니다. 그만큼 기본값이 반드시 이상적인 것은 아닙니다. 필요할 수도 있다 이 설정이나 시스템의 다른 측면을 변경하려면 충돌로부터 안전한 환경을 만들기 위한 구성 구성하거나 최적의 성능을 얻을 수 있습니다. 이것들 측면은 다음에서 논의됩니다.섹션 29.1. 이 매개변수 에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
이 매개변수가 켜져 있으면,포스트그레SQL서버가 전체를 씁니다. 첫 번째 동안 각 디스크 페이지의 내용을 WAL에 체크포인트 이후 해당 페이지 수정. 이것은 페이지 쓰기가 진행 중이기 때문에 필요합니다. 운영 체제 충돌이 부분적으로만 완료될 수 있습니다. 오래된 내용과 오래된 내용이 혼합되어 있는 온디스크 페이지로 연결됩니다. 새로운 데이터. 행 수준 변경 데이터는 일반적으로 다음 위치에 저장됩니다. WAL은 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 충돌 후 복구 중. 전체 페이지 이미지 저장 페이지가 올바르게 복원될 수 있음을 보장하지만 데이터 양을 늘리는 대가로 WAL에 기록됩니다. (WAL 재생은 항상 다음에서 시작되기 때문에 체크포인트 중에 이 작업을 수행하는 것으로 충분합니다. 체크포인트 이후 각 페이지의 첫 번째 변경. 그러므로, 전체 페이지 쓰기 비용을 줄이는 한 가지 방법은 체크포인트 간격 매개변수를 늘립니다.)
이 매개변수를 끄면 정상 작동 속도가 빨라지고, 복구할 수 없는 데이터 손상이 발생할 수 있습니다. 또는 시스템 장애 후 자동 데이터 손상이 발생할 수 있습니다. 그만큼 위험은 전원을 끄는 것과 유사합니다.fsync, 작지만 크기는 작아야 합니다. 동일한 상황에서만 꺼짐 해당 매개변수에 권장됩니다.
이 매개변수를 꺼도 WAL 사용에는 영향을 미치지 않습니다 특정 시점 복구(PITR)를 위한 보관(참조섹션 24.3).
이 매개변수는 다음에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄. 기본값은켜짐.
WAL의 공유 메모리에 사용되는 메모리 양 데이터. 기본값은 64KB입니다(64kB). 설정은 클 필요가 있습니다. 한 사람이 생성한 WAL 데이터의 양을 담기에 충분합니다. 데이터가 기록되기 때문에 일반적인 트랜잭션입니다. 모든 트랜잭션 커밋 시 디스크. 이 매개변수는 서버 시작 시 설정됩니다.
이 매개변수를 늘리면 다음이 발생할 수 있습니다.포스트그레SQL추가 요청시스템 V공유 메모리 운영 체제의 기본 구성보다 허용합니다. 보다섹션 17.4.1용 해당 매개변수를 조정하는 방법에 대한 정보(해당하는 경우) 필요한.
다음에 대한 활동 라운드 사이의 지연을 지정합니다. WAL 작가. 각 라운드에서 작성자는 WAL을 플러시하여 디스크. 그런 다음 잠을 잔다.wal_writer_delay밀리초, 그리고 반복합니다. 기본값은 200밀리초입니다. (200ms). 많은 경우에 참고하세요 시스템에서 수면 지연의 효과적인 해결 방법은 10입니다. 밀리초; 환경wal_writer_delay값이 아닌 값으로 10의 배수는 설정과 동일한 결과를 가질 수 있습니다. 다음으로 높은 10의 배수로 변환합니다. 이 매개변수는 에만 설정되어야 합니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
WAL에 커밋 레코드를 쓰는 사이의 시간 지연
버퍼를 제거하고 버퍼를 디스크로 플러시합니다.
마이크로초. 0이 아닌 지연은 여러 개의 지연을 허용할 수 있습니다.
하나만 커밋되는 트랜잭션fsync()시스템 호출, 시스템 로드가 다음인 경우
추가 트랜잭션이 준비될 만큼 충분히 높음
주어진 간격 내에 커밋합니다. 하지만 지연은 단지
커밋할 준비가 된 다른 트랜잭션이 없으면 낭비됩니다.
따라서 지연은 최소한 다음의 경우에만 수행됩니다.commit_siblings기타
서버가 연결되는 순간 트랜잭션이 활성화됩니다.
프로세스가 커밋 레코드를 작성했습니다. 기본값은
0(지연 없음).
동시에 열려 있는 트랜잭션의 최소 수 수행하기 전에 필요합니다.commit_delay지연. 값이 클수록 적어도 하나의 다른 거래가 발생할 가능성이 더 높습니다. 지연 간격 동안 커밋할 준비가 됩니다. 그만큼 기본값은 5개의 트랜잭션입니다.
자동 사이의 로그 파일 세그먼트의 최대 수 WAL 체크포인트(각 세그먼트는 일반적으로 16MB입니다). 기본값은 세 개의 세그먼트입니다. 이 매개변수 증가 충돌에 필요한 시간을 늘릴 수 있습니다 회복. 이 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버 명령줄.
자동 WAL 체크포인트 사이의 최대 시간(단위: 초. 기본값은 5분입니다(5분). 이 매개변수를 늘리면 충돌 복구에 필요한 시간을 늘립니다. 이 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
체크포인트 완료 대상을 다음과 같이 지정합니다. 체크포인트 사이의 총 시간 비율입니다. 기본값 0.5이다. 이 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
체크포인트가 있는 경우 서버 메이저 토토 사이트에 메시지를 쓰십시오. 체크포인트 세그먼트 파일 채우기로 인해 발생하는 문제 이 몇 초보다 서로 더 가깝습니다(이는 저것checkpoint_segments당연히 제기됩니다). 기본값은 30초입니다(30초). 0은 경고를 비활성화합니다. 이것 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
언제archive_mode활성화되어 있습니다. 완료된 WAL 세그먼트는 다음에 의해 아카이브 스토리지로 전송됩니다. 환경archive_command. 아카이브_모드그리고archive_command별도의 변수이므로 저것archive_command될 수 있습니다 보관 모드를 종료하지 않고 변경되었습니다. 이 매개변수 서버 시작 시에만 설정할 수 있습니다.wal_level다음으로 설정되어야 함아카이브또는hot_standby활성화하려면아카이브_모드.
완료된 파일을 아카이브하기 위해 실행하는 쉘 명령 WAL 파일 세그먼트. 어느%p에 문자열은 파일의 경로 이름으로 대체됩니다. 아카이브 및 기타%f교체됨 파일 이름만으로 . (경로 이름은 서버의 작업 디렉터리, 즉 클러스터의 데이터 디렉토리.) 사용%%삽입하려면 실제%문자 명령. 명령이 0을 반환하는 것이 중요합니다. 성공한 경우에만 종료 상태입니다. 자세한 내용은 참조섹션 24.3.1.
이 매개변수는 다음에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄. 다음이 아니면 무시됩니다.archive_mode서버 시작 시 활성화되었습니다. 만약에archive_command비어있습니다 문자열(기본값) whilearchive_mode활성화되어 있으며 WAL 보관은 일시적으로 비활성화되었지만 서버는 계속 작동합니다. 다음을 예상하여 WAL 세그먼트 파일을 축적합니다. 곧 명령이 제공될 것입니다. 환경archive_command명령에 true를 반환하는 것 외에는 아무것도 없습니다. 예:/bin/true (REM켜짐 Windows), 효과적으로 보관을 비활성화하지만 중단됩니다. 아카이브 복구에 필요한 WAL 파일 체인 특별한 상황에서만 사용해야 합니다.
그archive_command은 완료된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 만약 귀하의 서버는 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_delay다음이 아닌 값으로 10의 배수는 설정과 동일한 결과를 가질 수 있습니다. 다음으로 높은 10의 배수로 변환합니다. 이 매개변수는 에만 설정되어야 합니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
과거 로그 파일 세그먼트의 최소 수를 지정합니다. 에 보관됨pg_xlog디렉토리, 대기 서버가 이를 가져와야 하는 경우 스트리밍 복제. 각 세그먼트는 일반적으로 16입니다. 메가바이트. 기본 서버에 대기 서버가 연결된 경우 이상으로 뒤쳐짐wal_keep_segments세그먼트, 기본 대기에 여전히 필요한 WAL 세그먼트를 제거할 수 있습니다. 이 경우 복제 연결은 종료되었습니다. (단, 대기 서버는 다음 방법으로 복구할 수 있습니다. WAL 아카이브가 있는 경우 아카이브에서 세그먼트 가져오기 사용.)
이것은 유지되는 최소 세그먼트 수만 설정합니다 안에pg_xlog; 시스템은 아마도 WAL 보관을 위해 더 많은 세그먼트를 유지해야 하거나 체크포인트에서 복구합니다. 만약에wal_keep_segments은 0(기본값)입니다. 시스템은 대기를 위해 추가 세그먼트를 유지하지 않습니다. 목적 및 사용할 수 있는 이전 WAL 세그먼트의 수 대기 서버는 위치에 따라 다릅니다. 이전 체크포인트 및 WAL 보관 상태. 이것 매개변수는 재시작 지점에 영향을 주지 않습니다. 이 매개변수 에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
트랜잭션 수를 지정합니다.진공그리고핫업데이트는 다음 항목의 정리를 연기합니다. 데드 로우 버전. 기본값은 거래가 0개입니다. 즉, 데드 로우 버전은 즉시 제거될 수 있습니다. 가능합니다. 즉, 더 이상 보이지 않는 즉시 모든 공개 거래에 적용됩니다. 이것을 다음으로 설정할 수도 있습니다. 핫을 지원하는 기본 서버의 0이 아닌 값 대기 서버(에 설명된 대로)섹션 25.5. 이것은 더 많은 것을 허용합니다 대기 상태에서 쿼리가 완료되는 데 걸리는 시간 행의 조기 정리로 인해 충돌이 발생합니다. 하지만 그 가치는 숫자로 측정되기 때문에 기본 서버에서 발생하는 쓰기 트랜잭션 중 추가 은혜가 얼마나 될지는 예측하기 어렵습니다. 시간은 대기 쿼리에 사용할 수 있습니다. 이것 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
이 설정은 대기 서버의 동작을 제어합니다. 복제 데이터를 수신하는 것입니다.
연결하고 실행할 수 있는지 여부를 지정합니다 에 설명된 대로 복구 중 쿼리섹션 25.5. 기본값은꺼짐. 이 매개변수는 서버 시작 시 설정됩니다. 보관 중에만 적용됩니다. 복구 또는 대기 모드입니다.
상시 대기가 활성화되면 이 매개변수는 다음을 결정합니다. 취소하기 전에 대기 서버가 기다려야 하는 시간 곧 적용될 대기 쿼리와 충돌하는 대기 쿼리 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_delay다음 경우에 적용됩니다. WAL 데이터는 스트리밍 복제를 통해 수신됩니다. 그만큼 기본값은 30초입니다. 그렇지 않은 경우 단위는 밀리초입니다. 지정. -1 값은 대기가 대기하도록 허용합니다. 충돌하는 쿼리가 완료될 때까지 영원히. 이것 매개변수는에서만 설정할 수 있습니다.메이저 토토 사이트.conf파일 또는 서버에 명령줄.
참고하세요max_standby_streaming_delay그렇지 않습니다 이전에 쿼리를 실행할 수 있는 최대 시간과 동일 해제; 오히려 허용되는 최대 총 시간입니다 WAL 데이터가 수신되면 적용 기본 서버. 따라서 하나의 쿼리로 인해 상당한 지연이 발생하므로 후속 충돌 쿼리는 대기 서버가 완료될 때까지 유예 시간이 훨씬 적습니다. 또 잡혔어.