이 설정 조정에 대한 추가 정보는 참조섹션 28.5.
스포츠 토토_level
(enum
) #스포츠 토토_level
스포츠 토토에 얼마나 많은 정보가 기록되어 있는지 결정합니다. 기본값은입니다.복제
11541_11666최소
충돌 또는 즉시 종료에서 복구하는 데 필요한 정보를 제외한 모든 로깅을 제거합니다. 마지막으로,논리
논리적 디코딩을 지원하는 데 필요한 정보를 추가합니다. 각 레벨에는 모든 낮은 수준으로 기록 된 정보가 포함됩니다.
the최소
레벨은 최소한의 월 볼륨을 생성합니다. 이를 작성하거나 다시 작성하는 거래에서 영구 관계에 대한 행 정보를 기록하지 않습니다.섹션 14.4.7). 이 최적화를 시작하는 작업에는 다음이 포함됩니다.
ALTER ... 세트 테이블 스페이스 |
클러스터 |
테이블 생성 |
상쾌한 구체화보기 (동시에 ) |
Reindex |
Truncate |
그러나 최소한의 WAL은 시점 복구를위한 충분한 정보가 포함되어 있지 않으므로복제
이상 연속 보관을 가능하게하려면 (archive_mode) 및 스트리밍 바이너리 복제. 실제로, 서버는이 모드에서 시작되지 않습니다.max_스포츠 토토_senders
는 0이 아닙니다. 변경스포츠 토토_level
to최소
포인트 회복 및 대기 서버에 대한 이전베이스 백업을 사용할 수 없게 만듭니다.
in논리
레벨, 동일한 정보가복제
, 그리고 WAL에서 논리적 변경 세트를 추출하는 데 필요한 정보와 함께. 수준 사용논리
특히 많은 테이블이 구성된 경우 스포츠 토토 볼륨이 증가합니다.복제 아이덴티티 풀
그리고 많은업데이트
and삭제
진술이 실행되었습니다.
9.6 이전에 릴리스 에서이 매개 변수도 값을 허용했습니다아카이브
andhot_standby
. 이것들은 여전히 받아 들여지지 만복제
.
fsync
(부울
) #이 매개 변수가 켜져 있으면PostgreSQL서버는 업데이트가 디스크에 물리적으로 작성되었는지 확인하여 발행fsync ()
시스템 호출 또는 다양한 동등한 방법 (참조스포츠 토토_Sync_Method). 이를 통해 운영 체제 또는 하드웨어 충돌 후 데이터베이스 클러스터가 일관된 상태로 복구 할 수 있습니다.
끄는 동안fsync
종종 성능 이점이므로 정전 또는 시스템 충돌시 정복 할 수없는 데이터 손상이 발생할 수 있습니다. 따라서 끄는 것이 좋습니다fsync
외부 데이터에서 전체 데이터베이스를 쉽게 재현 할 수있는 경우
끄기위한 안전한 상황의 예fsync
백업 파일에서 새 데이터베이스 클러스터의 초기로드, 데이터베이스를 처리하기 위해 데이터베이스 클러스터를 사용하여 데이터베이스가 버리고 재현되거나, 자주 재창조되고 실패한 데 사용되지 않는 읽기 전용 데이터베이스 클론을 사용합니다. 고품질 하드웨어만으로는 전원을 끄는 데 충분한 정당성이 아닙니다fsync
.
변경시 신뢰할 수있는 복구의 경우fsync
OFF TO ON에서 커널의 모든 수정 된 버퍼를 내구성있는 저장소로 강제해야합니다. 클러스터가 종료되는 동안 또는 기간이를 수행 할 수 있습니다.fsync
실행 중입니다initdb--sync-dily
, runningsync
, 파일 시스템을 마치거나 서버 재부팅.
많은 상황에서 끄기synchronous_commit비정규 거래의 경우 끄는 잠재적 성능 이점의 많은 부분을 제공 할 수 있습니다fsync
, 데이터 손상의 견인 위험없이.
fsync
에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에. 이 매개 변수를 끄면 끄기를 고려하십시오full_page_writes.
synchronous_commit
(enum
) #데이터베이스 서버가 a를 반환하기 전에 스포츠 토토 처리가 얼마나 완료되어야하는지 지정합니다.“성공”클라이언트에 대한 표시. 유효한 값은Remote_apply
, on
(기본값),Remote_write
, Local
및OFF
.
ifsynchronous_standby_names
비어 있고, 유일한 의미있는 설정은입니다.on
andOFF
; Remote_apply
, Remote_write
andLocal
모두 동일한 로컬 동기화 레벨을 제공합니다.on
. 모든 비의 지역 행동OFF
모드는 스포츠 토토의 로컬 플러시를 디스크로 기다리는 것입니다. 안에OFF
모드, 대기가 없으므로 대기가 없으므로 성공이 클라이언트에게보고 될 때와 트랜잭션이 서버 충돌에 대해 안전하게 보장되는 시점 사이에 지연 될 수 있습니다. (최대 지연은 세 번스포츠 토토_writer_delay.)와 달리fsync,이 매개 변수 설정OFF
데이터베이스 불일치의 위험을 초래하지 않습니다. 운영 체제 또는 데이터베이스 충돌로 인해 최근 일부 커미셔닝 된 트랜잭션이 손실 될 수 있지만 데이터베이스 상태는 해당 거래가 깨끗하게 중단 된 경우와 동일합니다. 그래서, 회전synchronous_commit
OFF는 거래의 내구성에 대한 정확한 확실성보다 성능이 더 중요한 경우 유용한 대안이 될 수 있습니다. 자세한 내용은 참조섹션 28.4.
ifsynchronous_standby_names비어 있지 않아synchronous_commit
또한 Transaction Commit이 대기 서버에서 WAL 레코드가 처리 될 때까지 기다릴 것인지.
설정시Remote_apply
, Commits는 현재 동기 대기에서 답장이 될 때까지 대기 할 때까지 기다릴 것입니다. 이렇게하면 WAL Replay를 기다리기 때문에 이전 설정보다 훨씬 큰 커밋 지연이 발생합니다.on
, 현재 동기 대기에서 답장이 될 때까지 기다릴 때까지 대기 할 때는 트랜잭션의 커밋 레코드를 받았으며 내구성있는 저장소로 플러시했습니다. 이렇게하면 기본 및 모든 동기 대지가 데이터베이스 스토리지의 손상을 입지 않으면 트랜잭션이 손실되지 않도록합니다.Remote_write
, Commits는 현재 동기 대기에서 답장이 될 때까지 기다릴 것입니다. 이 설정은 대기 인스턴스 인 경우 데이터 보존을 보장합니다.PostgreSQL충돌이지만 대기 시스템이 대기에서 내구성있는 스토리지에 도달 할 필요는 없기 때문에 대기 시스템 수준 충돌을 겪는 경우에는 그렇지 않습니다. 설정Local
원인은 로컬 플러시가 디스크로 플러시 될 때까지 대기하지만 복제는 아닙니다. 동기 복제가 사용될 때 일반적으로 바람직하지는 않지만 완전성을 위해 제공됩니다.
이 매개 변수는 언제든지 변경할 수 있습니다. 하나의 트랜잭션에 대한 동작은 유도 할 때 실제로 설정에 따라 결정됩니다.로컬 SYNCHRONOUS_COMMIT 설정
거래 내에서.
표 19.1의 능력을 요약합니다synchronous_commit
설정.
표 19.1. synchronous_commit 모드
synchronous_commit 설정 | 지역 내구성 커밋 | PG 충돌 후 대기 내구성 커밋 | OS 충돌 후 대기 내구성 커밋 | 대기 쿼리 일관성 |
---|---|---|---|---|
Remote_apply | • | • | • | • |
on | • | • | • | |
Remote_write | • | • | ||
Local | • | |||
OFF |
스포츠 토토_Sync_Method
(enum
) #WAL 업데이트를 디스크로 강제하는 데 사용되는 방법. 만약에fsync
꺼져 있다면 WAL 파일 업데이트는 전혀 강제되지 않기 때문에이 설정은 관련이 없습니다. 가능한 가치는 다음과 같습니다.
Open_Datasync
Open ()
옵션O_DSYNC
)
fdatasync
(Callfdatasync ()
각 커밋에서)
fsync
(Callfsync ()
각 커밋에서)
fsync_writethrough
(Callfsync ()
각 커밋마다 디스크 쓰기 캐시의 쓰기 말을 강요)
Open_Sync
Open ()
옵션O_SYNC
)
이러한 모든 선택이 모든 플랫폼에서 사용할 수있는 것은 아닙니다. 기본값은 위의 목록에서 플랫폼에서 지원하는 첫 번째 방법입니다.fdatasync
는 Linux 및 FreeBSD의 기본값입니다. 기본값이 반드시 이상적인 것은 아닙니다.섹션 28.1. 이 매개 변수는에서만 설정할 수 있습니다.on
파일 또는 서버 명령 줄에.
full_page_writes
(부울
) #이 매개 변수가 켜져 있으면PostgreSQLServer는 체크 포인트 후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 스포츠 토토에 씁니다. 운영 체제 충돌 중에 처리중인 페이지 쓰기가 부분적으로 만 완료 될 수 있으므로 구식 및 새 데이터가 혼합되어있는 온 디스크 페이지로 이어질 수 있기 때문에 이는 필요합니다.
이 매개 변수를 끄면 정상 작동 속도를 끄려면 시스템 고장 후 복귀 할 수없는 데이터 손상 또는 무음 데이터 손상으로 이어질 수 있습니다. 위험은 끄는 것과 비슷합니다fsync
, 더 작지만 해당 매개 변수에 권장되는 것과 동일한 상황에 따라 꺼져야합니다.
이 매개 변수를 끄는 것은 PITR (Point-in-Time Recovery)을위한 WAL 아카이브 사용에 영향을 미치지 않습니다 (참조젠 토토 PostgreSQL : 문서 : 17 : 25.3. 연속 보관 및 시점 복구 (PITR)).
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에. 기본값은on
.
Wal_log_hints
(부울
) #이 매개 변수 일 때on
, ThePostgreSQLServer는 체크 포인트 후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 스포츠 토토에 씁니다.
데이터 체크섬이 활성화되면 힌트 비트 업데이트는 항상 월 에그 로그를 받고이 설정은 무시됩니다. 데이터베이스가 데이터 체크섬을 활성화 한 경우이 설정을 사용하여 추가 월 로깅이 얼마나 발생할 것인지 테스트 할 수 있습니다.
이 매개 변수는 서버 시작시에만 설정할 수 있습니다. 기본값은입니다.OFF
.
Wal_compression
(enum
) #이 매개 변수는 지정된 압축 방법을 사용하여 스포츠 토토의 압축을 가능하게합니다. 활성화되면PostgreSQL서버는 스포츠 토토에 작성된 전체 페이지 이미지를 압축합니다full_page_writes기본 백업 중 또는 기간 중입니다. 스포츠 토토 재생 중에 압축 페이지 이미지가 압축 해제됩니다.PGLZ
, LZ4
(ifPostgreSQL-with-lz4
) 및ZSTD
(ifPostgreSQL-with-zstd
). 기본값은입니다.OFF
. 적절한 수퍼 유행자 및 사용자 만SET
권한은이 설정을 변경할 수 있습니다.
압축 활성화는 복귀 불가능한 데이터 손상의 위험을 증가시키지 않으면 서 스포츠 토토 볼륨을 줄일 수 있지만 스포츠 토토 로깅 중 압축에 소비 된 추가 CPU의 비용으로 스포츠 토토 리플레이 중 감압에 소요됩니다.
Wal_init_zero
(부울
) #로 설정된 경우on
(기본값)이 옵션으로 인해 새 WAL 파일이 0으로 채워집니다. 일부 파일 시스템에서는 WAL 레코드를 작성하기 전에 공간이 할당되도록합니다.Copy-on-Write(COW) 파일 시스템은이 기술의 혜택을받지 못할 수 있으므로 불필요한 작업을 건너 뛰는 옵션이 제공됩니다. 로 설정된 경우OFF
, 파일이 생성 될 때 최종 바이트 만 작성되어 예상 크기가 표시됩니다.
스포츠 토토_recycle
(부울
) #로 설정된 경우on
(기본값),이 옵션은 새 옵션을 생성 할 필요가 없어서 웨이스 파일을 이름 바꾸면 재활용하게됩니다. Cow 파일 시스템에서는 새 시스템을 만드는 것이 더 빠를 수 있으므로이 동작을 비활성화하기위한 옵션이 제공됩니다.
스포츠 토토_buffers
(Integer
) #아직 디스크에 기록되지 않은 스포츠 토토 데이터에 사용되는 공유 메모리의 양. -1의 기본 설정은의 1/32 (약 3%)와 같은 크기를 선택합니다.shared_buffers하지만 이상64KB
또는 하나의 스포츠 토토 세그먼트의 크기 이상, 일반적으로16MB
. 자동 선택이 너무 크거나 너무 작지만이 값은 수동으로 설정할 수 있지만보다 양수 값이32KB
32KB
. 이 값이 단위없이 지정되면 스포츠 토토 블록으로 간주됩니다.XLOG_BLCKSZ
바이트, 일반적으로 8kb. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.
스포츠 토토 버퍼의 내용은 모든 트랜잭션 커밋에서 디스크에 기록되므로 매우 큰 값은 상당한 이점을 제공하지 않을 것입니다. 그러나이 값을 적어도 몇 메가 바이트로 설정하면 많은 고객이 한 번에 커밋하는 바쁜 서버에서 쓰기 성능을 향상시킬 수 있습니다.
스포츠 토토_writer_delay
(Integer
) #스포츠 토토 Writer가 시간 용어로 스포츠 토토을 얼마나 자주 플러시하는지 지정합니다. 스포츠 토토l을 플러싱 한 후 작가는 |스포츠 토토_writer_delay
. 마지막 플러시가 ~보다 적은 일이 발생하면스포츠 토토_writer_delay
전스포츠 토토_writer_flush_after
스포츠 토토 of 스포츠 토토은 이후로 생산 된 후 스포츠 토토은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다.200ms
). 일부 시스템에서 수면 지연의 효과적인 해상도는 10 밀리 초입니다.스포츠 토토_writer_delay
10의 배수가 아닌 값으로 10의 다음으로 설정하는 것과 동일한 결과를 얻을 수 있습니다.이 매개 변수는에서만 설정할 수 있습니다.on
파일 또는 서버 명령 줄에.
스포츠 토토_writer_flush_after
(Integer
) #WAL Writer가 WAL을 얼마나 자주 플러시하는 빈도를 지정합니다. 마지막 플러시가 ~보다 적은 일이 발생하면스포츠 토토_writer_delay
전스포츠 토토_writer_flush_after
스포츠 토토 of 스포츠 토토은 이후로 생산 된 이후로 스포츠 토토은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 만약에스포츠 토토_writer_flush_after
로 설정되었습니다0
그런 다음 WAL 데이터는 항상 즉시 플러시됩니다. 이 값이 단위없이 지정되면 스포츠 토토 블록으로 간주됩니다.XLOG_BLCKSZ
바이트, 일반적으로 8kb. 기본값은1MB
. 이 매개 변수는에서만 설정할 수 있습니다.on
파일 또는 서버 명령 줄에.
스포츠 토토_SKIP_THRESHOLD
(Integer
) #언제스포츠 토토_level
is최소
및 트랜잭션은 영구 관계를 작성하거나 다시 작성한 후 새로운 데이터를 지속하는 방법을 결정합니다. 데이터 가이 설정보다 작은 경우 스포츠 토토 로그에 기록하십시오.2MB
).
Commit_Delay
(Integer
) #설정Commit_Delay
스포츠 토토 플러시가 시작되기 전에 시간 지연을 추가합니다. 이는 시스템 부하가 주어진 간격 내에서 추가 트랜잭션이 커밋 될 수있을 정도로 높은 경우 단일 월 플러시를 통해 더 많은 수의 트랜잭션이 커밋 할 수 있도록하여 그룹 커밋 처리량을 향상시킬 수 있습니다.Commit_Delay
각 월 플러시마다. 다른 거래가 커밋 할 준비가되지 않으면 지연이 낭비되기 때문에 최소한 지연이 수행됩니다.Commit_Siblings
플러시가 시작될 때 다른 트랜잭션이 활성화됩니다. 또한 지연이 수행되지 않음fsync
비활성화되었습니다. 이 값이 단위없이 지정되면 마이크로 초로 간주됩니다.Commit_Delay
는 0입니다 (지연 없음). 적절한 수퍼 유행자 및 사용자 만SET
권한은이 설정을 변경할 수 있습니다.
inPostgreSQL9.3 이전의 릴리스,Commit_Delay
다르게 행동하고 훨씬 효과적이었고 훨씬 덜 효과적이었습니다. 모든 월 플라이즈보다는 커밋에만 영향을 미쳤으며 스포츠 토토 플러시가 더 빨리 완료된 경우에도 구성된 전체 지연을 기다렸습니다. 시작PostgreSQL9.3, 구성된 구간을 대기 할 준비가 된 첫 번째 프로세스 인 후속 프로세스는 리더가 플러시 작업을 완료 할 때까지 대기합니다..
Commit_Siblings
(Integer
) #수행하기 전에 필요한 최소 동시 공개 트랜잭션 수Commit_Delay
지연. 값이 커지면 지연 간격 동안 적어도 하나의 다른 트랜잭션이 커밋 할 준비가되어있을 가능성이 높습니다.
Checkpoint_Timeout
(Integer
) #자동 스포츠 토토 체크 포인트 사이의 최대 시간. 이 값이 단위없이 지정되면 몇 초 만에 가져옵니다.5min
). 이 매개 변수를 늘리면 충돌 복구에 필요한 시간이 증가 할 수 있습니다.on
파일 또는 서버 명령 줄에.
Checkpoint_Completion_TARGET
(플로팅 포인트
) #체크 포인트 사이의 총 시간의 일부로 체크 포인트 완료의 대상을 지정합니다. 기본값은 0.9로, 사용 가능한 거의 모든 간격에 걸쳐 체크 포인트를 확산시켜 상당히 일관된 I/O로드를 제공하는 동시에 체크 포인트 완료 오버 헤드를 유지합니다.on
파일 또는 서버 명령 줄에.
Checkpoint_flush_after
(Integer
) #체크 포인트를 수행하는 동안이 양의 데이터가 작성 될 때마다 OS가 기본 스토리지에 이러한 글을 발행하도록 강제하려고 시도하십시오. 그렇게하면 커널 페이지 캐시의 더러운 데이터의 양이 제한되어 시점의 가능성을 줄입니다.fsync
는 체크 포인트의 끝에서 또는 OS가 백그라운드에서 더 큰 배치로 데이터를 다시 작성할 때 발행됩니다. 종종 트랜잭션 대기 시간이 크게 줄어들지 만, 특히보다 큰 워크로드가있는 경우도 있습니다.shared_buffers이지만 성능이 저하 될 수있는 OS의 페이지 캐시보다 작습니다. 이 설정은 일부 플랫폼에 영향을 미치지 않을 수 있습니다.blcksz
바이트, 일반적으로 8kb. 유효한 범위는 사이입니다.0
, 강제 쓰기 백을 비활성화하고2MB
. 기본값은256KB
On Linux,0
다른 곳. (만약에blcksz
는 8KB가 아니며 기본 및 최대 값은 비례 적으로 비례 적으로 척도입니다.)이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에.
Checkpoint_warning
(Integer
) #스포츠 토토 세그먼트 파일의 채우기로 인한 체크 포인트 가이 시간보다 가깝게 발생하는 경우 서버 로그에 메시지를 작성합니다 (max_스포츠 토토_size
제기해야합니다). 이 값이 단위없이 지정되면 몇 초 만에 가져옵니다.30S
). 0은 경고를 비활성화합니다.Checkpoint_Timeout
Checkpoint_warning
. 이 매개 변수는에서만 설정할 수 있습니다.on
파일 또는 서버 명령 줄에.
max_스포츠 토토_size
(Integer
) #자동 체크 포인트 중에 스포츠 토토이 성장할 수 있도록 최대 크기. 이것은 소프트 한계입니다.max_스포츠 토토_size
무거운 짐과 같은 특별한 상황에서 실패한archive_command
또는archive_library
또는 High스포츠 토토_Keep_Size
설정. 이 값이 단위없이 지정되면 메가 바이트로 사용됩니다.on
파일 또는 서버 명령 줄에.
min_wal_size
(Integer
) #WAL 디스크 사용 이이 설정 아래에 머무는 한 오래된 WAL 파일은 제거되지 않고 체크 포인트에서 향후 사용하기 위해 항상 재활용됩니다. 예를 들어 대형 배치 작업을 실행할 때 WAL 사용의 스파이크를 처리하기에 충분한 웨일 스페이스가 예약되어 있는지 확인하는 데 사용할 수 있습니다.on
파일 또는 서버 명령 줄에.
archive_mode
(enum
) #언제archive_mode
활성화되고 완성 된 월 세그먼트가 설정하여 아카이브 스토리지로 전송됩니다archive_command또는archive_library. 외에OFF
, 비활성화하려면 두 가지 모드가 있습니다.on
및항상
. 정상 작동 중에는 두 모드간에 차이가 없지만로 설정된 경우항상
WAL Archiver는 아카이브 복구 또는 대기 모드 중에도 활성화되어 있습니다. 안에항상
모드, 아카이브에서 복원되거나 스트리밍 복제로 스트리밍 된 모든 파일이 보관됩니다 (다시). 보다섹션 26.2.9자세한 내용.
archive_mode
별도의 설정입니다archive_command
andarchive_library
그래서archive_command
andarchive_library
아카이빙 모드를 떠나지 않고 변경할 수 있습니다. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.archive_mode
을 활성화 할 수 없습니다.스포츠 토토_level
로 설정되었습니다최소
.
archive_command
(String
) #로컬 쉘 명령을 실행하여 완성 된 스포츠 토토 파일 세그먼트를 보관합니다. 어느%P
문자열에서 파일의 경로 이름으로 아카이브로 대체됩니다.%f
는 파일 이름으로만 대체됩니다. (경로 이름은 서버의 작업 디렉토리, 즉 클러스터의 데이터 디렉토리와 관련이 있습니다.) 사용%%
실제를 포함하려면%
명령의 문자. 명령이 성공한 경우에만 제로 출구 상태를 반환하는 것이 중요합니다.섹션 25.3.1.
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에. 만 사용됩니다.archive_mode
서버 시작 및에서 활성화되었습니다.archive_library
빈 문자열로 설정됩니다. 둘 다archive_command
andarchive_library
설정되어 오류가 발생합니다. 만약에archive_command
| 빈 문자열 (기본값)입니다archive_mode
활성화되었습니다 (및archive_library
는 빈 문자열로 설정되어 있습니다), WAL 아카이빙은 일시적으로 비활성화되었지만 서버는 명령이 곧 제공 될 것으로 예상하여 WAL 세그먼트 파일을 계속 누적합니다. 환경archive_command
예를 들어 True를 반환하는 것 외에는 아무것도하지 않는 명령으로,/bin/true
(rem
on Windows), 아카이브를 효과적으로 비활성화하지만 아카이브 복구에 필요한 책치 파일의 체인을 중단하므로 비정상적인 상황에서만 사용해야합니다.
archive_library
(String
) #완성 된 WAL 파일 세그먼트 아카이브에 사용할 라이브러리. 빈 문자열 (기본값)으로 설정하면 쉘을 통한 아카이브가 활성화되고archive_command사용됩니다. 둘 다archive_command
andarchive_library
설정되어 오류가 발생합니다. 그렇지 않으면 지정된 공유 라이브러리가 보관에 사용됩니다.섹션 25.3.1and49 장.
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에.
archive_timeout
(Integer
) #thearchive_command또는archive_library완성 된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 서버가 WAL 트래픽이 거의 없거나 (또는 그 자체가있는 경우에도 느슨한 기간이있는 경우) 트랜잭션 완료와 아카이브 스토리지에서 안전한 기록 사이에 긴 지연이 발생할 수 있습니다.archive_timeout
서버가 새로운 WAL 세그먼트 파일로 주기적으로 전환하도록 강제합니다. 이 매개 변수가 0보다 크면 서버는 마지막 세그먼트 파일 스위치 이후이 시간이 경과 할 때마다 새 세그먼트 파일로 전환되며 단일 체크 포인트를 포함하여 데이터베이스 활동이 있습니다 (데이터베이스 활동이없는 경우 체크 포인트가 건너 뜁니다).archive_timeout
- 아카이브 스토리지를 팽창시킬 것입니다.archive_timeout
1 분 정도의 설정은 일반적으로 합리적입니다. 데이터를 기본 서버보다 더 빨리 복사하려면 아카이브 대신 스트리밍 복제를 사용하는 것이 좋습니다.on
파일 또는 서버 명령 줄에.
이 섹션은 일반적으로 복구에 적용되는 설정에 대해 설명합니다. 충돌 복구, 스트리밍 복제 및 아카이브 기반 복제에 영향을 미칩니다.
복구 _prefetch
(enum
) #복구 중에 아직 버퍼 풀에없는 스포츠 토토에서 참조 된 블록을 프리치하려고할지 여부. 유효한 값은OFF
, on
andtry
(기본값). 설정try
운영 체제가 제공하는 경우에만 프리 페치 활성화posix_fadvise
기능은 현재 프리 페치 구현에 사용됩니다. 일부 운영 체제는 기능을 제공하지만 아무것도하지 않습니다.
곧 필요한 프리 페치 블록은 일부 워크로드로 복구하는 동안 I/O 대기 시간을 줄일 수 있습니다. 참조 참조스포츠 토토_DECODE_BUFFER_SIZEandMaintending_io_concurrency프리 페치 활동을 제한하는 설정.
스포츠 토토_DECODE_BUFFER_SIZE
(Integer
) #서버가 스포츠 토토에서 얼마나 멀리 볼 수 있는지에 대한 한도, 프리 페치의 블록을 찾으십시오. 이 값이 단위없이 지정되면 바이트로 사용됩니다.
이 섹션에서는 복구 기간에만 적용되는 설정에 대해 설명합니다. 수행하려는 후속 복구에 대해서는 재설정해야합니다.
“복구”서버를 대기로 사용하거나 대상 복구를 실행하기 위해 커버됩니다. 일반적으로 대기 모드는 고 가용성 및/또는 읽기 확장 성을 제공하는 데 사용되는 반면, 대상 복구는 데이터 손실에서 복구하는 데 사용됩니다.
대기 모드에서 서버를 시작하려면라는 파일을 만듭니다.and
데이터 디렉토리에서. 서버가 복구에 들어가고 보관 된 WAL의 끝에 도달하면 복구를 중지하지 않지만에서 지정된대로 전송 서버에 연결하여 계속 복구를 계속하려고합니다.Primary_ConnInfo
새 월 세그먼트를 사용하여 설정 및/또는Restore_command
. 이 모드의 경우이 섹션의 매개 변수 및섹션 19.6.3관심이 있습니다. 의 매개 변수섹션 19.5.6도 적용되지만 일반적 으로이 모드에서는 유용하지 않습니다.
대상 복구 모드에서 서버를 시작하려면라는 파일을 만듭니다.recovery.signal
데이터 디렉토리에서. 둘 다and
andrecovery.signal
파일이 생성되고 대기 모드가 우선합니다. 대상 복구 모드는 보관 된 WAL이 완전히 재생 될 때 또는복구 _target
도달했습니다. 이 모드에서는이 섹션과의 매개 변수입니다.섹션 19.5.6사용됩니다.
Restore_command
(String
) #WAL 파일 시리즈의 보관 된 세그먼트를 검색하기 위해 로컬 쉘 명령을 실행합니다. 이 매개 변수는 아카이브 복구에 필요하지만 스트리밍 복제를위한 선택 사항입니다.%f
문자열에서 아카이브에서 검색 할 파일 이름으로 대체됩니다.%P
서버의 복사 대상 경로 이름으로 대체됩니다. (경로 이름은 현재 작업 디렉토리, 즉 클러스터의 데이터 디렉토리와 관련이 있습니다.)%r
마지막으로 유효한 재시작 지점이 포함 된 파일 이름으로 대체됩니다. 이는 복원을 다시 시작할 수 있도록 유지 해야하는 최초의 파일 이므로이 정보를 사용하여 현재 복원에서 다시 시작하는 데 필요한 최소 값으로 아카이브를 자료화 할 수 있습니다..%r
일반적으로 따뜻한 스탠드 구성에 의해서만 사용됩니다 (참조섹션 26.2). 쓰다%%
실제를 포함하려면%
문자.
명령이 성공한 경우에만 제로 출구 상태를 반환하는 것이 중요합니다. 명령Will아카이브에없는 파일 이름을 요청받을 수 있습니다. 그렇게 요청하면 0이 아닌 반환해야합니다.
Restore_command = 'CP/Mnt/Server/ArchivedIR/%F "%P"'
명령이 신호에 의해 종료 된 경우 (Sigterm, 데이터베이스 서버 종료의 일부로 사용되는 49960_50127 |) 또는 쉘의 오류 (예 : 명령을 찾을 수없는 명령) 오류가 발생하면 복구가 중단되고 서버가 시작되지 않습니다..
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에.
archive_cleanup_command
(String
) #이 선택적 매개 변수는 모든 재시작 지점에서 실행될 쉘 명령을 지정합니다. 의 목적archive_cleanup_command
는 더 이상 대기 서버에서 필요하지 않은 오래된 아카이브 된 월 파일을 정리하는 메커니즘을 제공하는 것입니다. 어느%r
마지막으로 유효한 재시작 지점이 포함 된 파일 이름으로 대체됩니다. 그것이 가장 빠른 파일입니다유지복원을 다시 시작할 수 있도록하기 위해%r
안전하게 제거 될 수 있습니다. 이 정보는 현재 복원에서 다시 시작하는 데 필요한 최소 값으로 아카이브를 자르기 위해 사용될 수 있습니다.PG_ARCHIVECLEANUP모듈은 종종archive_cleanup_command
단일 스탠드 구성의 경우 :
archive_cleanup_command = 'pg_archivecleanup/mnt/server/archivedir %r'
그러나 여러 대기 서버가 동일한 아카이브 디렉토리에서 복원하는 경우 서버가 더 이상 필요하지 않을 때까지 책치 파일이 삭제되지 않도록해야합니다..archive_cleanup_command
일반적으로 따뜻한 스탠드 구성에 사용됩니다 (참조섹션 26.2). 쓰다%%
실제를 포함하려면%
명령의 문자.
명령이 0이 아닌 출구 상태를 반환하면 경고 로그 메시지가 작성됩니다. 명령이 신호 또는 쉘에 의해 오류에 의해 종료 된 경우 (예 : 명령을 찾을 수 없음) 치명적인 오류가 발생한다는 것입니다..
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에.
복구 _end_command
(String
) #이 매개 변수는 복구 종료시에만 한 번만 실행될 쉘 명령을 지정합니다. 이 매개 변수는 선택 사항입니다.복구 _end_command
는 복제 또는 복구 후 청소를위한 메커니즘을 제공하는 것입니다. 어느%r
in과 같이 마지막으로 유효한 재시작 지점을 포함하는 파일의 이름으로 대체됩니다archive_cleanup_command.
명령이 0이 아닌 출구 상태를 반환하면 경고 로그 메시지가 작성되고 데이터베이스가 어쨌든 시작됩니다. 예외적으로 명령이 신호 또는 쉘에 의해 오류 (예 : 명령을 찾을 수 없음)에 의해 종료되면 데이터베이스는 시작을 진행하지 않습니다..
이 매개 변수는에서만 설정할 수 있습니다on
파일 또는 서버 명령 줄에.
기본적으로 WAL 로그의 끝까지 복구가 복구됩니다. 다음 매개 변수를 사용하여 이전 중지점을 지정할 수 있습니다.복구 _target
, 복구 _target_lsn
, 복구 _target_name
, 복구 _target_time
또는복구 _target_xid
사용될 수 있습니다. 구성 파일 에이 중 하나 이상이 지정되면 오류가 발생합니다.
복구 _target
= '즉시'
#이 매개 변수는 일관된 상태에 도달하자마자 복구가 종료되어야한다고 지정합니다. 온라인 백업에서 복원 할 때, 이것은 백업을 취하는 지점을 의미합니다.
기술적으로 이것은 문자열 매개 변수이지만'즉시'
현재 유일하게 허용되는 값입니다.
복구 _target_name
(String
) #이 매개 변수는 명명 된 복원 지점을 지정합니다 (pg_create_restore_point ()
) 복구가 진행되는지
복구 _target_time
(타임 스탬프
) #이 매개 변수는 복구가 진행되는 시간 스탬프를 지정합니다. 정확한 정지 지점도의 영향을받습니다.복구 _target_inclusive.
이 매개 변수의 값은 타임 스탬프입니다.시간대가있는 타임 스탬프
시간대 약어를 사용할 수없는 경우를 제외하고 데이터 유형 (Timezone_abbriations변수는 구성 파일에서 더 일찍 설정되었습니다). 선호하는 스타일은 UTC에서 숫자 오프셋을 사용하는 것입니다. 그렇지 않으면 풀 타임 존 이름 (예 :를 쓸 수 있습니다.Europe/Helsinki
아님eest
.
복구 _target_xid
(String
) #이 매개 변수는 복구가 진행될 트랜잭션 ID를 지정합니다. 트랜잭션 시작시 트랜잭션 ID는 순차적으로 할당되지만 트랜잭션은 다른 숫자 순서로 완료 될 수 있습니다.복구 _target_inclusive.
복구 _target_lsn
(PG_LSN
) #이 매개 변수는 복구가 진행될 쓰기 로그 위치의 LSN을 지정합니다. 정확한 정지 지점도의 영향을받습니다.복구 _target_inclusive. 이 매개 변수는 시스템 데이터 유형을 사용하여 구문 분석PG_LSN
.
다음 옵션은 복구 목표를 더 지정하고 대상에 도달 할 때 발생하는 일에 영향을 미칩니다.
복구 _target_inclusive
(부울
) #지정된 복구 대상 직후에 정지할지 여부를 지정합니다 (on
) 또는 복구 대상 바로 앞 ( 직전OFF
). 에 적용복구 _target_lsn, 복구 _target_time또는복구 _target_xid지정되어 있습니다. 이 설정은 대상 WAL 위치 (LSN), 커밋 시간 또는 트랜잭션 ID를 갖는 트랜잭션이 복구에 포함되어 있는지 여부를 제어합니다.on
.
복구 _target_timeline
(String
) #특정 타임 라인으로 복구를 지정합니다. 값은 숫자 타임 라인 ID 또는 특수 값일 수 있습니다.현재
베이스 백업을 할 때와 동일한 타임 라인을 따라 복구됩니다. 값최신
대기 서버에 유용한 아카이브에있는 최신 타임 라인으로 복구됩니다.최신
기본값입니다.
hexadecimal으로 타임 라인 ID를 지정하려면 (예 : WAL 파일 이름 또는 히스토리 파일에서 추출한 경우) A와 접두사.0x
. 예를 들어 스포츠 토토 파일 이름이 인 경우00000011000000A10000004F
, 그러면 타임 라인 ID가입니다.0x11
(또는 17 소수).
일반적 으로이 매개 변수를 복잡한 재 응집 상황에서만 설정하면됩니다. 보다섹션 25.3.6토론을 위해.
복구 _target_action
(enum
) #복구 대상에 도달하면 서버가 취해야 할 조치를 지정합니다. 기본값은일시 정지
, 이는 회복이 일시 중지된다는 것을 의미합니다.홍보
는 복구 프로세스가 완료되고 서버가 연결을 수락하기 시작합니다. 마지막으로셧다운
복구 대상에 도달 한 후 서버가 중지됩니다.
의도 된 사용일시 정지
설정은 데이터베이스에 대해 쿼리를 실행 하여이 복구 목표가 복구에 가장 바람직한 지점인지 확인하는 것입니다. 일시 정지 상태는 사용하여 재개 될 수 있습니다PG_스포츠 토토_REPLAY_RESUME ()
(참조표 9.97), 이로 인해 회복이 끝납니다. 이 복구 대상이 원하는 중지점이 아닌 경우 서버를 종료하고 복구 대상 설정을 이후 대상으로 변경하고 다시 시작하여 복구를 계속하십시오.
the셧다운
설정은 정확한 재생 지점에서 인스턴스를 준비하는 데 유용합니다. 인스턴스는 여전히 더 많은 WAL 레코드를 재생할 수 있습니다 (실제로 다음에 마지막 체크 포인트가 시작된 이후 WAL 레코드를 재생해야합니다)..
recovery.signal
.복구 _target_action
로 설정되었습니다셧다운
, 구성이 변경되지 않거나가 아니라면 후속 시작은 즉시 종료 된 상태로 끝납니다.recovery.signal
파일이 수동으로 제거되었습니다.
복구 대상이 설정되지 않은 경우이 설정은 영향을 미치지 않습니다. 만약에hot_standby활성화되지 않았으며 설정 설정일시 정지
셧다운
. 프로모션이 진행되는 동안 복구 목표에 도달하면 설정 설정일시 정지
홍보
.
어쨌든 복구 대상이 구성되었지만 대상에 도달하기 전에 아카이브 복구가 종료되면 서버는 치명적인 오류로 종료됩니다..
이 설정은 WAL 요약을 제어합니다.증분 백업.
summarize_스포츠 토토
(부울
) #WAL 요약 프로세스를 활성화합니다. WAL 요약은 기본 또는 대기에서 활성화 될 수 있습니다.on
파일 또는 서버 명령 줄에. 기본값은OFF
.
서버를 시작할 수 없습니다summarize_스포츠 토토 = on
if스포츠 토토_level
로 설정되었습니다최소
. 만약에summarize_스포츠 토토 = on
서버 시작 후 구성스포츠 토토_level = Minimal
55244_55333스포츠 토토_level = Minimal
.
스포츠 토토_SUMMARY_KEEP_TIME
(Integer
) #WAL Summarizer가 자동으로 이전 WAL 요약을 제거한 시간의 양을 구성합니다. 파일 타임 스탬프는 제거하기에 충분히 오래된 파일을 결정하는 데 사용됩니다.on
파일 또는 서버 명령 줄에. 이 값이 단위없이 지정되면 몇 분이 걸립니다.summarize_스포츠 토토 = off
, 스포츠 토토 요약자가 실행되지 않기 때문에이 매개 변수의 값에 관계없이 기존 스포츠 토토 요약은 제거되지 않습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면