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

19.5. 미리 로그 작성

이 설정 조정에 대한 추가 정보는 참조PostgreSQL : 문서 : 12 : 29.4. 무지개 토토 구성.

19.5.1. 설정

Wal_level(enum)

Wal_levelWAL에 얼마나 많은 정보가 기록되어 있는지 결정합니다. 기본값은입니다.복제, 대기 서버에서 읽기 전용 쿼리 실행을 포함하여 WAL 아카이빙 및 복제를 지원하기에 충분한 데이터를 작성합니다.최소충돌 또는 즉시 종료메이저 토토 사이트 복구하는 데 필요한 정보를 제외한 모든 로깅을 제거합니다. 마지막으로,Logical논리적 디코딩을 지원하는 데 필요한 정보가 추가됩니다. 각 레벨에는 모든 낮은 수준으로 기록 된 정보가 포함됩니다. 이 매개 변수는 서버 시작메이저 토토 사이트만 설정할 수 있습니다.

in최소레벨, 일부 대량 조작의 월-로깅을 안전하게 건너 뛸 수있어 해당 작업을 훨씬 더 빨리 만들 수 있습니다 (참조섹션 14.4.7). 이 최적화를 적용 할 수있는 작업에는 다음이 포함됩니다.

테이블 작성
색인 생성
클러스터
COPY동일한 거래메이저 토토 사이트 생성되거나 잘린 테이블로

그러나 최소한의 WAL은 기본 백업 및 WAL 로그에서 데이터를 재구성하기에 충분한 정보가 포함되어 있지 않으므로복제이상을 사용하여 WAL 아카이빙 (을 활성화해야합니다.archive_mode) 및 스트리밍 복제.

in논리레벨, 동일한 정보가복제, WAL에서 논리적 변경 세트를 추출하는 데 필요한 정보와 함께. 수준 사용Logical특히 많은 테이블이 구성된 경우 WAL 볼륨이 증가합니다.복제 아이덴티티 전체그리고 많은업데이트and삭제진술이 실행되었습니다.

9.6 이전 릴리스 에서이 매개 변수도 값을 허용했습니다아카이브andhot_standby. 이것들은 여전히 ​​받아 들여지지 만복제.

fsync(부울)

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

끄는 동안fsync종종 성능 이점이므로 정전 또는 시스템 충돌시 정복 할 수없는 데이터 손상이 발생할 수 있습니다. 따라서 끄는 것이 좋습니다fsync외부 데이터메이저 토토 사이트 전체 데이터베이스를 쉽게 재현 할 수있는 경우

끄기위한 안전한 상황의 예fsync백업 파일에서 새 데이터베이스 클러스터의 초기로드, 데이터베이스를 처리하기 위해 데이터베이스 클러스터를 사용하여 데이터베이스가 버리고 재현되거나, 자주 재현되고 실패한 데 사용되지 않는 읽기 전용 데이터베이스 클론을 위해 데이터베이스 클러스터를 사용합니다. 고품질 하드웨어만으로는 전원을 끄는 데 충분한 정당성이 아닙니다fsync.

변경시 신뢰할 수있는 복구의 경우fsyncOFF TO ON에서 커널의 모든 수정 된 버퍼를 내구성있는 저장소로 강제해야합니다. 클러스터가 종료되는 동안 또는 기간이를 수행 할 수 있습니다.fsync실행 중initdb--sync-dily, Runningsync, 파일 시스템을 마치거나 서버 재부팅.

많은 상황메이저 토토 사이트 끄기synchronous_commit비정규 거래의 경우 끄는 잠재적 성능 이점의 상당 부분을 제공 할 수 있습니다fsync, 데이터 손상의 견인 위험없이.

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

synchronous_commit(enum)

데이터베이스 서버가 a를 반환하기 전에 WAL 처리가 얼마나 완료되어야하는지 지정합니다.성공클라이언트에 대한 표시. 유효한 값은Remote_apply, on(기본값),Remote_write, LocalOFF.

ifsynchronous_standby_names비어 있고, 유일한 의미있는 설정은입니다.onandOFF;Remote_apply, Remote_writeandLocal모두 동일한 로컬 동기화 레벨을 제공합니다.on. 모든 비의 지역 행동OFF모드는 WAL의 로컬 플러시를 디스크로 기다리는 것입니다. 안에OFF모드, 대기가 없으므로 클라이언트에게 성공이보고 될 때와 트랜잭션이 서버 충돌에 대해 안전하게 보장되는 시점 사이에 지연 될 수 있습니다. (최대 지연은 세 번Wal_writer_delay.)와 달리fsync,이 매개 변수 설정off데이터베이스 불일치 위험을 초래하지 않습니다 : 운영 체제 또는 데이터베이스 충돌로 인해 최근 일부 커뮤니케이션 트랜잭션이 손실 될 수 있지만 데이터베이스 상태는 해당 트랜잭션이 깨끗하게 중단 된 경우와 동일합니다. 그래서, 회전synchronous_commitOFF는 거래의 내구성에 대한 정확한 확실성보다 성능이 더 중요한 경우 유용한 대안이 될 수 있습니다. 자세한 내용은 참조PostgreSQL : 문서 : 12 : 29.3. 비동기 메이저 토토 사이트.

ifsynchronous_standby_names비어 있지 않아synchronous_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

WAL_SYNC_METHOD(enum)

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

  • Open_DatasyncOpen ()옵션O_DSYNC)

  • fdatasync(Callfdatasync ()각 커밋메이저 토토 사이트)

  • fsync(Callfsync ()각 커밋메이저 토토 사이트)

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

  • Open_SyncOpen ()옵션O_SYNC)

theOpen_* 옵션도 사용o_direct사용 가능한 경우. 이러한 모든 선택이 모든 플랫폼에서 사용할 수있는 것은 아닙니다. 기본값은 위의 목록에서 플랫폼에서 지원하는 첫 번째 방법입니다.fdatasync는 Linux 및 FreeBSD의 기본값입니다. 기본값이 반드시 이상적인 것은 아닙니다. 충돌 안전 구성을 만들거나 최적의 성능을 달성하기 위해이 설정 또는 시스템 구성의 다른 측면을 변경해야 할 수도 있습니다. 이러한 측면은에서 논의됩니다.PostgreSQL : 문서 : 12 : 29.1. 스포츠 토토 베트맨 수 있음. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

full_page_writes(부울)

이 매개 변수가 켜져 있으면PostgreSQLServer는 체크 포인트 후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 WAL에 씁니다. 운영 체제 충돌 중에 처리중인 페이지 쓰기가 부분적으로 만 완료 될 수 있으므로 구식 및 새 데이터가 혼합되어있는 온 디스크 페이지로 이어질 수 있기 때문에 이는 필요합니다. WAL에 정상적으로 저장된 행 수준 변경 데이터는 충돌 후 복구 중에 그러한 페이지를 완전히 복원하기에 충분하지 않습니다. 전체 페이지 이미지를 저장하면 페이지를 올바르게 복원 할 수 있지만 WAL에 작성 해야하는 데이터의 양을 인상하는 대가로 보장됩니다. (Wal Replay는 항상 체크 포인트메이저 토토 사이트 시작하기 때문에 체크 포인트 후 각 페이지의 첫 번째 변경 중에이를 수행하는 것으로 충분합니다. 따라서 전체 페이지 쓰기 비용을 줄이는 한 가지 방법은 체크 포인트 간격 매개 변수를 늘리는 것입니다.).

이 매개 변수를 끄면 정상 작동 속도를 끄려면 시스템 고장 후 복귀 할 수없는 데이터 손상 또는 무음 데이터 손상으로 이어질 수 있습니다. 위험은 끄는 것과 비슷합니다fsync, 더 작지만 해당 매개 변수에 권장되는 것과 동일한 상황에 따라 꺼져야합니다.

이 매개 변수를 끄는 것은 PITR (Point-in-Time Recovery)을위한 WAL 아카이빙 사용에 영향을 미치지 않습니다 (참조토토 커뮤니티 PostgreSQL : 문서 : 12 : 25.3. 연속 보관 및 시점 복구 (PITR)).

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

Wal_log_hints(부울)

이 매개 변수 일 때on, ThePostgreSQLServer는 체크 포인트 이후 해당 페이지의 첫 번째 수정 중에 각 디스크 페이지의 전체 내용을 WAL에 씁니다.

29005_29222

이 매개 변수는 서버 시작시에만 설정할 수 있습니다. 기본값은입니다.OFF.

Wal_compression(부울)

이 매개 변수 일 때on, ThePostgreSQL서버는 WAL에 작성된 전체 페이지 이미지를 압축합니다full_page_writes베이스 백업 중 또는 중이 중입니다. WAL 재생 중에 압축 페이지 이미지가 압축 해제됩니다. 기본값은입니다.OFF. 수퍼 유저만이 설정을 변경할 수 있습니다.

이 매개 변수를 켜는이 매개 변수를 켜는 것은 정찰 할 수없는 데이터 손상의 위험을 증가시키지 않으면 서 WAL 볼륨을 줄일 수 있지만 WAL 로깅 중 압축에 소비 된 추가 CPU 비용과 WAL 재생 중 감압에 소요됩니다.

Wal_init_zero(부울)

로 설정된 경우on(기본값)이 옵션으로 인해 새 WAL 파일이 0으로 채워집니다. 일부 파일 시스템에서는 WAL 레코드를 작성하기 전에 공간이 할당되도록합니다. 하지만,Copy-on-Write(COW) 파일 시스템은이 기술의 혜택을받지 못할 수 있으므로 불필요한 작업을 건너 뛰는 옵션이 제공됩니다. 로 설정된 경우OFF, 파일이 생성 될 때 최종 바이트 만 작성되어 예상 크기가 표시됩니다.

Wal_Recycle(부울)

로 설정된 경우on(기본값),이 옵션은 새 옵션을 바꾸어 새 버전을 생성 할 필요가 없어 버드 파일을 이름 바꾸면 재활용합니다. Cow 파일 시스템에서는 새 시스템을 만드는 것이 더 빠를 수 있으므로이 동작을 비활성화하기위한 옵션이 제공됩니다.

Wal_buffers(정수)

아직 디스크에 기록되지 않은 WAL 데이터에 사용되는 공유 메모리의 양. -1의 기본 설정은의 1/32 (약 3%)와 같은 크기를 선택합니다.shared_buffers, 그러나64KB또는 하나의 WAL 세그먼트의 크기 이상, 일반적으로16MB. 자동 선택이 너무 크거나 너무 작지만이 값은 수동으로 설정할 수 있지만보다 양수 값이32KB|32KB. 이 값이 단위없이 지정되면 WAL 블록으로 간주됩니다.XLOG_BLCKSZ바이트, 일반적으로 8kb. 이 매개 변수는 서버 시작메이저 토토 사이트만 설정할 수 있습니다.

WAL 버퍼의 내용은 모든 트랜잭션 커밋메이저 토토 사이트 디스크에 기록되므로 매우 큰 값은 상당한 이점을 제공하지 않을 것입니다. 그러나이 값을 적어도 몇 메가 바이트로 설정하면 많은 고객이 한 번에 커밋하는 바쁜 서버메이저 토토 사이트 쓰기 성능을 향상시킬 수 있습니다. -1의 기본 설정으로 선택한 자동 조정은 대부분의 경우 합리적인 결과를 제공해야합니다.

Wal_writer_delay(정수)

WAL Writer가 시간 용어로 WAL을 얼마나 자주 플러시하는지 지정합니다. wall을 플러싱 한 후 작가는 |Wal_writer_delay. 마지막 플러시가 ~보다 적은 일이 발생하면Wal_writer_delayWal_writer_flush_afterWal of Wal은 이후로 생산 된 이후로 WAL은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 이 값이 단위없이 지정되면 밀리 초로 간주됩니다. 기본값은 200 밀리 초입니다 (200ms). 많은 시스템에서 수면 지연의 효과적인 해상도는 10 밀리 초입니다. 환경Wal_writer_delay10의 배수가 아닌 값으로 10의 더 높은 배수로 설정과 동일한 결과를 가질 수 있습니다.이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

Wal_writer_flush_After(Integer)

WAL Writer가 WAL을 얼마나 자주 플러시하는 빈도를 지정합니다. 마지막 플러시가 ~보다 적은 일이 발생하면Wal_writer_delayWal_writer_flush_AfterWal of Wal은 이후로 생산 된 이후로 WAL은 디스크로 플러시되지 않은 운영 체제에만 기록됩니다. 만약에Wal_writer_flush_after로 설정되었습니다0그런 다음 WAL 데이터는 항상 즉시 플러시됩니다. 이 값이 단위없이 지정되면 WAL 블록으로 간주됩니다.XLOG_BLCKSZ바이트, 일반적으로 8kb. 기본값은1MB. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

Commit_Delay(Integer)

설정Commit_DelayWAL 플러시가 시작되기 전에 시간 지연을 추가합니다. 이는 시스템 부하가 주어진 간격 내메이저 토토 사이트 추가 트랜잭션이 커밋 될 수있을 정도로 높은 경우 단일 월 플러시를 통해 더 많은 수의 트랜잭션이 커밋 할 수 있도록하여 그룹 커밋 처리량을 향상시킬 수 있습니다. 그러나 대기 시간도까지 증가합니다.Commit_Delay각 월 플러시마다. 다른 거래가 커밋 할 준비가되지 않으면 지연이 낭비되기 때문에 최소한 지연이 수행됩니다.Commit_Siblings플러시가 시작될 때 다른 트랜잭션이 활성화됩니다. 또한 지연이 수행되지 않음fsync비활성화되었습니다. 이 값이 단위없이 지정되면 마이크로 초로 간주됩니다. 기본값Commit_Delay는 0입니다 (지연 없음). 수퍼 유저만이 설정을 변경할 수 있습니다.

inPostgreSQL9.3 이전의 릴리스,Commit_Delay다르게 행동하고 훨씬 덜 효과적이었습니다. 모든 월 플러시보다는 커밋에만 영향을 미쳤으며 WAL 플러시가 더 빨리 완료 되더라도 구성된 전체 지연을 기다렸습니다. 시작PostgreSQL9.3, 구성된 구간을 대기 할 준비가 된 첫 번째 프로세스 인 후속 프로세스는 리더가 플러시 작업을 완료 할 때까지 대기합니다..

Commit_Siblings(정수)

수행하기 전에 필요한 최소 동시 공개 트랜잭션 수Commit_Delay지연. 값이 커지면 지연 간격 동안 적어도 하나의 다른 트랜잭션이 커밋 할 준비가되어있을 가능성이 높습니다. 기본값은 5 개의 거래입니다.

19.5.2. 검문소

Checkpoint_Timeout(정수)

자동 WAL 체크 포인트 사이의 최대 시간. 이 값이 단위없이 지정되면 몇 초 만에 가져옵니다. 유효한 범위는 30 초메이저 토토 사이트 하루 사이입니다. 기본값은 5 분입니다 (5min). 이 매개 변수를 늘리면 충돌 복구에 필요한 시간이 증가 할 수 있습니다. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

Checkpoint_Completion_TARGET(플로팅 포인트)

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

checkpoint_flush_after(Integer)

체크 포인트를 수행하는 동안이 양의 데이터보다 더 많은 데이터가 작성 될 때마다 OS가 기본 스토리지에 이러한 글을 발행하도록 강제 시도하십시오. 그렇게하면 커널 페이지 캐시의 더러운 데이터의 양이 제한되어 시점의 가능성을 줄입니다.fsync는 체크 포인트의 끝메이저 토토 사이트 또는 OS가 백그라운드메이저 토토 사이트 더 큰 배치로 데이터를 다시 작성할 때 발행됩니다. 종종 트랜잭션 대기 시간이 크게 줄어들지 만, 특히보다 큰 워크로드가있는 경우도 있습니다.shared_buffers이지만 성능이 저하 될 수있는 OS의 페이지 캐시보다 작습니다. 이 설정은 일부 플랫폼에 영향을 미치지 않을 수 있습니다. 이 값이 단위없이 지정되면 블록으로 간주됩니다.blcksz바이트, 일반적으로 8kb. 유효한 범위는 사이입니다.0, 강제 쓰기 백을 비활성화하고2MB. 기본값은256KBOn Linux,0다른 곳. (만약에blcksz는 8KB가 아니며 기본 및 최대 값은 비례 적으로 비례합니다.)이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

Checkpoint_warning(정수)

WAL 세그먼트 파일의 채우기로 인한 체크 포인트 가이 시간보다 더 가깝게 발생하는 경우 서버 로그에 메시지를 작성합니다 (max_wal_size제기해야합니다). 이 값이 단위없이 지정되면 몇 초 만에 가져옵니다. 기본값은 30 초입니다 (30S). 0은 경고를 비활성화합니다. 이면 경고가 발생하지 않습니다.Checkpoint_TimeoutCheckpoint_warning. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

max_wal_size(정수)

자동 체크 포인트 중에 WAL이 성장할 수 있도록 최대 크기. 이것은 소프트 한계입니다. 월 크기를 초과 할 수 있습니다max_wal_size무거운 짐, 실패와 같은 특별한 상황메이저 토토 사이트archive_command또는 HighWal_keep_segments설정. 이 값이 단위없이 지정되면 메가 바이트로 사용됩니다. 기본값은 1GB입니다. 이 매개 변수를 늘리면 충돌 복구에 필요한 시간이 증가 할 수 있습니다. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

min_wal_size(정수)

WAL 디스크 사용 이이 설정 아래에 머무는 한 오래된 WAL 파일은 항상 제거되지 않고 체크 포인트에서 향후 사용하기 위해 재활용됩니다. 예를 들어 대형 배치 작업을 실행할 때 WAL 사용의 스파이크를 처리하기에 충분한 웨일 스페이스가 예약되어 있는지 확인하는 데 사용할 수 있습니다. 이 값이 단위없이 지정되면 메가 바이트로 사용됩니다. 기본값은 80MB입니다. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

19.5.3. 아카이빙

archive_mode(enum)

언제archive_mode활성화되고 완성 된 월 세그먼트가 설정하여 아카이브 스토리지로 전송됩니다archive_command. 외에OFF, 비활성화하려면 두 가지 모드가 있습니다.on항상. 정상 작동 중에는 두 모드간에 차이가 없지만로 설정된 경우항상WAL Archiver는 아카이브 복구 또는 대기 모드에서도 활성화되어 있습니다. 안에항상모드, 아카이브에서 복원되거나 스트리밍 복제로 스트리밍 된 모든 파일이 보관됩니다 (다시). 보다섹션 26.2.9자세한 내용.

archive_modeandarchive_command별도의 변수이므로archive_command아카이빙 모드를 떠나지 않고 변경할 수 있습니다. 이 매개 변수는 서버 시작메이저 토토 사이트만 설정할 수 있습니다.archive_mode을 활성화 할 수 없습니다.Wal_level로 설정되었습니다최소.

archive_command(String)

완성 된 WAL 파일 세그먼트를 보관하기 위해 실행하는 로컬 쉘 명령. 어느%P문자열의 파일의 경로 이름으로 아카이브로 대체됩니다.%f는 파일 이름으로만 대체됩니다. (경로 이름은 서버의 작업 디렉토리, 즉 클러스터의 데이터 디렉토리와 관련이 있습니다.) 사용%%실제를 포함하려면%명령의 문자. 명령이 성공한 경우에만 제로 출구 상태를 반환하는 것이 중요합니다. 자세한 내용은 참조섹션 25.3.1.

이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에. 이 아니라면 무시됩니다.archive_mode서버 스타트메이저 토토 사이트 활성화되었습니다. 만약에archive_command| 비어있는 문자열 (기본값)입니다archive_mode가 활성화되어 있으며, WAL 아카이브는 일시적으로 비활성화되었지만 서버는 명령이 곧 제공 될 것으로 예상하여 WAL 세그먼트 파일을 계속 축적합니다. 환경archive_command예를 들어 True를 반환하는 것 외에는 아무것도하지 않는 명령으로,/bin/true(remWindows에서)는 효과적으로 아카이브를 비활성화하지만 아카이브 복구에 필요한 책치 파일의 체인을 깨뜨려면 비정상적인 상황에서만 사용해야합니다.

archive_timeout(정수)

thearchive_command완성 된 WAL 세그먼트에 대해서만 호출됩니다. 따라서 서버가 WAL 트래픽이 거의 없거나 (또는 ​​그 자체가있는 경우에도 느슨한 기간이있는 경우) 트랜잭션 완료와 아카이브 스토리지에서 안전한 기록 사이에 긴 지연이 발생할 수 있습니다. 구식의 구식 데이터를 제한하려면 설정할 수 있습니다archive_timeout서버가 새로운 WAL 세그먼트 파일로 주기적으로 전환하도록 강제합니다. 이 매개 변수가 0보다 크면 서버는 마지막 세그먼트 파일 스위치 이후이 시간이 경과 할 때마다 새 세그먼트 파일로 전환되며 단일 체크 포인트를 포함하여 데이터베이스 활동이 있습니다 (데이터베이스 활동이없는 경우 체크 포인트가 건너 뜁니다). 강제 스위치로 인해 조기에 닫힌 아카이브 된 파일은 여전히 ​​완전히 전체 파일과 같은 길이입니다. 따라서 매우 짧은 것을 사용하는 것은 현명하지 않습니다archive_timeout- 아카이브 스토리지를 팽창시킬 것입니다.archive_timeout1 분 정도의 설정은 일반적으로 합리적입니다. 마스터 서버에서 데이터를 그보다 더 빨리 복사하려면 아카이브 대신 스트리밍 복제를 사용하는 것이 좋습니다. 이 값이 단위없이 지정되면 몇 초 만에 가져옵니다. 이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

19.5.4. 아카이브 복구

이 섹션에서는 복구 기간에만 적용되는 설정에 대해 설명합니다. 수행하려는 후속 복구에 대해서는 재설정해야합니다.

복구서버를 대기로 사용하거나 대상 복구를 실행하기 위해 커버됩니다. 일반적으로 대기 모드는 고 가용성 및/또는 읽기 확장 성을 제공하는 데 사용되는 반면, 대상 복구는 데이터 손실에서 복구하는 데 사용됩니다.

대기 모드메이저 토토 사이트 서버를 시작하려면라는 파일을 만듭니다.standby.signal데이터 디렉토리에서. 서버가 복구에 들어가고 보관 된 WAL의 끝에 도달하면 복구를 중지하지 않지만에서 지정된대로 전송 서버에 연결하여 계속 복구를 계속하려고합니다.Primary_ConnInfo새 월 세그먼트를 사용하여 설정 및/또는Restore_Command. 이 모드의 경우이 섹션의 매개 변수 및섹션 19.6.3관심이 있습니다. 의 매개 변수섹션 19.5.5도 적용되지만 일반적 으로이 모드메이저 토토 사이트는 유용하지 않습니다.

대상 복구 모드에서 서버를 시작하려면라는 파일을 만듭니다.복구 .signal데이터 디렉토리메이저 토토 사이트. 둘 다standby.signaland복구 .signal파일이 생성되고 대기 모드가 우선합니다. 대상 복구 모드는 보관 된 WAL이 완전히 재생 될 때 또는복구 _target도달했습니다. 이 모드메이저 토토 사이트는이 섹션과의 매개 변수입니다.섹션 19.5.5사용됩니다.

Restore_command(String)

로컬 쉘 명령을 실행하여 WAL 파일 시리즈의 보관 된 세그먼트를 검색합니다. 이 매개 변수는 아카이브 복구에 필요하지만 스트리밍 복제를위한 선택 사항입니다. 어느%f문자열에서 아카이브에서 검색 할 파일 이름으로 대체됩니다.%p서버의 복사 대상 경로 이름으로 대체됩니다. (경로 이름은 현재 작업 디렉토리, 즉 클러스터의 데이터 디렉토리와 관련이 있습니다.)%r마지막으로 유효한 재시작 지점이 포함 된 파일 이름으로 대체됩니다. 이는 복원을 다시 시작할 수 있도록 유지 해야하는 최초의 파일 이므로이 정보를 사용하여 현재 복원에서 다시 시작하는 데 필요한 최소 값으로 아카이브를 자료화 할 수 있습니다..%r일반적으로 따뜻한 스탠드 구성에 의해서만 사용됩니다 (참조PostgreSQL : 문서 : 12 : 26.2. 로그쉽 롤 토토 서버). 쓰다%%실제를 포함하려면%문자.

명령이 성공한 경우에만 제로 종료 상태를 반환하는 것이 중요합니다. 명령Will아카이브에없는 파일 이름을 요청받을 수 있습니다. 그렇게 요청하면 0이 아닌 반환해야합니다. 예 :

Restore_command = 'CP/Mnt/Server/ArchivedIR/%F "%P"'
restore_command = 'copy "c : \\ server \\ archivedir \\%f" "%p"' # windows

명령이 신호에 의해 종료 된 경우 (.sigterm, 데이터베이스 서버 종료의 일부로 사용되는 53546_53715 |) 또는 쉘의 오류 (예 : 명령을 찾을 수없는 명령) 오류가 발생하면 복구가 중단되고 서버가 시작되지 않습니다..

이 매개 변수는 서버 시작시에만 설정할 수 있습니다.

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일반적으로 따뜻한 스탠드 구성에 사용됩니다 (참조PostgreSQL : 문서 : 12 : 26.2. 로그쉽 롤 토토 서버). 쓰다%%실제를 포함하려면%명령의 문자.

명령이 0이 아닌 출구 상태를 반환하면 경고 로그 메시지가 작성됩니다. 명령이 신호 또는 쉘에 의해 오류에 의해 종료 된 경우 (예 : 명령을 찾을 수 없음) 치명적인 오류가 발생한다는 것입니다..

이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

복구 _end_command(String)

이 매개 변수는 복구 종료시에만 한 번만 실행될 쉘 명령을 지정합니다. 이 매개 변수는 선택 사항입니다. 의 목적Recovery_end_command는 복제 또는 복구 후 청소를위한 메커니즘을 제공하는 것입니다. 어느%rin과 같이 마지막으로 유효한 재시작 지점을 포함하는 파일의 이름으로 대체됩니다archive_cleanup_command.

명령이 0이 아닌 출구 상태를 반환하면 경고 로그 메시지가 작성되고 데이터베이스가 어쨌든 시작됩니다. 예외적으로 명령이 신호 또는 쉘에 의해 오류 (예 : 명령을 찾을 수 없음)에 의해 종료되면 데이터베이스는 시작을 진행하지 않습니다..

이 매개 변수는메이저 토토 사이트만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령 줄에.

19.5.5. 회복 목표

기본적으로 복구는 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 또는 특수 값일 수 있습니다. 값현재베이스 백업을 할 때와 동일한 타임 라인을 따라 복구됩니다. 값최신대기 서버에 유용한 아카이브에있는 최신 타임 라인으로 복구됩니다.최신기본값입니다.

일반적 으로이 매개 변수를 복잡한 재 교체 상황에서만 설정하면됩니다. 보다섹션 25.3.5토론을 위해.

복구 _target_action(enum)

복구 대상에 도달하면 서버가 취해야 할 조치를 지정합니다. 기본값은일시 정지, 이는 회복이 일시 중지된다는 것을 의미합니다.홍보는 복구 프로세스가 완료되고 서버가 연결을 수락하기 시작합니다. 마지막으로셧다운복구 대상에 도달 한 후 서버를 중지합니다.

의도 된 사용일시 정지설정은 데이터베이스에 대해 쿼리를 실행 하여이 복구 대상이 복구에 가장 바람직한 지점인지 확인하는 것입니다. 일시 정지 상태는 사용하여 재개 될 수 있습니다PG_WAL_REPLAY_RESUME ()(참조표 9.86), 이로 인해 회복이 끝납니다. 이 복구 대상이 원하는 중지점이 아닌 경우 서버를 종료하고 복구 대상 설정을 이후 대상으로 변경하고 다시 시작하여 복구를 계속하십시오.

the셧다운설정은 정확한 재생 지점에서 인스턴스를 준비하는 데 유용합니다. 인스턴스는 여전히 더 많은 WAL 레코드를 재생할 수 있습니다 (실제로 다음에 마지막 체크 포인트가 시작된 이후 WAL 레코드를 재생해야합니다)..

recovery.signal.복구 _target_action로 설정되었습니다셧다운, 구성이 변경되지 않거나가 아니라면 후속 시작은 즉시 종료되었습니다.복구 .signal파일이 수동으로 제거됩니다.

이 설정은 복구 대상이 설정되지 않은 경우 효과가 없습니다. 만약에hot_standby활성화되지 않은 상태, 설정 설정일시 정지셧다운.