가입자 노드가 게시자 노드가 다운 된 경우에도 게시자 노드에서 데이터를 계속 스포츠 토토 할 수 있도록하는 것은 게시자 노드에 해당하는 물리적 대기가 있어야합니다. 구독에 해당하는 기본 서버의 논리 슬롯을 지정하여 대기 서버와 동기화 할 수 있습니다failover = true
구독을 만들 때. 보다섹션 47.2.3자세한 내용. 활성화Failover
매개 변수는 대기가 홍보 된 후 해당 구독의 원활한 전환을 보장합니다. 그들은 새로운 기본 서버에서 출판물을 계속 구독 할 수 있습니다.
슬롯 동기화 로직이 비동기로 복사되므로 장애 조치가 발생하기 전에 스포츠 토토 슬롯이 대기 서버에 동기화되었음을 확인해야합니다. 성공적인 장애 조치를 보장하려면 대기 서버가 가입자보다 앞서 있어야합니다. 이것은 구성하여 달성 할 수 있습니다synchronized_standby_slots
.
대기 서버가 주어진 가입자에 대한 장애 조치 준비가되었음을 확인하려면 다음 단계를 따라 가입자가 요구하는 모든 논리적 스포츠 토토 슬롯이 대기 서버와 동기화되었는지 확인하십시오.
가입자 노드에서 다음 SQL을 사용하여 홍보하려는 대기와 동기화 해야하는 스포츠 토토 슬롯을 식별하십시오. 이 쿼리는 장애 조치 지원 구독과 관련된 관련 스포츠 토토 슬롯을 반환합니다.
/ * sub # */ select Array_agg (QUOTE_LITERAL (S.SUBSLOTNAME)) 슬롯으로 pg_subscription s에서 S.Subfailover 및 s.subslotname은 null이 아닙니다. 슬롯 ------- 'sub1', 'sub2', 'sub3'
가입자 노드에서 다음 SQL을 사용하여 홍보 할 대기와 동기화 해야하는 테이블 동기화 슬롯을 식별하십시오. 이 쿼리는 Failover 지원 구독이 포함 된 각 데이터베이스에서 실행해야합니다. 테이블 동기 슬롯은 테이블 사본이 완료된 경우에만 대기 서버에 동기화해야합니다 (참조젠 스포츠 토토 : 문서 : 18 : 52.55. pg_subscription_rel). 테이블 동기 슬롯이 새로운 기본 서버에서 삭제되거나 다시 제작 될 것이므로 다른 시나리오에서 테이블 동기 슬롯이 동기화 될 필요가 없습니다..
/ * sub # */ select Array_agg (quote_literal (slot_name)) 슬롯으로 에서 ( slot_name으로 concat ( 'pg_', srsubid, '_sync_', srrelid, '_', ctl.system_identifier)를 선택하십시오 PG_CONTROL_SYSTEM () CTL, PG_SUBSCRIPTION_REL R, PG_SUBSCRIPTION S에서 여기서 r.srsubstate = 'f'및 s.oid = r.srsubid 및 s.subfailover ); 슬롯 ------- 'PG_16394_SYNC_16385_739466715149055164'
위에서 식별 된 논리적 스포츠 토토 슬롯이 대기 서버에 존재하고 장애 조치 준비가되었는지 확인하십시오.
/ * 대기 # */ SLOT_NAME, (임시 및 InvalIdation_Reason이 NULL이 아닌 동기화 및 동기화)를 선택하십시오. pg_replication_slots에서 slot_name이있는 곳 ( 'sub1', 'sub2', 'sub3', 'pg_16394_sync_16385_739466715149055164'); slot_name | failover_ready --------------------------------------------------------------- sub1 | 티 Sub2 | 티 Sub3 | 티 PG_16394_SYNC_16385_739466715149055164 | 티 (4 줄)
대기 서버에 모든 슬롯이 존재하는 경우 결과 (failover_ready
) 위의 SQL 쿼리의 사실은 사실입니다. 그러면 기존 구독은 새로운 기본 서버의 출판물에 계속 구독 할 수 있습니다.
위 절차의 첫 두 단계는 A입니다.PostgreSQL가입자. 실패 후 지정된 대기에서 제공되는 각 가입자 노드에서 이러한 단계를 실행하는 것이 좋습니다. 이 목록은 3 단계에서 확인하여 장애 조치 준비를 보장 할 수 있습니다. 비PostgreSQL가입자는 자체 방법을 사용하여 해당 구독에서 사용하는 스포츠 토토 슬롯을 식별 할 수 있습니다..
계획된 장애 조치와 같은 경우에도 모든 가입자가를 확인해야합니다.PostgreSQL또는 비PostgreSQL, 주어진 대기 서버로 장애 조치 후 스포츠 토토를 계속할 수 있습니다. 이러한 경우 위의 첫 두 단계를 수행하는 대신 다음 SQL을 사용하여 홍보를위한 대기와 동기화 해야하는 기본의 스포츠 토토 슬롯을 식별하십시오. 이 쿼리는 모든 장애 조치 지원 구독과 관련된 관련 스포츠 토토 슬롯을 반환합니다.
/ * 기본 # */ array_agg (quote_literal (r.slot_name))을 슬롯으로 선택하십시오 pg_replication_slots r R.Failover가 아니라 R.Temporary; 슬롯 ------- 'sub1', 'sub2', 'sub3', 'pg_16394_sync_16385_739466715149055164'