장 47. 논리적 디코딩

차례
47.1. 논리적 디코딩 예제
47.2. 논리적 디코딩 개념
47.2.1. 논리적 디코딩
47.2.2. 복제 슬롯
47.2.3. 출력 플러그인
47.2.4. 스냅샷 추출
47.3. 스트리밍 복제 프로토콜 인터페이스
47.4. 논리적 디코딩 SQL 인터페이스
47.5. 논리적 디코딩과 관계된 시스템 카탈로그
47.6. 논리적 디코딩 출력 플러그인
47.6.1. Initialization Function
47.6.2. Capabilities
47.6.3. Output Modes
47.6.4. Output Plugin Callbacks
47.6.5. Functions for Producing Output
47.7. Logical Decoding Output Writers
47.8. Synchronous Replication Support for Logical Decoding

PostgreSQL은 데이터베이스 서버에서 발생한 자료 변경 내용을 스트리밍 방식으로 외부로 전달 할 수 있다. 이 기능은 복제나 감사 솔루션을 포함하는 다양한 솔루션의 수단으로 사용될 수 있다.

스트림으로 보내는 변경분은 논리적 복제 슬롯으로 식별한다.

스트리밍 내용의 형식은 사용하는 출력 플러그인이 구현한다. 플러그인 예제는 PostgreSQL 배포판에 포함되어 있다. 다른 플러그인도 서버 코드의 변경 없이 제작자의 의도에 따라 직접 만들 있도록 설계되었다. 모든 출력 플러그인은 INSERT, UPDATE 명령으로 만들어지는 개별 새로운 로우와, UPDATE, DELETE 명령으로 처리된 삭제 처리할 로우 정보 (이것은 해당 테이블의 REPLICA IDENTITY 옵션에서 지정한다)를 다룰 수 있다.

자료 변경분은 복제 프로토콜 을 이용해서 전달하거나(51.3절, 47.3절 참조), SQL(47.4절 참조) 구문으로 사용할 수 있다. 또한 직접 그 변경분을 사용하는 플러그인을 만들 수 도 있다. (47.7절 참조)