| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 25장. 높음 가용성, 부하 분산 및 복제 | 토토 꽁 머니 : 문서 : 9.3 : Failover | |
지속적인 보관을 사용하여 다음을 생성할 수 있습니다.고가용성(HA) 클러스터 구성 하나 이상윈 토토 서버취할 준비가 되었습니다 기본 서버에 장애가 발생하면 초과 작업을 수행합니다. 이 기능은 널리 알려져 있음따뜻한 윈 토토또는로그 전달.
기본 및 윈 토토 서버는 함께 작동하여 이를 제공합니다. 하지만 서버는 느슨하게 결합되어 있습니다. 그만큼 기본 서버는 연속 보관 모드로 작동하지만 각 서버는 윈 토토 서버는 연속 복구 모드로 작동하여 기본의 WAL 파일입니다. 데이터베이스 테이블에 대한 변경 사항은 없습니다. 이 기능을 활성화하는 데 필요하므로 관리 비용이 적게 듭니다. 다른 복제 솔루션과 비교하여 오버헤드가 발생합니다. 이것 구성은 성능에 상대적으로 낮은 영향을 미칩니다. 기본 서버입니다.
WAL 레코드를 한 데이터베이스 서버에서 다른 데이터베이스 서버로 직접 이동 일반적으로 로그 전달로 설명됩니다.PostgreSQL파일 기반 로그 전달 구현 WAL 레코드를 한 번에 하나의 파일(WAL 세그먼트)로 전송합니다. 월 파일(16MB)을 어떤 거리에서도 쉽고 저렴하게 배송할 수 있으며, 인접한 시스템이든, 동일한 다른 시스템이든 상관없습니다. 사이트 또는 지구 반대편에 있는 다른 시스템. 대역폭 이 기술에 필요한 것은 거래에 따라 다릅니다. 기본 서버의 속도입니다. 기록 기반 로그 전달이 더 좋습니다. 세분화되어 네트워크를 통해 WAL 변경 사항을 점진적으로 스트리밍합니다. 연결(참조섹션 25.2.5).
로그 전달은 비동기식이라는 점에 유의해야 합니다. WAL 레코드는 트랜잭션 커밋 후에 배송됩니다. 결과적으로, 기본 서버에 문제가 발생할 경우 데이터가 손실될 가능성이 있습니다. 치명적인 실패; 아직 배송되지 않은 거래는 손실됩니다. 파일 기반 로그 전달의 데이터 손실 창 크기는 다음과 같습니다. 의 사용으로 제한됨archive_timeout매개변수는 몇 초 정도로 낮게 설정할 수 있습니다. 그러나 그러한 낮게 설정하면 필요한 대역폭이 크게 늘어납니다. 파일 배송. 스트리밍 복제(참조섹션 25.2.5) 훨씬 더 작은 데이터 손실 기간을 허용합니다.
복구 성능이 충분히 우수하여 대기 상태가 일반적으로 완전한 가용성이 확보되면 단 몇 분만에 완전한 가용성을 얻을 수 있습니다. 활성화되었습니다. 결과적으로 이를 웜 대기라고 합니다. 고가용성을 제공하는 구성입니다. 서버 복원 아카이브된 기본 백업에서 롤포워드하는 데 상당한 시간이 소요됩니다. 더 길어지므로 해당 기술은 재해에 대한 솔루션만 제공합니다. 고가용성이 아닌 복구. 윈 토토 서버도 사용 가능 읽기 전용 쿼리의 경우 핫 스탠바이(Hot Standby)라고 합니다. 섬기는 사람. 보다스포츠 토토 베트맨 : 문서 : 9.3 : 핫 스포츠 토토 베트맨더 보기 정보.
일반적으로 기본 및 윈 토토 서버를 생성하는 것이 현명합니다. 적어도 관점에서는 그것들이 가능한 한 유사하다는 것 데이터베이스 서버의. 특히, 연관된 경로 이름은 테이블스페이스가 있는 테이블스페이스는 수정되지 않은 상태로 전달되므로 두 기본 모두 및 윈 토토 서버는 테이블스페이스에 대해 동일한 마운트 경로를 가져야 합니다. 해당 기능을 사용하는 경우. 다음과 같은 경우에 유의하세요.테이블스페이스 생성다음 날짜에 실행됩니다. 기본에 필요한 새 마운트 지점을 생성해야 합니다. 명령이 실행되기 전에 기본 및 모든 윈 토토 서버. 하드웨어가 완전히 동일할 필요는 없지만 경험에 따르면 두 개의 동일한 시스템을 유지하는 것이 두 개의 시스템을 유지하는 것보다 쉽습니다. 애플리케이션과 시스템의 수명 동안 서로 다른 것. ~ 안에 어떤 경우에도 하드웨어 아키텍처는 동일해야 합니다 — 배송 예를 들어 32비트에서 64비트 시스템으로는 작동하지 않습니다.
일반적으로 서로 다른 메이저를 실행하는 서버 간의 로그 전달PostgreSQL릴리스 레벨이 아님 가능한. PostgreSQL 글로벌 개발의 정책입니다. 마이너 릴리스 동안 디스크 형식을 변경하지 않는 그룹 업그레이드하므로 다른 마이너 릴리스를 실행할 가능성이 높습니다. 기본 및 윈 토토 서버의 수준이 성공적으로 작동합니다. 그러나 이에 대한 공식적인 지원은 제공되지 않으며 귀하에게 권고됩니다. 기본 및 윈 토토 서버를 동일한 릴리스 수준으로 유지합니다. 가능한 한 많이. 새로운 마이너 릴리스로 업데이트할 때 가장 안전한 방법은 정책은 윈 토토 서버를 먼저 업데이트하는 것입니다 — 새로운 마이너 릴리스 이전 마이너의 WAL 파일을 읽을 수 있을 가능성이 더 높습니다. 그 반대의 경우보다 릴리스하십시오.
대기 모드에서 서버는 수신된 WAL을 지속적으로 적용합니다. 마스터 서버에서. 윈 토토 서버는 WAL에서 WAL을 읽을 수 있습니다. 아카이브(참조restore_command) 또는 TCP 연결을 통해 마스터에서 직접(스트리밍 복제). 윈 토토 서버는 또한 모든 항목을 복원하려고 시도합니다. 대기 클러스터에서 WAL이 발견되었습니다.pg_xlog디렉토리. 이는 일반적으로 다음 이후에 발생합니다. 서버 재시작, 윈 토토 서버가 WAL을 다시 재생하면 다시 시작하기 전에 마스터에서 스트리밍할 수도 있지만 파일을 수동으로 복사하세요.pg_xlog언제든지 다시 재생할 시간입니다.
시작 시 윈 토토는 사용 가능한 모든 WAL을 복원하여 시작됩니다. 아카이브 위치, 호출restore_command. WAL의 끝에 도달하면 거기에서 사용 가능하며restore_command실패, 에서 사용 가능한 모든 WAL을 복원하려고 시도합니다.pg_xlog디렉토리. 실패하면 스트리밍 복제가 구성되었으면 대기가 연결을 시도합니다. 기본 서버에 접속하고 마지막 유효 서버부터 WAL 스트리밍을 시작합니다. 아카이브에서 레코드가 발견되었습니다. 또는pg_xlog. 만약에 실패했거나 스트리밍 복제가 구성되지 않았거나 나중에 연결이 끊어지면 윈 토토는 1단계로 돌아갑니다. 아카이브에서 파일을 다시 복원하려고 시도합니다. 이 루프는 아카이브에서 재시도합니다.pg_xlog그리고 스트리밍 복제를 통해 서버가 중지될 때까지 계속됩니다. 장애 조치는 트리거 파일에 의해 트리거됩니다.
윈 토토 모드가 종료되고 서버가 정상 모드로 전환됩니다 언제 작동pg_ctl 승격실행되거나 트리거 파일을 찾았습니다(trigger_file). 장애 조치 전에 아카이브 또는에서 즉시 사용할 수 있는 모든 WALpg_xlog복원되지만 시도는 없습니다. 마스터에 연결되도록 만들어졌습니다.
기본에서 아카이브로 연속 아카이브 설정 설명된 대로 윈 토토에서 액세스할 수 있는 디렉터리입니다.섹션 24.3. 아카이브 위치 마스터가 다운된 경우에도 대기에서 액세스할 수 있어야 합니다. 즉, 윈 토토 서버 자체 또는 다른 서버에 있어야 합니다. 마스터 서버가 아닌 신뢰할 수 있는 서버입니다.
스트리밍 복제를 사용하려면 인증을 설정하세요 기본 서버에서 복제 연결을 허용하려면 윈 토토 서버; 즉, 역할을 만들고 적절한 역할을 제공합니다. 항목 또는 항목pg_hba.conf와 함께 데이터베이스 필드가로 설정됨복제. 또한 보장하다max_wal_senders다음으로 설정되었습니다. 기본 구성 파일의 값이 충분히 큽니다. 섬기는 사람.
설명된 대로 기본 백업을 수행섹션 24.3.2윈 토토 서버를 부트스트랩합니다.
윈 토토 서버를 설정하려면 다음에서 가져온 기본 백업을 복원하십시오. 기본 서버(참조섹션 24.3.4). 복구 명령 파일 생성recovery.conf윈 토토 클러스터 데이터 디렉토리를 선택하고 켜십시오.윈 토토_모드. 세트restore_command간단한 명령으로 WAL 아카이브에서 파일을 복사합니다. 여러개 가질 계획이라면 고가용성을 위한 윈 토토 서버 설정recovery_target_timeline에최신, 윈 토토 서버가 다음을 따르도록 합니다. 다른 대기 모드로의 장애 조치 시 발생하는 타임라인 변경입니다.
참고:pg_standby 또는 유사한 도구를 다음과 함께 사용하지 마십시오. 여기에 설명된 내장 대기 모드가 있습니다.restore_command다음 경우 즉시 반환해야 합니다. 파일이 존재하지 않습니다. 다음과 같은 경우 서버는 명령을 다시 시도합니다. 필요한. 보다PostgreSQL : 문서 : 9.3 : 로그 배송을위한 대체 토토 결과pg_standby와 같은 도구를 사용하기 위한 것입니다.
스트리밍 복제를 사용하려면 다음을 입력하세요.primary_conninfolibpq 연결 문자열을 사용하여, 호스트 이름(또는 IP 주소) 및 추가 세부정보 포함 기본 서버에 연결하는 데 필요합니다. 기본에 필요한 경우 인증을 위한 비밀번호, 비밀번호는에 지정되어야 합니다.primary_conninfo또한.
고가용성을 위해 윈 토토 서버를 설정하는 경우 목적에 따라 WAL 보관, 연결 및 인증을 설정합니다. 윈 토토 서버는 기본 서버로 작동하므로 장애 조치 후 기본 서버입니다.
WAL 아카이브를 사용하는 경우 다음을 사용하여 크기를 최소화할 수 있습니다. 그만큼archive_cleanup_command매개변수를 사용하여 더 이상 필요하지 않은 파일을 제거합니다. 윈 토토 서버. 그만큼pg_archivecleanup유틸리티가 설계되었습니다 특별히 함께 사용됩니다archive_cleanup_command일반적인 단일 윈 토토 모드에서 구성, 참조PostgreSQL : 문서 :. 그러나 만약에 백업 목적으로 아카이브를 사용하고 있으므로 보관해야 합니다. 최소한 최신 기본 백업에서 복구하는 데 필요한 파일 대기 상태에서 더 이상 필요하지 않은 경우.
a의 간단한 예recovery.conf다음과 같습니다:
standby_mode = '켜짐' Primary_conninfo = '호스트=192.168.1.50 포트=5432 사용자=foo 비밀번호=foopass' Restore_command = 'cp /path/to/archive/%f %p' archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r'
당신은 윈 토토 서버를 얼마든지 가질 수 있지만, 스트리밍 복제를 설정했는지 확인하세요.max_wal_senders기본에서 허용할 만큼 충분히 높음 동시에 연결됩니다.
스트리밍 복제를 통해 윈 토토 서버가 더 오래 머물 수 있도록 합니다. 파일 기반 로그 전달을 통해 가능한 것보다 최신 상태로 유지됩니다. 그만큼 대기는 기본에 연결되어 WAL 레코드를 스트리밍합니다. WAL 파일이 생성될 때까지 기다리지 않고 생성되는 동안 대기합니다. 채워지세요.
스트리밍 복제는 기본적으로 비동기식입니다(참조섹션 25.2.7), 이 경우 트랜잭션 커밋 사이에 약간의 지연이 있습니다. 기본에서는 변경 사항이 대기에서는 표시됩니다. 그러나 이 지연은 파일 기반 로그보다 훨씬 작습니다. 배송, 일반적으로 대기 상태를 가정하면 1초 미만 부하를 감당할 만큼 강력합니다. 스트리밍으로 복제,archive_timeout아님 데이터 손실 기간을 줄이는 데 필요합니다.
파일 기반 연속 없이 스트리밍 복제를 사용하는 경우 보관하려면 설정해야 합니다.wal_keep_segments마스터에서 높은 값으로 오래된 WAL 세그먼트가 너무 일찍 재활용되지 않도록 보장하기에 충분합니다. 대기자는 따라잡기 위해 여전히 필요할 수 있습니다. 대기상태라면 너무 많이 뒤처져 있으므로 새 베이스에서 다시 초기화해야 합니다. 지원. 다음에서 액세스할 수 있는 WAL 아카이브를 설정하는 경우 대기,wal_keep_segments필요하지 않음 윈 토토자는 항상 아카이브를 사용하여 따라잡을 수 있습니다.
스트리밍 복제를 사용하려면 파일 기반 로그 전달을 설정하십시오 설명된 윈 토토 서버PostgreSQL : 문서 : 9.3 : 로그 선집 윈 토토 서버. 파일 기반 로그 전달 대기 상태로 전환하는 단계 스트리밍 복제 대기로 설정 중입니다.primary_conninfo설정recovery.conf파일이 기본 서버를 가리킵니다. 세트listen_addresses및 인증 옵션(참조pg_hba.conf)를 기본에 설치하여 대기 서버는 다음에 연결할 수 있습니다.복제기본 서버의 의사 데이터베이스(참조섹션 25.2.5.1).
킵얼라이브 소켓 옵션을 지원하는 시스템에서 설정tcp_keepalives_idle, tcp_keepalives_interval그리고tcp_keepalives_count기본 장치가 끊어진 연결을 즉시 발견하도록 돕습니다.
다음에서 최대 동시 연결 수를 설정합니다. 윈 토토 서버(참조max_wal_senders자세한 내용은).
윈 토토 시작 시primary_conninfo올바르게 설정되면 대기 모드가 사용 가능한 모든 WAL 파일을 재생한 후 기본에 연결합니다. 아카이브. 연결이 성공적으로 이루어졌다면, 대기 상태에서 월리시버 프로세스를 볼 수 있으며 해당 프로세스는 기본 프로세스의 walsender 프로세스입니다.
복제를 위한 접근 권한이 매우 중요합니다 신뢰할 수 있는 사용자만 WAL 스트림을 읽을 수 있도록 설정해야 합니다. 왜냐하면 그로부터 특권적인 정보를 추출하는 것이 쉽기 때문입니다. 윈 토토 서버는 기본 서버에 수퍼유저로 인증해야 합니다. 다음이 있는 계정:복제특권. 전용 사용자 계정을 생성하는 것이 좋습니다 와 함께복제그리고로그인복제 권한. 하는 동안복제권한은 매우 높은 권한을 부여합니다. 사용자가 기본 데이터베이스의 데이터를 수정하는 것을 허용하지 않습니다. 시스템은수퍼유저특권 하다.
복제를 위한 클라이언트 인증은 다음에 의해 제어됩니다.pg_hba.conf레코드 지정복제에서데이터베이스필드. 예를 들어, 대기 상태인 경우 호스트 IP에서 실행 중입니다.192.168.1.100그리고 복제할 계정 이름은 다음과 같습니다.foo, 관리자는 다음 줄을에 추가할 수 있습니다.pg_hba.conf기본 파일:
# 호스트 192.168.1.100의 사용자 "foo"가 기본 호스트에 연결하도록 허용 # 사용자의 비밀번호가 올바르게 제공되면 복제 대기로 사용됩니다. # # 유형 데이터베이스 사용자 주소 방법 호스트 복제 foo 192.168.1.100/32 md5
기본 연결 사용자의 호스트 이름 및 포트 번호 이름 및 비밀번호는에 지정됩니다.recovery.conf파일. 비밀번호는 에서도 설정할 수 있습니다. 그만큼~/.pgpass윈 토토 중인 파일 (구체적으로)복제에서데이터베이스필드). 예를 들어 기본 호스트 IP에서 실행 중입니다.192.168.1.50, 포트5432, 복제할 계정 이름은foo, 비밀번호는foopass, 관리자는 다음을 추가할 수 있습니다. 에 대한 줄recovery.conf파일에 윈 토토:
# 대기는 호스트 192.168.1.50에서 실행 중인 기본에 연결됩니다. # 및 포트 5432는 비밀번호가 "foopass"인 사용자 "foo"입니다. Primary_conninfo = '호스트=192.168.1.50 포트=5432 사용자=foo 비밀번호=foopass'
스트리밍 복제의 중요한 상태 지표는
기본에서 생성되었지만 아직 적용되지 않은 WAL 레코드의 양
대기 중. 현재를 비교하여 이 지연을 계산할 수 있습니다.
마지막 WAL 위치가 있는 기본 데이터베이스의 WAL 쓰기 위치
대기자가 받았습니다. 다음을 사용하여 검색할 수 있습니다.pg_current_xlog_location기본 및pg_last_xlog_receive_location에
각각 윈 토토(참조표 9-61그리고표 9-62자세한 내용은). 대기의 마지막 WAL 수신 위치도
WAL 수신자 프로세스의 프로세스 상태에 표시되며,
를 사용하여 표시ps명령(참조토토 사이트 추천 : 문서 : 9.3 : 표준 유닉스 도구자세한 내용은).
당신은 다음을 통해 WAL 발신자 프로세스 목록을 검색할 수 있습니다.pg_stat_replication보기. 큰 차이
사이pg_current_xlog_location그리고sent_location필드는 다음을 나타낼 수 있습니다.
마스터 서버는 과부하 상태이고, 차이점은 다음과 같습니다.sent_location그리고pg_last_xlog_receive_location윈 토토 중
네트워크 지연을 나타내거나 윈 토토 상태가 과중함을 나타낼 수 있습니다.
짐.
계단식 복제 기능을 사용하면 윈 토토 서버가 다음을 수행할 수 있습니다. 복제 연결을 수락하고 WAL 레코드를 다른 사용자에게 스트리밍합니다. 대기하며 중계 역할을 합니다. 숫자를 줄이는 데 사용할 수 있습니다. 마스터에 직접 연결하고 사이트 간을 최소화합니다. 대역폭 오버헤드.
수신자와 발신자 역할을 모두 수행하는 대기는 계단식 대기. 보다 직접적으로 연결된 대기 마스터는 업스트림 서버로 알려져 있고 윈 토토 서버는 더 멀리에는 다운스트림 서버가 있습니다. 계단식 복제는 그렇지 않습니다. 다운스트림 서버의 수 또는 배열에 제한을 두십시오. 각 윈 토토 서버는 단 하나의 업스트림 서버에만 연결됩니다. 결국 단일 마스터/기본 서버에 연결됩니다.
계단식 대기는 다음에서 받은 WAL 레코드뿐만 아니라 마스터뿐만 아니라 아카이브에서 복원된 것도 포함됩니다. 그래서 설사 일부 업스트림 연결의 복제 연결이 종료되었습니다. 스트리밍 복제는 새로운 WAL이 있는 한 다운스트림으로 계속됩니다. 기록이 가능합니다.
계단식 복제가 현재 비동기식입니다. 동기식 복제(참조섹션 25.2.7) 설정은 현재 계단식 복제에 영향을 미치지 않습니다.
핫 윈 토토 피드백은 계단식 연결에 관계없이 업스트림으로 전파됩니다. 준비.
업스트림 윈 토토 서버가 새로운 마스터로 승격되면, 다운스트림 서버는 다음과 같은 경우 새 마스터에서 계속 스트리밍됩니다.recovery_target_timeline다음으로 설정됨'최신'.
계단식 복제를 사용하려면 계단식 대기를 설정하여 복제 연결을 허용할 수 있음(즉, setmax_wal_senders그리고hot_standby, 그리고 구성토토 PostgreSQL : 문서 : 9.3 : PG_HBA.conf 파일). 또한 설정해야 합니다.primary_conninfo다운스트림 대기에서 포인트로 계단식 대기 상태로 전환됩니다.
포스트그레SQL스트리밍 복제는 기본적으로 비동기식입니다. 기본 서버인 경우 충돌이 발생하면 커밋된 일부 트랜잭션이 작동하지 않을 수 있습니다. 윈 토토 서버로 복제되어 데이터가 손실되었습니다. 그만큼 데이터 손실량은 복제 지연에 비례합니다. 장애 조치 시간입니다.
동기 복제는 모든 거래로 인한 변경 사항이 하나의 거래로 이전되었습니다. 동기 윈 토토 서버. 이는 표준 수준을 확장합니다. 트랜잭션 커밋을 통해 제공되는 내구성. 이 수준의 컴퓨터 과학에서는 보호를 2-안전 복제라고 합니다. 이론.
동기 복제를 요청할 때 각 쓰기 커밋은 거래는 확인이 수신될 때까지 기다립니다. 커밋이 두 디스크의 트랜잭션 로그에 기록되었습니다. 기본 및 윈 토토 서버. 데이터가 될 수 있는 유일한 가능성 손실은 기본 및 대기 모두에서 충돌이 발생하는 경우입니다. 같은 시간. 훨씬 더 높은 내구성을 제공할 수 있으며, 하지만 시스템 관리자가 배치에 대해 주의를 기울이고 두 서버의 관리. 확인 대기 시간이 늘어납니다. 변경 사항이 손실되지 않을 것이라는 사용자의 확신 서버 충돌이 발생하는 경우에도 필연적으로 증가합니다. 요청 트랜잭션에 대한 응답 시간입니다. 최소 대기 시간 기본에서 대기까지의 왕복 시간입니다.
읽기 전용 트랜잭션 및 트랜잭션 롤백은 기다릴 필요가 없습니다. 윈 토토 서버의 응답을 위해. 하위 트랜잭션 커밋은 그렇지 않습니다. 윈 토토 서버의 응답을 기다립니다. 최상위 수준 커밋만 기다립니다. 데이터 로드 또는 인덱스 구축과 같은 장기 실행 작업은 마지막 커밋 메시지가 나올 때까지 기다리세요. 모든 2단계 커밋 작업에는 준비 및 준비를 모두 포함하여 커밋 대기가 필요합니다. 저지르다.
스트리밍 복제가 구성되면 구성 동기 복제에는 하나의 추가 구성만 필요합니다. 단계:synchronous_standby_names비어 있지 않은 값으로 설정되어야 합니다.동기_커밋또한 다음으로 설정되어야 합니다.켜짐, 그러나 이것이 기본값이므로 일반적으로 변경이 필요하지 않습니다. (보다섹션 18.5.1그리고섹션 18.6.2.) 이 구성을 사용하면 각 커밋이 윈 토토가 커밋을 작성했다는 확인을 기다립니다. 내구성 있는 저장소에 기록하세요.동기_커밋개별 사용자가 설정할 수 있으며, 특히 구성 파일에서 구성할 수 있습니다. 사용자나 데이터베이스 또는 애플리케이션별로 동적으로 트랜잭션별로 내구성 보장을 제어합니다.
커밋 레코드가 기본 디스크에 기록된 후, 그런 다음 WAL 레코드가 대기 상태로 전송됩니다. 대기가 응답을 보냅니다 새로운 WAL 데이터 배치가 디스크에 기록될 때마다 메시지가 표시됩니다. 하지 않는 한wal_receiver_status_interval설정됨 대기 상태에서 0으로 설정합니다. 대기가 첫 번째 일치하는 경우 대기, 지정된 대로synchronous_standby_names기본적으로 응답 해당 대기의 메시지는 대기 중인 사용자를 깨우는 데 사용됩니다. 커밋 레코드가 수신되었음을 확인합니다. 이것들 매개변수를 통해 관리자는 윈 토토 서버를 지정할 수 있습니다. 동기 대기 상태여야 합니다. 구성은 다음과 같습니다. 동기 복제는 주로 마스터에서 이루어집니다. 명명된 대기 마스터에 직접 연결되어야 합니다. 주인은 아무것도 몰라 계단식 복제를 사용하는 다운스트림 윈 토토 서버에 대해 설명합니다.
설정동기_커밋에remote_write각 커밋은 다음을 수행하게 됩니다. 대기가 커밋을 수신했다는 확인을 기다립니다. 기록하고 자체 운영 체제에 기록합니다. 대기 디스크에 플러시할 데이터입니다. 이 설정 보다 약한 내구성 보장을 제공합니다.켜짐그렇습니다: 대기 장치는 다음의 데이터를 잃을 수 있습니다. 운영 체제 충돌이 발생한 경우(a는 아님)포스트그레SQL충돌. 그러나 그것은 유용합니다. 실제로 설정하면 응답 시간이 단축될 수 있기 때문입니다. 거래. 데이터 손실은 기본 및 대기 충돌이 발생하고 기본 데이터베이스가 손상됩니다. 동시.
빠른 종료가 요청되면 사용자는 대기를 중지합니다. 그러나 비동기 복제를 사용할 때와 마찬가지로 서버는 모든 미해결 WAL 기록이 완료될 때까지 완전히 종료되지 않음 현재 연결된 윈 토토 서버로 전송됩니다.
동기 복제는 일반적으로 신중하게 계획하고 애플리케이션이 적절하게 작동하는지 확인하기 위해 윈 토토 서버를 배치했습니다. 대기는 시스템 리소스를 활용하지 않지만 트랜잭션 잠금을 사용합니다. 전송이 확정될 때까지 계속 보류됩니다. 결과적으로, 동기 복제를 부주의하게 사용하면 성능이 저하됩니다. 응답 시간 증가로 인해 데이터베이스 애플리케이션의 경우 더 높은 경합.
PostgreSQL허용합니다 애플리케이션 개발자는 다음을 통해 필요한 내구성 수준을 지정합니다. 복제. 이는 시스템 전체에 대해 지정할 수 있지만 특정 사용자나 연결에 대해 지정할 수도 있습니다. 개별 거래.
예를 들어, 애플리케이션 작업 로드는 다음으로 구성될 수 있습니다: 변경 사항은 중요한 고객 세부 정보이며 변경 사항의 90%는 덜 중요한 데이터라면 비즈니스가 더 쉽게 생존할 수 있습니다. 사용자 간 채팅 메시지 등이 손실됩니다.
동기 복제 옵션이 다음 위치에 지정되어 있습니다. 애플리케이션 수준(기본)에서 동기식을 제공할 수 있습니다. 속도 저하 없이 가장 중요한 변경 사항에 대한 복제 전체 작업량의 대부분을 차지합니다. 애플리케이션 수준 옵션은 이점을 허용하는 중요하고 실용적인 도구 고성능 애플리케이션을 위한 동기식 복제.
네트워크 대역폭이 더 높아야 한다는 점을 고려해야 합니다. WAL 데이터 생성 속도보다.
커밋이 이루어진 경우동기_커밋이다 으로 설정됨켜짐또는remote_write동기 대기가 될 때까지 기다립니다 응답합니다. 마지막 또는 유일한 경우에는 응답이 절대 발생하지 않을 수 있습니다. 대기가 중단되어야 합니다.
데이터 손실을 방지하기 위한 최선의 해결책은 마지막 남은 동기 대기를 잃습니다. 이것은 달성될 수 있다 다음을 사용하여 여러 잠재적 동기 대기의 이름을 지정합니다.synchronous_standby_names. 첫 번째 명명된 윈 토토 동기 윈 토토로 사용됩니다. 이 이후에 윈 토토 목록이 표시됩니다. 첫 번째 경우 동기 윈 토토 역할을 대신합니다. 실패해야 합니다.
대기 장치가 기본 장치에 처음 연결되면 아직 연결되지 않습니다. 제대로 동기화되었습니다. 이는 다음과 같이 설명됩니다.따라잡기모드. 일단 윈 토토와 윈 토토 사이의 지연 처음으로 실시간으로 전환할 때 기본이 0에 도달함스트리밍상태. 따라잡는 기간은 다음과 같습니다. 대기가 생성된 직후에는 오래 기다려야 합니다. 만약 대기가 종료되면 따라잡기 기간이 늘어납니다. 대기가 중단된 시간에 따라. 그만큼 대기는 일단 동기화된 후에만 동기 대기가 될 수 있습니다. 도달했다스트리밍상태.
커밋이 기다리는 동안 기본이 다시 시작되는 경우 승인을 받으면 대기 중인 트랜잭션이 완전히 표시됩니다. 기본 데이터베이스가 복구되면 커밋됩니다. 그럴 리가 없지 모든 대기 장치가 미해결 WAL 데이터를 모두 수신했음을 확신합니다. 기본 충돌 시간. 일부 거래는 다음과 같이 표시되지 않을 수 있습니다. 대기 모드에서는 커밋된 것으로 표시되지만 대기 모드에서는 커밋됩니다. 주요한. 우리가 제공하는 보증은 응용 프로그램이 성공적인 커밋에 대한 명시적인 승인을 받습니다. WAL 데이터가 안전하게 수신되었다고 확인될 때까지 거래 대기.
마지막 윈 토토 서버가 정말로 손실되었다면 다음을 수행해야 합니다. 장애를 입히다synchronous_standby_names그리고 기본 서버에서 구성 파일을 다시 로드합니다.
기본 서버가 나머지 윈 토토 서버로부터 격리되면 남은 다른 후보 중 가장 적합한 후보로 장애 조치해야 합니다. 윈 토토 서버.
트랜잭션이 진행되는 동안 윈 토토 서버를 다시 생성해야 하는 경우 기다리면서 pg_start_backup() 명령과 pg_stop_backup()은 다음 세션에서 실행됩니다.동기_커밋 = 꺼짐, 그렇지 않으면 해당 요청은 윈 토토 서버가 완료될 때까지 영원히 기다리게 됩니다. 나타나다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 다른 것의 비교 솔루션 | 위로 | 장애 조치 |