F.43. test_decoding — WAL 논리적 디코딩을 위한 배트맨 토토 기반 테스트/예제 모듈#

테스트_디코딩는 논리적 디코딩 출력 플러그인의 예입니다. 특별히 유용한 기능은 없지만 자신만의 출력 플러그인을 개발하기 위한 출발점이 될 수 있습니다.

테스트_디코딩논리적 디코딩 메커니즘을 통해 WAL을 수신하고 이를 수행된 작업의 텍스트 표현으로 디코딩합니다.

SQL 논리적 디코딩 인터페이스를 통해 사용되는 이 플러그인의 일반적인 출력은 다음과 같습니다:

postgres=# SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL, 'include-xids', '0');
   lsn | 시드 |                       데이터
---------+------+-------------------------
 0/16D30F8 | 691 | 시작
 0/16D32A0 | 691 | 테이블 public.data: INSERT: id[int4]:2 데이터[텍스트]:'arg'
 0/16D32A0 | 691 | 테이블 public.data: INSERT: id[int4]:3 데이터[텍스트]:'demo'
 0/16D32A0 | 691 | 커밋
 0/16D32D8 | 692 | 시작
 0/16D3398 | 692 | 테이블 public.data: DELETE: id[int4]:2
 0/16D3398 | 692 | 테이블 public.data: DELETE: id[int4]:3
 0/16D3398 | 692 | 커밋
(8행)

또한 진행 중인 트랜잭션의 변경 사항을 얻을 수 있으며 일반적인 출력은 다음과 같습니다.

postgres[33712]=#* SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL, 'stream-changes', '1');
    lsn | 시드 |                       데이터
---------+------+-------------------------
 0/16B21F8 | 503 | 트랜잭션 TXN 503을 위한 스트리밍 블록 열기
 0/16B21F8 | 503 | TXN 503의 스트리밍 변경
 0/16B2300 | 503 | TXN 503의 스트리밍 변경
 0/16B2408 | 503 | TXN 503의 스트리밍 변경
 0/16BEBA0 | 503 | 트랜잭션 TXN 503에 대한 스트리밍 블록 닫기
 0/16B21F8 | 503 | 트랜잭션 TXN 503을 위한 스트리밍 블록 열기
 0/16BECA8 | 503 | TXN 503의 스트리밍 변경
 0/16BEDB0 | 503 | TXN 503의 스트리밍 변경
 0/16BEEB8 | 503 | TXN 503의 스트리밍 변경
 0/16BEBA0 | 503 | 트랜잭션 TXN 503에 대한 스트리밍 블록 닫기
(10행)

수정사항 제출

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