| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 논리적 윈 토토 예제 | PostgreSQL : 문서 : 9.4 : 젠 토토 디코딩 | 46장. 와이즈 토토 디코딩 | PostgreSQL : 문서 : 9.4 : 스트리밍 토토 프로토콜 인터페이스 |
와이즈 토토 디코딩은 데이터베이스의 내부 상태에 대한 자세한 지식 없이도 해석할 수 있는 일관되고 이해하기 쉬운 형식으로 데이터베이스 테이블에 대한 모든 지속적인 변경 사항을 추출하는 프로세스입니다.
에포스트그레SQL, 와이즈 토토 디코딩은의 내용을 디코딩하여 구현됩니다.PostgreSQL : 문서 : 9.4 : 신뢰성과 토토 로그, 스토리지 수준의 변경 사항을 튜플 스트림 또는 SQL 문과 같은 애플리케이션별 형식으로 설명합니다.
와이즈 토토 복제의 맥락에서 슬롯은 원본 서버에서 이루어진 순서대로 클라이언트에 재생할 수 있는 변경 스트림을 나타냅니다. 각 슬롯은 단일 데이터베이스에서 일련의 변경 사항을 스트리밍하여 각 변경 사항을 정확히 한 번 보냅니다(스트림에서 앞으로 엿볼 때 제외).
참고: 포스트그레SQL또한 스트리밍 복제 슬롯도 있습니다(참조섹션 25.2.5), 하지만 그곳에서는 다소 다르게 사용됩니다.
복제 슬롯에는 모든 데이터베이스에서 고유한 식별자가 있습니다.PostgreSQL클러스터. 슬롯은 이를 사용하는 연결과 독립적으로 유지되며 충돌로부터 안전합니다.
단일 데이터베이스에 대해 여러 개의 독립 슬롯이 존재할 수 있습니다. 각 슬롯에는 고유한 상태가 있으므로 다양한 소비자가 데이터베이스 변경 스트림의 다양한 지점에서 변경 내용을 수신할 수 있습니다. 대부분의 애플리케이션에서는 각 소비자마다 별도의 슬롯이 필요합니다.
와이즈 토토 복제 슬롯은 수신자의 상태에 대해 아무것도 모릅니다. 서로 다른 시간에 동일한 슬롯을 사용하는 여러 개의 서로 다른 수신기를 갖는 것도 가능합니다. 마지막 수신자가 소비를 중단한 이후에 변경 사항을 받게 됩니다. 주어진 시간에 하나의 수신자만 슬롯의 변경 사항을 사용할 수 있습니다.
참고:복제 슬롯은 충돌이 발생해도 지속되며 소비자 상태에 대해 아무것도 모릅니다. 이를 사용하면 연결이 없더라도 필요한 리소스가 제거되는 것을 방지할 수 있습니다. 이는 필수 WAL이나 시스템 카탈로그의 필수 행을 제거할 수 없기 때문에 스토리지를 소비합니다.진공복제 슬롯에 필요한 한. 따라서 슬롯이 더 이상 필요하지 않으면 삭제해야 합니다.
출력 플러그인은 미리 쓰기 로그의 내부 표현의 데이터를 복제 슬롯 소비자가 원하는 형식으로 변환합니다.
스트리밍 복제 인터페이스를 사용하여 새 복제 슬롯이 생성되면 스냅샷이 내보내집니다(참조섹션 9.26.5), 이는 모든 변경 사항이 변경 스트림에 포함된 후 데이터베이스의 상태를 정확하게 표시합니다. 이는 다음을 사용하여 새 복제본을 생성하는 데 사용할 수 있습니다.PostgreSQL :슬롯이 생성된 순간의 데이터베이스 상태를 읽습니다. 그런 다음 이 트랜잭션을 사용하여 해당 시점의 데이터베이스 상태를 덤프할 수 있으며, 이후 변경 사항을 잃지 않고 슬롯의 콘텐츠를 사용하여 업데이트할 수 있습니다.