이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 19.6. 스포츠 토토 베트맨버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

18.6. 토토 핫

이 설정은 내장된 동작을 제어합니다스트리밍 토토 핫기능(참조섹션 25.2.5). 서버는 마스터 또는 대기 서버가 됩니다. 마스터는 데이터를 보낼 수 있는 반면 대기는 항상 토토 핫된 데이터의 수신자입니다. 계단식 토토 핫 시(참조섹션 25.2.7)을 사용하면 대기 서버도 수신자일 뿐만 아니라 발신자가 될 수도 있습니다. 매개변수는 주로 송신 및 대기 서버용이지만 일부 매개변수는 마스터 서버에서만 의미가 있습니다. 필요한 경우 설정은 클러스터 전체에서 문제 없이 달라질 수 있습니다.

18.6.1. 보내는 서버

이러한 매개변수는 하나 이상의 대기 서버에 토토 핫 데이터를 보내는 모든 서버에서 설정할 수 있습니다. 마스터는 항상 송신 서버이므로 이러한 매개변수는 항상 마스터에서 설정되어야 합니다. 이러한 매개변수의 역할과 의미는 대기가 마스터가 된 후에도 변경되지 않습니다.

max_wal_senders (정수)

대기 서버 또는 스트리밍 기반 백업 클라이언트의 최대 동시 연결 수를 지정합니다(즉, 동시에 실행되는 WAL 발신자 프로세스의 최대 수). 기본값은 0이며, 이는 복제가 비활성화되었음을 의미합니다. WAL 발신자 프로세스는 총 연결 수에 포함되므로 매개변수를 다음보다 높게 설정할 수 없습니다.max_connections. 갑작스러운 스트리밍 클라이언트 연결 해제로 인해 제한 시간에 도달할 때까지 연결 슬롯이 분리될 수 있으므로 이 매개 변수는 예상되는 최대 클라이언트 수보다 약간 높게 설정되어야 연결이 끊어진 클라이언트가 즉시 다시 연결할 수 있습니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.wal_level다음으로 설정되어야 함아카이브또는 그 이상으로 대기 서버로부터의 연결을 허용합니다.

max_replication_slots (정수)

토토 핫 슬롯의 최대 수를 지정합니다(참조섹션 25.2.6) 서버가 지원할 수 있습니다. 기본값은 0입니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.wal_level다음으로 설정되어야 함아카이브이상에서는 복제 슬롯을 사용할 수 있습니다. 현재 존재하는 복제 슬롯 수보다 낮은 값으로 설정하면 서버가 시작되지 않습니다.

wal_keep_segments (정수)

다음에 보관된 과거 로그 파일 세그먼트의 최소 수를 지정합니다.pg_xlog디렉토리, 대기 서버가 스트리밍 토토 핫를 위해 가져와야 하는 경우. 각 세그먼트는 일반적으로 16MB입니다. 송신 서버에 연결된 대기 서버가 다음 이상으로 뒤처지는 경우wal_keep_segments세그먼트를 사용하는 경우 송신 서버는 대기 서버에 여전히 필요한 WAL 세그먼트를 제거할 수 있으며, 이 경우 복제 연결이 종료됩니다. 결과적으로 다운스트림 연결도 결국 실패하게 됩니다. (단, 대기 서버는 WAL 아카이빙을 사용하는 경우 아카이브에서 세그먼트를 가져와서 복구할 수 있습니다.)

이것은 보관된 최소 세그먼트 수만 설정합니다.pg_xlog; 시스템은 WAL 보관을 위해 더 많은 세그먼트를 유지하거나 체크포인트에서 복구해야 할 수도 있습니다. 만약에wal_keep_segments이 ​​0(기본값)이면 시스템은 대기 목적으로 추가 세그먼트를 유지하지 않으므로 대기 서버에서 사용할 수 있는 이전 WAL 세그먼트 수는 이전 체크포인트 위치와 WAL 아카이브 상태에 따라 달라집니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

wal_sender_timeout (정수)

지정된 밀리초보다 오랫동안 비활성 상태인 토토 핫 연결을 종료합니다. 이는 송신 서버가 대기 충돌 또는 네트워크 중단을 감지하는 데 유용합니다. 값이 0이면 시간 초과 메커니즘이 비활성화됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 60초입니다.

18.6.2. 마스터 서버

이러한 매개변수는 하나 이상의 대기 서버에 토토 핫 데이터를 보내는 마스터/기본 서버에 설정할 수 있습니다. 이러한 매개변수 외에도wal_level마스터 서버에서 적절하게 설정되어야 하며 선택적으로 WAL 보관도 활성화할 수 있습니다(참조섹션 18.5.3). 대기 서버에서 이러한 매개변수의 값은 관련이 없지만 대기 서버가 마스터가 될 가능성에 대비하여 설정하는 것이 좋습니다.

synchronous_standby_names (문자열)

지원할 수 있는 대기 이름의 쉼표로 구분된 목록을 지정합니다.동기 토토 핫, 설명된 대로섹션 25.2.8. 언제든지 최대 하나의 활성 동기 대기가 있습니다. 커밋을 기다리는 트랜잭션은 대기 서버가 데이터 수신을 확인한 후 진행이 허용됩니다. 동기 대기는 현재 연결되어 있고 실시간으로 데이터를 스트리밍하는 이 목록에 명명된 첫 번째 대기입니다(상태로 표시됨).스트리밍에서pg_stat_replication보기). 이 목록의 뒷부분에 나타나는 다른 대기 서버는 잠재적인 동기 대기 서버를 나타냅니다. 어떤 이유로든 현재 동기 대기의 연결이 끊어지면 즉시 다음 우선 순위의 대기로 교체됩니다. 대기 이름을 두 개 이상 지정하면 가용성이 매우 높아질 수 있습니다.

이 목적을 위한 대기 서버의 이름은 다음과 같습니다.응용프로그램_이름에 설정된 대로 대기 설정primary_conninfo대기 WAL 수신기의. 고유성을 적용하는 메커니즘이 없습니다. 중복되는 경우 일치하는 대기 중 하나가 동기 대기로 선택되지만 정확히 어느 것인지는 불확실합니다. 특별 항목*모든 항목과 일치응용프로그램_이름(기본 애플리케이션 이름 포함)월리시버.

여기에 동기 대기 이름이 지정되지 않으면 동기 토토 핫가 활성화되지 않으며 트랜잭션 커밋은 복제를 기다리지 않습니다. 이것이 기본 구성입니다. 동기 토토 핫가 활성화된 경우에도 개별 트랜잭션은 다음을 설정하여 복제를 기다리지 않도록 구성할 수 있습니다.동기_커밋매개변수 ~현지또는꺼짐.

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

vacuum_defer_cleanup_age (정수)

트랜잭션 수를 지정합니다.진공그리고업데이트는 데드 로우 버전 정리를 연기합니다. 기본값은 0 트랜잭션입니다. 즉, 데드 행 버전은 가능한 한 빨리, 즉 열려 있는 트랜잭션에 더 이상 표시되지 않는 즉시 제거될 수 있습니다. 설명된 대로 상시 대기 서버를 지원하는 기본 서버에서 이 값을 0이 아닌 값으로 설정할 수 있습니다.와이즈 토토 PostgreSQL : 문서 : 9.4 : 핫 스탠드. 이렇게 하면 행의 조기 정리로 인해 충돌이 발생하지 않고 대기 쿼리가 완료되는 데 더 많은 시간이 허용됩니다. 그러나 이 값은 기본 서버에서 발생하는 쓰기 트랜잭션 수를 기준으로 측정되므로 대기 쿼리에 사용할 수 있는 추가 유예 시간이 얼마나 될지 예측하기 어렵습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

설정도 고려해야 합니다.hot_standby_feedback이 매개변수를 사용하는 대신 대기 서버에.

18.6.3. 대기 서버

이 설정은 토토 핫 데이터를 수신하는 대기 서버의 동작을 제어합니다. 마스터 서버의 값은 관련이 없습니다.

hot_standby (부울)

에 설명된 대로 복구 중에 연결하고 쿼리를 실행할 수 있는지 여부를 지정합니다.와이즈 토토 PostgreSQL : 문서 : 9.4 : 핫 스탠드. 기본값은꺼짐. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다. 아카이브 복구 또는 대기 모드에서만 효과가 있습니다.

max_standby_archive_delay (정수)

상시 대기가 활성화되면 이 매개변수는 다음에 설명된 대로 적용할 WAL 항목과 충돌하는 대기 쿼리를 취소하기 전에 대기 서버가 대기해야 하는 시간을 결정합니다.섹션 25.5.2. max_standby_archive_delayWAL 아카이브에서 WAL 데이터를 읽을 때 적용됩니다(따라서 최신이 아님). 기본값은 30초입니다. 지정되지 않은 경우 단위는 밀리초입니다. -1 값을 사용하면 대기는 충돌하는 쿼리가 완료될 때까지 영원히 기다릴 수 있습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

참고max_standby_archive_delay는 취소되기 전에 쿼리를 실행할 수 있는 최대 시간과 동일하지 않습니다. 오히려 이는 하나의 WAL 세그먼트 데이터를 적용하는 데 허용되는 최대 총 시간입니다. 따라서 하나의 쿼리로 인해 WAL 세그먼트 초기에 상당한 지연이 발생한 경우 후속 충돌 쿼리는 유예 시간이 훨씬 짧아집니다.

max_standby_streaming_delay (정수)

상시 대기가 활성화되면 이 매개변수는 다음에 설명된 대로 곧 적용될 WAL 항목과 충돌하는 대기 쿼리를 취소하기 전에 대기 서버가 대기해야 하는 시간을 결정합니다.섹션 25.5.2. max_standby_streaming_delayWAL 데이터가 스트리밍 토토 핫를 통해 수신될 때 적용됩니다. 기본값은 30초입니다. 지정되지 않은 경우 단위는 밀리초입니다. -1 값을 사용하면 대기는 충돌하는 쿼리가 완료될 때까지 영원히 기다릴 수 있습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

참고하세요max_standby_streaming_delay은 쿼리가 취소되기 전에 실행할 수 있는 최대 시간과 동일하지 않습니다. 오히려 이는 기본 서버에서 WAL 데이터를 수신한 후 적용하는 데 허용되는 최대 총 시간입니다. 따라서 하나의 쿼리로 인해 상당한 지연이 발생한 경우 후속 충돌 쿼리는 대기 서버가 다시 따라잡을 때까지 유예 시간이 훨씬 짧아집니다.

wal_receiver_status_interval (정수)

복제 진행에 대한 정보를 기본 또는 업스트림 대기로 보내기 위해 대기의 WAL 수신기 프로세스에 대한 최소 빈도를 지정합니다. 여기서는 다음을 사용하여 볼 수 있습니다.pg_stat_replication보기. 대기는 자신이 작성한 마지막 트랜잭션 로그 위치, 디스크에 플러시한 마지막 위치 및 적용된 마지막 위치를 보고합니다. 이 매개변수의 값은 보고서 간의 최대 간격(초)입니다. 쓰기 또는 플러시 위치가 변경될 때마다 또는 적어도 이 매개변수에 지정된 만큼 자주 업데이트가 전송됩니다. 따라서 적용 위치는 실제 위치보다 약간 뒤처질 수 있습니다. 이 매개변수를 0으로 설정하면 상태 업데이트가 완전히 비활성화됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 10초입니다.

hot_standby_feedback (부울)

상시 대기가 대기에서 현재 실행 중인 쿼리에 대한 피드백을 기본 또는 업스트림 대기로 보낼지 여부를 지정합니다. 이 매개변수를 사용하면 정리 레코드로 인한 쿼리 취소를 제거할 수 있지만 일부 워크로드의 경우 기본 데이터베이스가 팽창할 수 있습니다. 피드백 메시지는 한 번 이상 자주 전송되지 않습니다.wal_receiver_status_interval. 기본값은꺼짐. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

다단계 복제가 사용 중이면 피드백은 최종적으로 기본에 도달할 때까지 업스트림으로 전달됩니다. 대기 상태에서는 업스트림을 전달하는 것 외에 받은 피드백을 다른 용도로 사용하지 않습니다.

wal_receiver_timeout (정수)

지정된 밀리초보다 오랫동안 비활성 상태인 복제 연결을 종료합니다. 이는 수신 대기 서버가 기본 노드 충돌 또는 네트워크 중단을 감지하는 데 유용합니다. 값이 0이면 시간 초과 메커니즘이 비활성화됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 60초입니다.