이 문서는 지원되지 않는 버전의 와이즈 토토을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다스포츠 토토 사이트 PostgreSQL : 문서 : 17 : 19.5. 미리 로그 작성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

18.5. 미리 와이즈 토토 작성

이 설정 조정에 대한 추가 정보는 참조하십시오.사설 토토 : 문서 : 9.3 : WAL 구성.

18.5.1. 설정

Wal_Level(enum)

Wal_level얼마를 결정합니다 정보는 WAL에 기록됩니다. 기본값은입니다.최소, 필요한 정보 만 씁니다 충돌 또는 즉시 종료에서 복구하십시오.아카이브WAL 아카이빙에 필요한 로깅 추가 및hot_standby추가 정보 추가 대기 서버에서 읽기 전용 쿼리를 실행해야합니다. 이것 매개 변수는 서버 시작시에만 설정할 수 있습니다.

in최소레벨, 일부의 월-로깅 대량 작업을 안전하게 건너 뛰면 훨씬 빠른 작업 (참조섹션 14.4.7). 작업 이 최적화를 적용 할 수있는 것은 다음과 같습니다.

테이블 작성
색인 생성
클러스터
copy생성 된 테이블로 또는 동일한 거래에서 잘린
그러나 최소한의 WAL은 재구성하기에 충분한 정보가 포함되어 있지 않습니다. 기본 백업 및 WAL 로그의 데이터이므로아카이브또는hot_standby레벨은 WAL 아카이빙 (을 활성화하려면 사용해야합니다.archive_mode) 및 스트리밍 복제.

inhot_standby레벨, 동일합니다 정보는로 기록됩니다.아카이브, 또한 실행 상태를 재구성하는 데 필요한 정보 WAL의 거래. 대기에서 읽기 전용 쿼리를 활성화합니다 섬기는 사람,Wal_level로 설정해야합니다hot_standby1 차 및hot_standby대기에서 활성화해야합니다. 거의 없다고 생각됩니다 사용 사이의 성능의 측정 가능한 차이hot_standbyand아카이브레벨, 생산 영향이 있으면 피드백을 환영합니다. 눈에 띄는.

fsync(부울)

이 매개 변수가 켜져 있으면와이즈 토토서버는 그것을 확인하려고합니다 업데이트는 발행하여 디스크에 물리적으로 작성됩니다fsync ()시스템 호출 또는 다양한 동등한 방법 (Wal_sync_method). 이를 통해 데이터베이스 클러스터가 일관된 상태로 복구 할 수 있습니다. 운영 체제 또는 하드웨어 충돌 후 상태.

끄는 동안fsync종종 a 성능 이점으로, 이로 인해 복구 할 수없는 데이터가 발생할 수 있습니다 정전 또는 시스템 충돌시 부패. 따라서 끄는 것이 좋습니다fsync당신이 외부 데이터에서 전체 데이터베이스를 쉽게 재현 할 수 있습니다.

끄기위한 안전한 상황의 예fsync새 데이터베이스의 초기로드를 포함하십시오 처리를 위해 데이터베이스 클러스터를 사용하여 백업 파일의 클러스터 데이터베이스가 버려지는 데이터 배치 재현 또는 재현되는 읽기 전용 데이터베이스 클론 용 종종 장애 조치에 사용되지 않습니다. 고품질 하드웨어 혼자서만 끄는 데 충분한 정당성이 아닙니다fsync.

변경시 신뢰할 수있는 복구의 경우fsyncOFF TO ON, 모든 것을 강요해야합니다 커널에서 내구성있는 스토리지로 수정 된 버퍼. 이것은 할 수 있습니다 클러스터가 종료되는 동안 또는 FSYNC가 실행하여 켜져있는 동안initdb --- 동시 전용, runningsync, 파일 시스템을 마치거나 재부팅합니다 섬기는 사람.

많은 상황에서 끄기synchronous_commit비 임계 거래는 많은 잠재력을 제공 할 수 있습니다 끄는 성능 이점fsync, 데이터 손상의 승무원 위험없이.

fsync에서만 설정할 수 있습니다와이즈 토토.conf파일 또는 서버 명령 줄에. 이 매개 변수를 끄면 끄기를 고려하십시오full_page_writes.

synchronous_commit(enum)

트랜잭션 커밋이 WAL 레코드를 기다리는지 여부를 지정합니다 명령이 a 전에 디스크에 기록하려면"성공"클라이언트에 대한 표시. 유효한 값은on, Remote_write, 로컬off. 기본값이고 안전한 설정은입니다.on. 언제off, 언제 사이에 지연 될 수 있습니다 성공은 고객에게보고되고 거래가있을 때 서버 충돌로부터 안전해야합니다. (최대 값 지연은 세 번Wal_writer_delay.) 같지 않은fsync, 이 매개 변수 설정off그렇지 않습니다 데이터베이스 불일치의 위험 발생 : 운영 체제 또는 데이터베이스 충돌로 인해 최근에는위원회가 발생할 수 있습니다 거래가 손실되지만 데이터베이스 상태는 이러한 거래가 깨끗하게 중단 된 것과 동일합니다. 그래서, 회전synchronous_commitOFF는 유용 할 수 있습니다 성능이 정확한 확실성보다 더 중요한 경우 대안 거래의 내구성에 대해. 자세한 내용은 참조PostgreSQL : 문서 : 9.3 : 비동기 스포츠 토토.

ifsynchronous_standby_names가 설정되어 있으며,이 매개 변수는 또한 트랜잭션 여부를 제어합니다. Commits는 거래의 WAL 기록이 대기 서버에 복제되었습니다. 로 설정된 경우on, Commits는 현재의 답장이 될 때까지 기다립니다. 동기식 대기는 트랜잭션과 디스크로 플러시했습니다. 이것은 1 차 및 대기 중인지가 발생하지 않으면 거래가 손실되지 않습니다. 데이터베이스 스토리지의 부패. 로 설정된 경우Remote_write, Commits는 답장이 될 때까지 기다립니다 현재 동기 대기는 수신되었음을 나타냅니다 거래 기록을 커밋하고이를 대기 운영 체제이지만 데이터는 반드시 필요하지 않습니다 대기에 안정적인 스토리지에 도달했습니다. 이 설정은 충분합니다 대기 인스턴스 인 경우에도 데이터 보존을 보장하려면와이즈 토토충돌하지 않았지만 그렇지 않았습니다 대기가 운영 시스템 수준의 충돌을 겪는 경우

동기 복제가 사용되는 경우 일반적으로 로컬 플러시가 디스크로의 로컬 플러시와 WAL 레코드의 복제 또는 거래가 커밋 할 수 있도록 비동기 적으로. 그러나 설정Local로컬 플러시를 기다리기를 원하는 거래에 사용할 수 있습니다. 디스크이지만 동기식 복제는 아닙니다. 만약에synchronous_standby_names설정되지 않음, 설정on, Remote_writeandLocal모두 동일하게 제공합니다 동기화 수준 : 트랜잭션은 로컬을 기다리는 것만 대기합니다 디스크로 플러시.

이 매개 변수는 언제든지 변경할 수 있습니다. 어떤 행동 하나의 트랜잭션은 사실상의 설정에 따라 결정됩니다. 커밋. 그러므로 일부를 갖는 것이 가능하고 유용합니다 트랜잭션은 동기식과 다른 것들을 비동기 적으로 커밋합니다. 을 위한 예를 들어, 단일 다단계 트랜잭션 커밋을 만들기 위해 비동기 적으로 기본값이 반대 일 때, 문제로컬 SYNCHRONOUS_COMMIT 설정내 거래.

Wal_sync_method(enum)

WAL 업데이트를 디스크로 강제하는 데 사용되는 방법. 만약에fsync꺼져 있으면이 설정은 관련이 없습니다 WAL 파일 업데이트는 전혀 강요되지 않습니다. 가능한 값 이다:

  • Open_Datasync(WAL 파일 쓰기Open ()옵션O_DSYNC)

  • fdatasync(Callfdatasync ()각 커밋에서)

  • fsync(Callfsync ()각 커밋에서)

  • fsync_writethrough(Callfsync ()각 커밋마다 쓰기 말을 강요합니다 모든 디스크 쓰기 캐시)

  • Open_Sync( 쓰기Open ()옵션O_SYNC)

theOpen_* 옵션도 사용o_direct사용 가능한 경우. 이러한 모든 선택이 아닙니다 모든 플랫폼에서 사용할 수 있습니다. 기본값은 첫 번째 메소드입니다 위의 목록은 플랫폼에서 지원하는 목록을 제외하고는fdatasyncLinux의 기본값입니다. 그만큼 기본값은 반드시 이상적인 것은 아닙니다. 변경해야 할 수도 있습니다 순서 대로이 설정 또는 시스템 구성의 다른 측면 충돌 안전 구성을 생성하거나 최적을 달성합니다 성능. 이러한 측면은에서 논의됩니다.19999_20013. 이 매개 변수는 가능합니다 에 설정와이즈 토토.conf파일 또는 서버 명령 줄.

full_page_writes(부울)

이 매개 변수가 켜져 있으면와이즈 토토서버의 전체 내용을 작성합니다 해당 페이지의 첫 번째 수정 중 각 디스크 페이지 검문소 후. 이것은 운영 체제 충돌 중 프로세스는 부분적으로 만 가능할 수 있습니다. 완성 된, 오래된 기존 페이지가 포함 된 온 디스크 페이지로 연결됩니다. 그리고 새로운 데이터. WAL Will에 일반적으로 저장된 행 수준 변경 데이터 충돌 이후에 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 회복. 전체 페이지 이미지를 저장하면 페이지가 올바르게 복원되지만 금액 인상 가격에 WAL에 기록 해야하는 데이터. (WAL Replay는 항상 시작하기 때문에 체크 포인트에서 첫 번째 동안이 작업을 수행하기에 충분합니다. 체크 포인트 후 각 페이지의 변경. 따라서 한 가지 방법 전체 페이지 쓰기 비용을 줄이는 것은 체크 포인트를 늘리는 것입니다. 간격 매개 변수.)

이 매개 변수를 설정하면 속도가 정상 작동하지만 가능하지만 가능합니다 복귀 할 수없는 데이터 손상 또는 무음 데이터로 이어집니다 시스템 고장 후 부패. 위험은 비슷합니다 끄기fsync, 더 작지만 동일한 상황에 따라 꺼져야합니다. 해당 매개 변수에 권장됩니다.

이 매개 변수를 끄는 것은 월 보관의 사용에 영향을 미치지 않습니다. PITR (Point-in-Time Recovery) ( 참조)섹션 24.3).

이 매개 변수는에서만 설정할 수 있습니다와이즈 토토.conf파일 또는 서버 명령 줄에. 기본값은on.

Wal_buffers(정수)

아직없는 WAL 데이터에 사용되는 공유 메모리의 양 디스크에 작성되었습니다. -1의 기본 설정은 크기를 선택합니다 의 1/32 (약 3%)와 같습니다.shared_buffers, 그러나 이상64KB하나의 WAL 세그먼트의 크기, 일반적으로16MB. 자동 선택이 너무 큰 경우이 값을 수동으로 설정할 수 있습니다. 또는 너무 작지만 긍정적 인 값보다32KB|32KB. 이 매개 변수는 서버에서만 설정할 수 있습니다 시작.

WAL 버퍼의 내용은 매번 디스크에 기록됩니다. 트랜잭션 커밋이므로 매우 큰 값은 거의 없습니다 중요한 이점을 제공하십시오. 그러나이 값을 AT로 설정합니다 최소 몇 메가 바이트는 바쁜 일에 대한 쓰기 성능을 향상시킬 수 있습니다. 많은 고객이 한 번에 커밋하는 서버. 자동 조정 -1의 기본 설정으로 선택한 것은 합리적으로 제공해야합니다. 대부분의 경우 결과.

Wal_writer_delay(Integer)

WAL 작가의 활동 라운드 간의 지연을 지정합니다. 각 라운드에서 작가는 WAL을 디스크로 플러시합니다. 그런 다음Wal_writer_delay밀리 초, 및 반복. 기본값은 200 밀리 초입니다 (200ms). 많은 시스템에서 효과적입니다 수면 지연의 해상도는 10 밀리 초입니다. 환경Wal_writer_delay배수가 아닌 값으로 중 10 개는 다음 상승으로 설정하는 것과 동일한 결과를 가질 수 있습니다. 다중 10 개.이 매개 변수는에서만 설정할 수 있습니다.와이즈 토토.conf파일 또는 서버 명령에 선.

Commit_Delay(Integer)

Commit_Delay시간 지연을 추가하고, WAL 플러시가 시작되기 전에 마이크로 초로 측정됩니다. 이것은 할 수 있습니다 더 많은 수의 것을 허용하여 그룹 커밋 처리량을 향상시킵니다. 시스템 부하가있는 경우 단일 월 플러시를 통해 커밋하는 거래 추가 거래가 약속 될 정도로 충분히 높습니다 주어진 간격 내에서. 그러나 대기 시간도 UP을 증가시킵니다 에게Commit_Delay각 월에 마이크로 초 플러시. 다른 거래가 없다면 지연이 낭비되기 때문에 커밋 준비가되면 지연은 적어도 만 수행됩니다.Commit_Siblings다른 트랜잭션이 있습니다 플러시가 시작될 때 활성화됩니다. 또한 지연이 없습니다 if 수행fsync비활성화되었습니다. 그만큼 기본Commit_Delay는 0입니다 (지연 없음). 수퍼 유저만이 설정을 변경할 수 있습니다.

in와이즈 토토이전에 릴리스 9.3,Commit_Delay다르게 행동하고 훨씬 덜 효과적이었다 : 그것은 모든 것이 아니라 커밋 만 영향을 받았다. WAL은 플러시되고 전체 구성된 지연을 기다렸다가 Wal Flush는 더 빨리 완료되었습니다. 시작와이즈 토토9.3, 첫 번째 프로세스가됩니다 플러시 할 준비가 된 간격을 대기하고 후속 프로세스는 리더가 플러시를 완료 할 때까지 대기합니다 작업.

Commit_Siblings(Integer)

이전에 필요한 최소 동시 공개 트랜잭션 수 수행Commit_Delay지연. 에이 더 큰 가치는 지연 간격 동안 거래 할 준비가됩니다. 기본값은 5 개의 거래입니다.

18.5.2. 검문소

Checkpoint_segments(Integer)

자동 월 사이의 최대 로그 파일 세그먼트 수 체크 포인트 (각 세그먼트는 일반적으로 16 메가 바이트입니다). 기본값은입니다 세 부분. 이 매개 변수를 늘리면 양이 증가 할 수 있습니다 충돌 복구에 필요한 시간. 이 매개 변수는 설정할 수 있습니다 에서와이즈 토토.conf파일 또는 서버 명령 줄.

Checkpoint_Timeout(Integer)

자동 WAL 체크 포인트 사이의 최대 시간, 초. 그만큼 기본값은 5 분입니다 (5min). 증가 이 매개 변수는 충돌에 필요한 시간을 늘릴 수 있습니다. 회복. 이 매개 변수는에서만 설정할 수 있습니다.와이즈 토토.conf파일 또는 서버 명령에 선.

Checkpoint_Completion_TARGET(플로팅 포인트)

체크 포인트 완료의 대상을 일부의 일부로 지정합니다. 체크 포인트 사이의 총 시간. 기본값은 0.5입니다. 이 매개 변수 에서만 설정할 수 있습니다.와이즈 토토.conf파일 또는 서버 명령 줄에.

Checkpoint_warning(Integer)

체크 포인트가 발생하는 경우 서버 와이즈 토토에 메시지를 작성합니다. 체크 포인트 세그먼트 파일의 채우기는보다 더 가깝게 발생합니다 몇 초 (이를 암시합니다Checkpoint_segments제기해야합니다). 기본값 30 초 (30S). 0은 경고. 이면 경고가 발생하지 않습니다.Checkpoint_Timeout보다 작습니다Checkpoint_warning. 이 매개 변수는 설정할 수 있습니다 에서와이즈 토토.conf파일 또는 서버 명령 줄.

18.5.3. 아카이빙

archive_mode(부울)

언제archive_mode가 활성화되어 완료되었습니다 WAL 세그먼트는 설정하여 아카이브 스토리지로 전송됩니다archive_command. archive_modeandarchive_command별도의 변수이므로archive_command없이 변경할 수 있습니다 아카이빙 모드를 떠나십시오. 이 매개 변수는 서버에서만 설정할 수 있습니다 시작.archive_mode을 활성화 할 수 없습니다.Wal_level로 설정되었습니다최소.

archive_command(String)

완성 된 월 파일을 보관하기 위해 실행하는 쉘 명령 분절. 어느%P문자열에서 교체됩니다 아카이브로 파일의 경로 이름 및 모든%f는 파일 이름으로만 대체됩니다. (경로 이름 서버의 작업 디렉토리와 관련이 있습니다. 클러스터의 데이터 디렉토리.) 사용%%실제%명령의 문자. 그것 명령이 0 종료 상태를 반환하는 것이 중요합니다. 성공합니다. 자세한 내용은 참조섹션 24.3.1.

이 매개 변수는에서만 설정할 수 있습니다Postgresql.conf파일 또는 서버 명령 줄에. 이 아니라면 무시됩니다.archive_mode서버 시작에서 활성화 만약에archive_command빈 문자열입니다 (기본값) 하는 동안archive_mode활성화, WAL 아카이브는 일시적으로 비활성화되지만 서버는 계속됩니다 명령이 곧 제공됩니다. 환경archive_command예를 들어 True를 반환하는 것 외에는 아무것도하지 않는 명령으로,/bin/true(remWindows), 효과적으로 아카이브를 비활성화하지만 WAL 체인도 깨뜨립니다. 아카이브 복구에 필요한 파일이 있으므로 사용해야합니다. 비정상적인 상황.

archive_timeout(정수)

thearchive_command완성 된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 서버 인 경우 WAL 트래픽이 거의 없거나 (또는 ​​그 위치에 느슨한 기간이 있습니다. 그래서), 완료 사이에 긴 지연이있을 수 있습니다. 아카이브 스토리지에서 트랜잭션 및 안전한 기록. 방법을 제한합니다 구식이 아닌 데이터가 될 수 있습니다. 설정할 수 있습니다archive_timeout서버가 a로 전환하도록 강제합니다 새로운 WAL 세그먼트 파일은 주기적으로. 이 매개 변수가 더 큰 경우 제로보다 서버는 언제든지 새 세그먼트 파일로 전환됩니다. 마지막 세그먼트 파일 스위치 이후 몇 초가 경과했습니다. 그리고 단일을 포함한 데이터베이스 활동이있었습니다. 검문소. (증가Checkpoint_Timeout유휴 시스템에서 불필요한 체크 포인트를 줄일 것입니다.) 강제 스위치로 인해 일찍 닫힌 아카이브 파일은 다음과 같습니다. 여전히 완전히 전체 파일과 같은 길이입니다. 그러므로 그것은입니다 매우 짧은 것을 사용하려면archive_timeout- 아카이브 스토리지를 팽창시킬 것입니다.archive_timeout1 분 정도의 설정입니다 일반적으로 합리적입니다. 스트리밍 사용을 고려해야합니다 데이터를 복사하려면 아카이브 대신 복제 마스터 서버에서 그보다 더 빨리. 이 매개 변수는 할 수 있습니다 에서만 설정됩니다.와이즈 토토.conf파일 또는 서버 명령 줄에서.