테스트_디코딩은 논리적 디코딩 출력 플러그인의 예입니다. 특별히 유용한 기능은 없지만 자신만의 출력 플러그인을 개발하기 위한 출발점이 될 수 있습니다.
test_decoding논리적 디코딩 메커니즘을 통해 WAL을 수신하고 이를 수행된 작업의 텍스트 표현으로 디코딩합니다.
SQL 논리적 디코딩 인터페이스를 통해 사용되는 이 플러그인의 일반적인 출력은 다음과 같습니다.
postgres=# SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL, 'include-xids', '0');
lsn | 시드 | 데이터
------------+------+-------------------------
0/016D30F8 | 691 | 시작
0/016D32A0 | 691 | 테이블 public.data: INSERT: id[int4]:2 데이터[텍스트]:'arg'
0/016D32A0 | 691 | 테이블 public.data: INSERT: id[int4]:3 데이터[텍스트]:'demo'
0/016D32A0 | 691 | 커밋
0/016D32D8 | 692 | 시작
0/016D3398 | 692 | 테이블 public.data: DELETE: id[int4]:2
0/016D3398 | 692 | 테이블 public.data: DELETE: id[int4]:3
0/016D3398 | 692 | 커밋
(8행)
또한 진행 중인 트랜잭션의 변경 사항을 얻을 수 있으며 일반적인 출력은 다음과 같습니다.
postgres[33712]=#* SELECT * FROM pg_logical_slot_get_changes('test_slot', NULL, NULL, 'stream-changes', '1');
lsn | 시드 | 데이터
------------+------+-------------------------
0/016B21F8 | 503 | 트랜잭션 TXN 503을 위한 스트리밍 블록 열기
0/016B21F8 | 503 | TXN 503의 스트리밍 변경
0/016B2300 | 503 | TXN 503의 스트리밍 변경
0/016B2408 | 503 | TXN 503의 스트리밍 변경
0/016BEBA0 | 503 | 트랜잭션 TXN 503에 대한 스트리밍 블록 닫기
0/016B21F8 | 503 | 트랜잭션 TXN 503을 위한 스트리밍 블록 열기
0/016BECA8 | 503 | TXN 503의 스트리밍 변경
0/016BEDB0 | 503 | TXN 503의 스트리밍 변경
0/016BEEB8 | 503 | TXN 503의 스트리밍 변경
0/016BEBA0 | 503 | 트랜잭션 TXN 503에 대한 스트리밍 블록 닫기
(10행)