47.2. 토토 사이트 순위 디코딩 개념#

47.2.1. 토토 사이트 순위 디코딩#

토토 사이트 순위 디코딩은 데이터베이스 테이블에 대한 모든 지속적인 변경 사항을 데이터베이스의 내부 상태에 대한 자세한 지식 없이도 해석할 수 있는 일관되고 이해하기 쉬운 형식으로 추출하는 프로세스입니다.

PostgreSQL, 토토 사이트 순위 디코딩은의 내용을 디코딩하여 구현됩니다.PostgreSQL: Tài liệu: 18: Chươ토토 캔 28. Độ tin cậy và nhật ký ghi lại은 스토리지 수준의 변경 사항을 튜플 스트림이나 SQL 문과 같은 애플리케이션별 형식으로 설명합니다.

47.2.2. 복제 슬롯#

토토 사이트 순위 복제의 맥락에서 슬롯은 원본 서버에서 이루어진 순서대로 클라이언트에 재생할 수 있는 변경 스트림을 나타냅니다. 각 슬롯은 단일 데이터베이스에서 일련의 변경 사항을 스트리밍합니다.

참고

포스트그레SQL또한 스트리밍 복제 슬롯도 있습니다(참조섹션 26.2.5), 하지만 그곳에서는 다소 다르게 사용됩니다.

복제 슬롯에는 모든 데이터베이스에서 고유한 식별자가 있습니다.PostgreSQL클러스터. 슬롯은 이를 사용하는 연결과 독립적으로 유지되며 충돌로부터 안전합니다.

논리 슬롯은 정상 작동 시 각 변경 사항을 한 번만 내보냅니다. 각 슬롯의 현재 위치는 체크포인트에서만 유지되므로 충돌이 발생할 경우 슬롯이 이전 LSN으로 돌아갈 수 있으며 이로 인해 서버가 다시 시작될 때 최근 변경 사항이 다시 전송됩니다. 토토 사이트 순위 디코딩 클라이언트는 동일한 메시지를 두 번 이상 처리함으로써 발생하는 악영향을 방지하는 역할을 담당합니다. 클라이언트는 디코딩할 때 본 마지막 LSN을 기록하고 반복되는 데이터를 건너뛰거나 (복제 프로토콜을 사용할 때) 서버가 시작 지점을 결정하도록 하는 대신 해당 LSN에서 디코딩이 시작되도록 요청할 수 있습니다. 복제 진행률 추적 기능은 이러한 목적으로 설계되었습니다. 참조PostgreSQL : 문서 : 18 : 48 장. 롤 토토 진행 추적.

단일 데이터베이스에 대해 여러 개의 독립 슬롯이 존재할 수 있습니다. 각 슬롯에는 고유한 상태가 있으므로 다양한 소비자가 데이터베이스 변경 스트림의 다양한 지점에서 변경 내용을 수신할 수 있습니다. 대부분의 애플리케이션에서는 각 소비자마다 별도의 슬롯이 필요합니다.

토토 사이트 순위 복제 슬롯은 수신자의 상태에 대해 아무것도 모릅니다. 서로 다른 시간에 동일한 슬롯을 사용하는 여러 개의 서로 다른 수신기를 갖는 것도 가능합니다. 마지막 수신자가 소비를 중단한 이후에 변경 사항을 받게 됩니다. 주어진 시간에 하나의 수신자만 슬롯의 변경 사항을 사용할 수 있습니다.

토토 사이트 순위 복제 슬롯은 상시 대기에서도 생성될 수 있습니다. 방지하기 위해진공시스템 카탈로그에서 필수 행을 제거하여,hot_standby_feedback대기 모드로 설정되어야 합니다. 그럼에도 불구하고 필수 행이 제거되면 슬롯이 무효화됩니다. 기본과 대기 ​​사이에 물리적 슬롯을 사용하는 것이 좋습니다. 그렇지 않으면,hot_standby_feedback작동하지만 연결이 활성화된 동안에만 작동합니다(예를 들어 노드를 다시 시작하면 연결이 끊어집니다). 그런 다음 기본 데이터베이스는 대기 데이터베이스의 토토 사이트 순위 디코딩에 필요할 수 있는 시스템 카탈로그 행을 삭제할 수 있습니다.catalog_xmin대기 중). 대기 중인 기존 논리 슬롯도 다음과 같은 경우 무효화됩니다.wal_level기본의 값은 다음보다 작습니다.토토 사이트 순위. 이는 대기 장치가 WAL 스트림에서 이러한 변경을 감지하자마자 수행됩니다. 이는 지연되는 월센더의 경우(있는 경우) 일부 WAL 레코드가wal_level기본의 매개변수 변경은 디코딩되지 않습니다.

토토 사이트 순위 슬롯을 생성하려면 현재 실행 중인 모든 트랜잭션에 대한 정보가 필요합니다. 기본에서는 이 정보를 직접 사용할 수 있지만 대기에서는 이 정보를 기본에서 가져와야 합니다. 따라서 슬롯 생성은 기본에서 일부 활동이 발생할 때까지 기다려야 할 수 있습니다. 기본이 유휴 상태인 경우 대기에서 토토 사이트 순위 슬롯을 생성하는 데 상당한 시간이 걸릴 수 있습니다. 이 작업은를 호출하여 속도를 높일 수 있습니다.pg_log_standby_snapshot기본에 함수가 있습니다.

주의

복제 슬롯은 충돌 후에도 지속되며 소비자 상태에 대해 아무것도 모릅니다. 이를 사용하면 연결이 없더라도 필요한 리소스가 제거되는 것을 방지할 수 있습니다. 이는 필수 WAL이나 시스템 카탈로그의 필수 행을 제거할 수 없기 때문에 스토리지를 소비합니다.진공복제 슬롯에 필요한 한. 극단적인 경우에는 트랜잭션 ID 랩어라운드를 방지하기 위해 데이터베이스가 종료될 수 있습니다(참조섹션 24.1.5). 따라서 슬롯이 더 이상 필요하지 않으면 삭제해야 합니다.

47.2.3. 복제 슬롯 동기화#

기본의 토토 사이트 순위 복제 슬롯은 다음을 사용하여 상시 대기로 동기화될 수 있습니다.장애 조치매개변수pg_create_logical_replication_slot또는 다음을 사용하여장애 조치옵션구독 작성슬롯 생성 중. 또한 활성화sync_replication_slots대기 상태가 필요합니다. 활성화함으로써sync_replication_slots대기 중인 경우 장애 조치 슬롯은 Slotsync 작업자에서 주기적으로 동기화될 수 있습니다. 동기화가 작동하려면 기본과 대기 사이에 물리적 복제 슬롯이 있어야 합니다(예:primary_slot_name대기 모드에서 구성해야 함) 및hot_standby_feedback대기 모드에서 활성화되어야 합니다. 유효한을 지정하는 것도 필요합니다.db이름에서primary_conninfo. 해당 물리적 복제 슬롯의 이름을 다음과 같이 지정하는 것이 좋습니다.synchronized_standby_slots기본에 나열하여 구독자가 상시 대기보다 더 빠르게 변경 사항을 소비하는 것을 방지합니다. 올바르게 구성된 경우에도 이름이 지정된 슬롯에 대한 대기로 인해 토토 사이트 순위 구독자에게 변경 사항을 보낼 때 약간의 지연 시간이 예상됩니다.synchronized_standby_slots. 언제synchronized_standby_slots이 활용되면 기본 서버는 지정된 물리적 복제 슬롯과 연결된 해당 대기 서버가 나올 때까지 완전히 종료되지 않습니다.synchronized_standby_slots, 기본 서버에서 가장 최근에 플러시된 위치까지 WAL 수신을 확인했습니다.

참고

활성화하는 동안sync_replication_slots장애 조치 슬롯의 자동 주기적 동기화를 허용하며 다음을 사용하여 수동으로 동기화할 수도 있습니다.pg_sync_replication_slots기능이 대기 중입니다. 그러나 이 함수는 주로 테스트 및 디버깅을 위한 것이므로 주의해서 사용해야 합니다. 자동 동기화와 달리 주기적 재시도가 포함되지 않으므로 특히 슬롯에 필요한 WAL 파일이나 카탈로그 행이 이미 제거되었거나 대기 모드에서 제거될 위험이 있는 초기 동기화 시나리오에서 동기화가 실패하기 쉽습니다. 대조적으로, 자동 동기화는sync_replication_slots지속적인 슬롯 업데이트를 제공하여 원활한 장애 조치를 구현하고 고가용성을 지원합니다. 따라서 슬롯 동기화에 권장되는 방법입니다.

슬롯 동기화가 권장대로 구성되고 초기 동기화가 다음을 통해 자동 또는 수동으로 수행되는 경우pg_sync_replication_slots, 대기는 다음 조건이 충족되는 경우에만 동기화된 슬롯을 유지할 수 있습니다. 기본의 토토 사이트 순위 복제 슬롯은 대기에서 계속 사용할 수 있는 WAL 및 시스템 카탈로그 행을 유지해야 합니다. 이를 통해 데이터 무결성이 보장되고 승격 후에도 토토 사이트 순위 복제가 원활하게 계속될 수 있습니다. 필요한 WAL 또는 카탈로그 행이 이미 대기에서 제거된 경우 데이터 손실을 방지하기 위해 슬롯이 유지되지 않습니다. 이러한 경우 다음 로그 메시지가 나타날 수 있습니다.

로그: 복제 슬롯 "failover_slot"을 동기화할 수 없습니다.
세부정보: 원격 슬롯에는 LSN 0/3003F28 및 카탈로그 xmin 754에서 WAL이 필요하지만 대기 슬롯에는 LSN 0/3003F28 및 카탈로그 xmin 756이 있으므로 동기화하면 데이터 손실이 발생할 수 있습니다.

토토 사이트 순위 복제 슬롯이 소비자에 의해 활발하게 사용되는 경우 수동 개입이 필요하지 않습니다. 슬롯은 자동으로 진행되고 다음 주기에서 동기화가 다시 시작됩니다. 그러나 소비자가 구성되지 않은 경우 다음을 사용하여 기본 슬롯을 수동으로 진행하는 것이 좋습니다.pg_logical_slot_get_changes또는pg_logical_slot_get_binary_changes, 동기화가 진행되도록 허용합니다.

장애 조치 후 토토 사이트 순위 복제를 재개하는 능력은 다음에 따라 다릅니다.젠 토토 PostgreSQL : 문서.동기화됨21582_22120

동기화된 토토 사이트 순위 슬롯에서 장애 조치 후 토토 사이트 순위 복제를 재개하려면 구독의 'conninfo'가 새로운 기본 서버를 가리키도록 변경되어야 합니다. 이는 다음을 사용하여 수행됩니다.구독 변경 ... 연결. 대기를 승격하기 전에 먼저 구독을 비활성화하고 연결 문자열을 변경한 후 다시 활성화하는 것이 좋습니다.

주의

승격 중에 이전 기본 서버가 다시 작동할 가능성이 있으며 구독이 비활성화되지 않은 경우 토토 사이트 순위 가입자는 승격 후에도 연결 문자열이 변경될 때까지 이전 기본 서버에서 계속 데이터를 수신할 수 있습니다. 이로 인해 데이터 불일치 문제가 발생하여 토토 사이트 순위 구독자가 새 기본 서버에서 복제를 계속할 수 없게 될 수 있습니다.

47.2.4. 출력 플러그인#

출력 플러그인은 미리 쓰기 로그의 내부 표현 데이터를 복제 슬롯 소비자가 원하는 형식으로 변환합니다.

47.2.5. 내보낸 스냅샷#

스트리밍 복제 인터페이스를 사용하여 새 복제 슬롯이 생성될 때(참조CREATE_REPLICATION_SLOT), 스냅샷이 내보내집니다(참조섹션 9.28.5), 이는 모든 변경 사항이 변경 스트림에 포함된 후 데이터베이스의 상태를 정확하게 표시합니다. 이는 다음을 사용하여 새 복제본을 생성하는 데 사용할 수 있습니다.트랜잭션 스냅샷 설정슬롯이 생성된 순간의 데이터베이스 상태를 읽습니다. 그런 다음 이 트랜잭션을 사용하여 해당 시점의 데이터베이스 상태를 덤프할 수 있으며, 이후 변경 사항을 잃지 않고 슬롯의 콘텐츠를 사용하여 업데이트할 수 있습니다.

스냅샷 내보내기가 필요하지 않은 응용 프로그램은 다음을 사용하여 이를 억제할 수 있습니다.스냅샷 '아무것도'옵션.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.