젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
토토 커뮤니티 PostgreSQL : 문서 : 9.6 : 자원 소비 | 메이저 토토 사이트 : 문서 : 9.6 : 서버 구성 | 19 장. 서버 구성 | 메이저 토토 사이트 PostgreSQL : 문서 : 9.6 : 복제 |
이 설정 조정에 대한 추가 정보는 참조섹션 30.4.
Wal_levelWAL에 얼마나 많은 정보가 기록되어 있는지 결정합니다. 기본값은입니다.최소, 충돌 또는 즉시 종료스포츠 토토 결과 복구하는 데 필요한 정보 만 씁니다.복제WAL 아카이빙에 필요한 로깅 및 대기 서버스포츠 토토 결과 읽기 전용 쿼리를 실행하는 데 필요한 정보를 추가합니다. 마지막으로,논리논리적 디코딩을 지원하는 데 필요한 정보가 추가됩니다. 각 레벨에는 모든 낮은 수준으로 기록 된 정보가 포함됩니다.
in최소레벨, 일부 벌크 작업의 월-로깅을 안전하게 건너 뛸 수있어 해당 작업을 훨씬 더 빨리 만들 수 있습니다 (참조섹션 14.4.7). 이 최적화를 적용 할 수있는 작업에는 다음이 포함됩니다.
테이블 작성 |
색인 생성 |
클러스터 |
COPY동일한 트랜잭션스포츠 토토 결과 생성되거나 잘린 테이블로 |
in논리레벨, 동일한 정보가 다음과 같이 기록됩니다복제, WAL에서 논리적 변경 세트를 추출하는 데 필요한 정보와 함께. 수준 사용논리특히 많은 테이블이 구성된 경우 WAL 볼륨을 증가시킵니다.복제 아이덴티티 전체그리고 많은업데이트및삭제진술이 실행되었습니다.
9.6 이전에 릴리스 에서이 매개 변수도 값을 허용했습니다아카이브및hot_standby. 이것들은 여전히 받아 들여지지 만복제.
이 매개 변수가 켜져 있으면PostgreSQL서버는 업데이트가 디스크에 물리적으로 작성되었는지 확인하여 발행fsync ()
시스템 호출 또는 다양한 동등한 방법 (WAL_SYNC_METHOD). 이를 통해 운영 체제 또는 하드웨어 충돌 후 데이터베이스 클러스터가 일관된 상태로 복구 할 수 있습니다.
끄는 동안fsync종종 성능 이점이므로 정전 또는 시스템 충돌시 정복 할 수없는 데이터 손상이 발생할 수 있습니다. 따라서 끄는 것이 좋습니다fsync외부 데이터스포츠 토토 결과 전체 데이터베이스를 쉽게 재현 할 수있는 경우
끄기위한 안전한 상황의 예fsync백업 파일에서 새 데이터베이스 클러스터의 초기로드, 데이터베이스를 처리하기 위해 데이터베이스 클러스터를 사용하여 데이터베이스가 버리고 재현되거나, 자주 재창조되고 실패한 데 사용되지 않는 읽기 전용 데이터베이스 클론을 위해 데이터베이스 클러스터를 사용합니다. 고품질 하드웨어만으로는 전원을 끄는 데 충분한 정당성이 아닙니다fsync.
변경시 신뢰할 수있는 복구fsyncOFF에서 켜지면 커널의 모든 수정 된 버퍼를 내구성있는 저장소로 강제해야합니다. 클러스터가 종료 중이거나 FSYNC가 실행중인 상태에서 수행 할 수 있습니다initdb--sync-dily, Runningsync, 파일 시스템을 마치거나 서버 재부팅.
많은 상황스포츠 토토 결과 끄기synchronous_commit비정규 거래의 경우 끄는 잠재적 성능 이점의 많은 부분을 제공 할 수 있습니다fsync, 데이터 손상의 승무원 위험없이.
fsync스포츠 토토 결과만 설정할 수 있습니다on파일 또는 서버 명령 줄에. 이 매개 변수를 끄면 끄기를 고려하십시오full_page_writes.
데이터베이스 서버가 반환하기 전에 WAL 처리가 얼마나 완료되어야하는지 지정합니다"성공"클라이언트에 대한 표시. 유효한 값은Remote_Apply, on(기본값),Remote_write, Local및OFF.
ifsynchronous_standby_names비어 있습니다. 유일한 의미있는 설정은입니다.on및OFF; Remote_Apply, Remote_write및Local모두 동일한 로컬 동기화 레벨을 제공합니다.on. 모든 비의 지역 행동OFF모드는 WAL의 로컬 플러시를 디스크로 기다리는 것입니다. 안에OFF모드, 대기가 없으므로 클라이언트에게 성공이보고 될 때와 트랜잭션이 서버 충돌에 대해 안전하게 보장 될 때 사이에 지연 될 수 있습니다. (최대 지연은 세 번Wal_writer_delay.)와 달리fsync,이 매개 변수 설정OFF데이터베이스 불일치의 위험을 초래하지 않습니다. 운영 체제 또는 데이터베이스 충돌로 인해 최근 일부 커미셔닝 된 트랜잭션이 손실 될 수 있지만 데이터베이스 상태는 해당 트랜잭션이 깨끗하게 중단 된 경우와 동일합니다. 그래서, 회전synchronous_commitOFF는 거래의 내구성에 대한 정확한 확실성보다 성능이 더 중요한 경우 유용한 대안이 될 수 있습니다. 자세한 내용은 참조섹션 30.3.
ifsynchronous_standby_names비어 있지 않아synchronous_commit또한 트랜잭션 저작이 대기 서버스포츠 토토 결과 WAL 레코드가 처리 될 때까지 기다릴 것인지.
로 설정된 시점Remote_Apply, Commits는 현재 동기 대기에서 답장이 될 때까지 대기 할 때까지 기다릴 것입니다. 대기 기록은 트랜잭션의 커밋 레코드를 수신하여 적용하여 대기의 쿼리로 보이고 대기의 내구성있는 스토리지에 기록되도록합니다. 이렇게하면 WAL Replay를 기다리기 때문에 이전 설정보다 훨씬 큰 커밋 지연이 발생합니다.on, 현재 동기 대기에서 답장이 될 때까지 기다릴 때까지 대기 할 때는 거래의 커밋 레코드를 받았으며 내구성있는 저장소로 플러시했습니다. 이렇게하면 기본 및 모든 동기 대지가 데이터베이스 스토리지의 손상을 입지 않으면 트랜잭션이 손실되지 않도록합니다.Remote_write, Commits는 현재 동기 대기에서 답장이 될 때까지 기다릴 것입니다. 이 설정은 대기 인스턴스 인 경우 데이터 보존을 보장합니다.PostgreSQL충돌이지만 대기 시스템이 대기스포츠 토토 결과 내구성있는 스토리지에 도달 할 필요는 없기 때문에 대기 시스템 수준 충돌을 겪는 경우에는 그렇지 않습니다. 설정Local원인은 로컬 플러시가 디스크로 플러시되기를 기다리지 만 복제는 아닙니다. 동기 복제가 사용될 때 일반적으로 바람직하지는 않지만 완전성을 위해 제공됩니다.
이 매개 변수는 언제든지 변경할 수 있습니다. 하나의 트랜잭션에 대한 동작은 유도 할 때 실제로 설정에 따라 결정됩니다.로컬 SYNCHRONOUS_COMMIT 설정거래 내스포츠 토토 결과.
표 19-1의 기능을 요약합니다synchronous_commit설정.
WAL 업데이트를 디스크로 강제하는 데 사용되는 방법. 만약에fsync꺼져 있다면 WAL 파일 업데이트는 전혀 강요되지 않기 때문에이 설정은 관련이 없습니다. 가능한 가치는 다음과 같습니다.
Open_Datasync(Open ()
옵션O_DSYNC)
fdatasync(Callfdatasync ()
각 커밋스포츠 토토 결과)
fsync(Callfsync ()
각 커밋스포츠 토토 결과)
fsync_writethrough(Callfsync ()
각 커밋마다 디스크 쓰기 캐시의 쓰기 말을 강요)
Open_Sync(Open ()
옵션O_SYNC)
theOpen_* 옵션도 사용o_direct사용 가능한 경우. 이러한 모든 선택이 모든 플랫폼스포츠 토토 결과 사용할 수있는 것은 아닙니다.fdatasync는 Linux 및 FreeBSD의 기본값입니다. 기본값이 반드시 이상적인 것은 아닙니다.PostgreSQL : 문서 : 9.6 : 젠 토토성. 이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에.
이 매개 변수가 켜져 있으면PostgreSQLServer는 체크 포인트 후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 WAL에 씁니다. 운영 체제 충돌 중에 처리중인 페이지 쓰기가 부분적으로 만 완료 될 수 있으므로 구식 및 새 데이터가 혼합되어있는 온 디스크 페이지로 이어질 수 있기 때문에 이는 필요합니다.
이 매개 변수를 끄면 정상 작동 속도를 끄려면 시스템 고장 후 복귀 할 수없는 데이터 손상 또는 무음 데이터 손상으로 이어질 수 있습니다. 위험은 끄는 것과 비슷합니다fsync, 더 작지만 해당 매개 변수에 권장되는 동일한 상황에 따라 꺼져야합니다.
이 매개 변수를 끄는 것은 PITR (Point-in-Time Recovery)을위한 WAL 아카이빙 사용에 영향을 미치지 않습니다 (참조섹션 25.3).
이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에. 기본값은on.
이 매개 변수 일 때on, ThePostgreSQLServer는 체크 포인트 이후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 WAL에 씁니다.
데이터 체크섬이 활성화되면 힌트 비트 업데이트는 항상 월드 로그드 되고이 설정은 무시됩니다. 데이터베이스가 데이터 체크섬을 활성화 한 경우이 설정을 사용하여 추가 월 로깅이 얼마나 발생할 것인지 테스트 할 수 있습니다.
이 매개 변수는 서버 시작시에만 설정할 수 있습니다. 기본값은입니다.OFF.
이 매개 변수 일 때on, ThePostgreSQL서버는 WAL에 작성된 전체 페이지 이미지를 압축합니다full_page_writes기본 백업 중 또는 기간 중입니다. WAL 재생 중에 압축 페이지 이미지가 압축 해제됩니다.OFF. 수퍼 유저만이 설정을 변경할 수 있습니다.
이 매개 변수를 켜는이 매개 변수를 켜는 것은 복귀 할 수없는 데이터 손상의 위험을 증가시키지 않으면 서 WAL 볼륨을 줄일 수 있지만 WAL 로깅 중 압축에 소비 된 추가 CPU의 비용으로 WAL 리플레이 중 압축에 대한 추가 CPU 비용으로..
아직 디스크에 기록되지 않은 WAL 데이터에 사용되는 공유 메모리의 양. -1의 기본 설정은의 1/32 (약 3%)와 같은 크기를 선택합니다.shared_buffers그러나 이상64KB또는 하나의 WAL 세그먼트의 크기 이상, 일반적으로16MB. 자동 선택이 너무 크거나 너무 작지만이 값은 수동으로 설정할 수 있지만보다 양수 값이32KB|32KB. 이 매개 변수는 서버 시작스포츠 토토 결과만 설정할 수 있습니다.
WAL 버퍼의 내용은 모든 트랜잭션 커밋스포츠 토토 결과 디스크에 기록되므로 매우 큰 값은 상당한 이점을 제공하지 않을 것입니다. 그러나이 값을 적어도 몇 메가 바이트로 설정하면 많은 고객이 한 번에 커밋하는 바쁜 서버스포츠 토토 결과 쓰기 성능을 향상시킬 수 있습니다.
WAL Writer가 WAL을 얼마나 자주 플러시하는지 지정합니다. wall을 플러싱 한 후Wal_writer_delay밀리 초. 마지막 플러시가 ~보다 적은 일이 발생하면Wal_writer_delay밀리 초 전과Wal_writer_flush_afterWAL의 바이트가 생산 된 이후로 WAL은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 기본값은 200 밀리 초입니다 (200ms). 많은 시스템에서 수면 지연의 효과적인 해상도는 10 밀리 초입니다.Wal_writer_delay10의 배수가 아닌 값으로 10의 더 높은 배수로 설정하는 것과 동일한 결과를 가질 수 있습니다.이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다on파일 또는 서버 명령 줄에.
WAL Writer가 WAL을 얼마나 자주 플러시하는지 지정합니다. 마지막 플러시가 ~보다 적은 일이 발생하면Wal_writer_delay밀리 초 전과Wal_writer_flush_afterWAL의 바이트가 생산 된 이후로 WAL은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 만약에Wal_writer_flush_after로 설정되었습니다0그런 다음 WAL 데이터가 즉시 플러시됩니다. 기본값은1MB. 이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에.
Commit_DelayWAL 플러시가 시작되기 전에 마이크로 초로 측정 된 시간 지연을 추가합니다. 이는 시스템 부하가 주어진 간격 내스포츠 토토 결과 추가 트랜잭션이 커밋 될 수있을 정도로 높은 경우 단일 월 플러시를 통해 더 많은 수의 트랜잭션이 커밋 할 수 있도록하여 그룹 커밋 처리량을 향상시킬 수 있습니다.Commit_Delay각 WAL 플러시에 대한 마이크로 초. 다른 거래가 커밋 할 준비가되지 않으면 지연이 낭비되기 때문에 최소한 지연이 수행됩니다.Commit_Siblings플러시가 시작될 때 다른 트랜잭션이 활성화됩니다. 또한 지연이 수행되지 않음fsync비활성화되었습니다. 기본값Commit_Delay는 0입니다 (지연 없음). 수퍼 유저만이 설정을 변경할 수 있습니다.
inPostgreSQL9.3 이전 릴리스,Commit_Delay다르게 행동하고 훨씬 효과적이었습니다. 모든 월 플러시보다는 커밋에만 영향을 미쳤으며 WAL 플러시가 더 빨리 완료 되더라도 구성된 전체 지연을 기다렸습니다. 시작PostgreSQL9.3, 구성된 구간을 대기 할 준비가 된 첫 번째 프로세스 인 후속 프로세스는 리더가 플러시 작업을 완료 할 때까지 대기합니다..
수행하기 전에 필요한 최소 동시 공개 트랜잭션 수Commit_Delay지연. 값이 커지면 지연 간격 동안 적어도 하나의 다른 트랜잭션이 커밋 할 준비가되어있을 가능성이 높습니다.
몇 초 만에 자동 WAL 체크 포인트 사이의 최대 시간. 유효한 범위는 30 초스포츠 토토 결과 하루 사이입니다.5min). 이 매개 변수를 늘리면 충돌 복구에 필요한 시간이 증가 할 수 있습니다.on파일 또는 서버 명령 줄에.
체크 포인트 사이의 총 시간의 일부로 체크 포인트 완료의 대상을 지정합니다. 기본값은 0.5입니다.on파일 또는 서버 명령 줄에.
Checkpoint_flush_after바이트가 체크 포인트를 수행하는 동안 작성되었으며 OS가 기본 저장소에 이러한 글을 발행하도록 강제 시도하십시오. 그렇게하면 커널 페이지 캐시의 더러운 데이터의 양이 제한되어 체크 포인트 끝스포츠 토토 결과 FSYNC가 발행 될 때 또는 OS가 백그라운드스포츠 토토 결과 더 큰 배치로 데이터를 작성할 때 마구간의 가능성을 줄입니다.shared_buffers이지만 성능이 저하 될 수있는 OS의 페이지 캐시보다 작습니다. 이 설정은 일부 플랫폼에 영향을 미치지 않을 수 있습니다.02MB. 기본값은256KBOn Linux,0다른 곳. (만약에blcksz는 8KB가 아니며 기본 및 최대 값은 비례 적으로 비례합니다.)이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에.
체크 포인트 세그먼트 파일의 채우기로 인한 체크 포인트 가이 여러 초보다 가깝게 발생하는 경우 서버 로그에 메시지를 작성합니다 (max_wal_size제기해야합니다). 기본값은 30 초입니다 (30S). 0은 경고를 비활성화합니다.Checkpoint_Timeout보다 작습니다Checkpoint_warning. 이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에.
자동 체크 포인트 중에 WAL이 성장할 수 있도록 최대 크기. 이것은 소프트 한계입니다.max_wal_size심한 부하와 같은 특별한 상황스포츠 토토 결과 실패한archive_command또는 HighWal_keep_segments설정. 기본값은 1GB입니다.on파일 또는 서버 명령 줄에.
WAL 디스크 사용 이이 설정 아래에 머무는 한 오래된 WAL 파일은 항상 제거되지 않고 체크 포인트스포츠 토토 결과 향후 사용하기 위해 재활용됩니다. 예를 들어 대형 배치 작업을 실행할 때 WAL 사용의 스파이크를 처리하기에 충분한 웨일 스페이스가 예약되어 있는지 확인하는 데 사용할 수 있습니다.on파일 또는 서버 명령 줄에.
whenarchive_mode활성화되고 완성 된 월 세그먼트가 설정하여 아카이브 스토리지로 전송됩니다archive_command. 외에OFF, 비활성화하려면 두 가지 모드가 있습니다.on및항상. 정상 작동 중에는 두 모드간에 차이가 없지만로 설정된 경우항상WAL Archiver는 아카이브 복구 또는 대기 모드 중에도 활성화되어 있습니다. 안에항상모드, 아카이브에서 복원되거나 스트리밍 복제로 스트리밍 된 모든 파일이 보관됩니다 (다시). 보다섹션 26.2.9자세한 내용.
archive_mode및archive_command별도의 변수이므로archive_command아카이빙 모드를 떠나지 않고 변경할 수 있습니다. 이 매개 변수는 서버 시작스포츠 토토 결과만 설정할 수 있습니다.archive_mode을 활성화 할 수 없습니다.Wal_level로 설정되었습니다최소.
로컬 쉘 명령을 실행하여 완성 된 WAL 파일 세그먼트를 보관합니다. 어느%P문자열스포츠 토토 결과 파일의 경로 이름으로 대체됩니다.%f는 파일 이름으로만 대체됩니다. (경로 이름은 서버의 작업 디렉토리, 즉 클러스터의 데이터 디렉토리와 관련이 있습니다.) 사용%%실제를 포함하려면%명령의 문자. 명령이 성공한 경우에만 제로 출구 상태를 반환하는 것이 중요합니다.섹션 25.3.1.
이 매개 변수는스포츠 토토 결과만 설정할 수 있습니다.on파일 또는 서버 명령 줄에. 이 아니라면 무시됩니다.archive_mode서버 스타트스포츠 토토 결과 활성화되었습니다. 만약에archive_command빈 문자열 (기본값)입니다archive_mode가 활성화되어 있으며, WAL 아카이브는 일시적으로 비활성화되었지만 서버는 계속해서 명령이 제공 될 것으로 예상하여 WAL 세그먼트 파일을 계속 축적합니다. 환경archive_command예를 들어 True를 반환하는 것 외에는 아무것도하지 않는 명령으로,/bin/true (remWindows에서)는 아카이브를 효과적으로 비활성화 할뿐만 아니라 아카이브 복구에 필요한 왈 파일의 체인을 중단하므로 비정상적인 상황에서만 사용해야합니다..
thearchive_command완성 된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 서버가 WAL 트래픽이 거의 없거나 (또는 그 자체가있는 경우에도 느슨한 기간이있는 경우) 트랜잭션 완료와 아카이브 스토리지에서 안전한 기록 사이에 긴 지연이 발생할 수 있습니다.archive_timeout서버가 새로운 WAL 세그먼트 파일로 주기적으로 전환하도록 강제합니다. 이 매개 변수가 0보다 크면 서버는 마지막 세그먼트 파일 스위치 이후 몇 초가 경과 될 때마다 새 세그먼트 파일로 전환되며 단일 체크 포인트를 포함한 데이터베이스 활동이 있습니다.Checkpoint_Timeout유휴 시스템에서 불필요한 체크 포인트를 줄입니다.) 강제 스위치로 인해 조기에 닫힌 아카이브 된 파일은 여전히 완전히 전체 파일과 동일합니다. 따라서 매우 짧은 것을 사용하는 것은 현명하지 않습니다archive_timeout- 아카이브 스토리지를 팽창시킬 것입니다.archive_timeout1 분 정도의 설정은 일반적으로 합리적입니다. 마스터 서버에서 데이터를 그보다 더 빨리 복사하려면 아카이브 대신 스트리밍 복제를 사용하는 것이 좋습니다.on파일 또는 서버 명령 줄에.