CaptureChangePostgreSQL 2025.5.31.15

번들

com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar

설명

PostgreSQL 데이터베이스에서 CDC 이벤트를 읽습니다.프로세서는 스트림에 도착하는 이벤트를 지속적으로 읽고 TableStateService 에서 제공하는 테이블과 관련된 이벤트를 필터링하고 나머지는 삭제합니다. 현재 이벤트 배치가 처리된 후 프로세서는 복제 슬롯 위치를 PostgreSQL 로 다시 확인하여 WAL 을 트리밍할 수 있도록 합니다. 프로세서는 테이블의 초기 스키마를 포함하고 그 이후 스키마가 변경될 때마다 생성되는 DDLs 및 테이블의 데이터 변경을 나타내는 레코드가 포함된 DMLs 등 두 가지 유형의 플로우 파일을 출력합니다. 하나의 플로우 파일은 항상 단일 테이블과 관련된 데이터를 나타냅니다. 스키마가 포함된 DDL 은 FlowFile 내용에 { “columns”: [ { “name”: “<columnName>”, “type”: “<snowflakeType>”, “nullable”: <true|false>, “scale”: <scale>, “precision”: <precision> }, … ], “primaryKeys”: [“<primaryKey1>”, “<primaryKey2>”, …]} 와 같은 형식의 JSON 오브젝트로 기록됩니다. DML 레코드의 구조는 { “primaryKeys”: { “<column>”: <value>, … }, “payload”: { “<column>”: <value>, … }, “metadata”: { “<column>”: <value>, … }} 입니다.

태그

cdc, event, jdbc, postgresql, sql

입력 요구 사항

FORBIDDEN

민감한 동적 속성 지원

false

속성

속성

설명

열 필터 저장소ㄴ

테이블별 열 필터링 설정을 저장하는 서비스입니다.

JDBC Driver Location

쉼표로 구분된 파일/폴더 목록 및/또는 URLs 드라이버 JAR 및 종속성(있는 경우)이 포함된 목록입니다. 예: ‘/var/tmp/postgresql-java-client-42.7.5.jar’

JDBC URL

데이터베이스 연결의 JDBC URL, 예: jdbc:postgresql://localhost:5432/postgres

Max Batch Size

단일 반복에서 처리할 최대 레코드 수

Max Batch Wait Time

CDC 에서 스트림에 데이터가 표시될 때까지 대기할 수 있는 최대 시간입니다.

비밀번호

PostgreSQL 데이터베이스에 액세스하기 위한 비밀번호

Publication Name

읽을 CDC 게시의 이름입니다.

Record Writer

Record Writer는 DML 이벤트를 직렬화하는 데 사용됩니다

SSL 컨텍스트 서비스

암호화된 소켓 통신을 지원하는 SSL 컨텍스트 서비스

SSL Mode

PostgreSQL 에 연결할 때 SSL 사용 및 강제 적용 여부

Table State Store

복제된 테이블의 상태를 보관하는 공유 저장소입니다.

사용자 이름

PostgreSQL 데이터베이스에 액세스하기 위한 사용자 이름

상태 관리

범위

설명

CLUSTER

데이터베이스의 현재 CDC 이벤트에 대한 ‘포인터’와 같은 정보는 이 프로세서에 저장되어 다시 시작하면 동일한 위치에서 계속할 수 있으며 PostgreSQL 에 생성된 복제 슬롯의 이름도 저장됩니다.

관계

이름

설명

성공

CDC 스트림 이벤트에서 FlowFile 을 성공적으로 생성했습니다

Writes 특성

이름

설명

source.schema.name

이벤트가 발생한 테이블의 스키마 이름

source.table.name

이벤트가 발생한 테이블의 이름

cdc.event.type

플로우 파일이 전달하는 이벤트 유형: ddl 또는 dml

cdc.most.significant.position

ddl 스트림에서 가장 중요한 ddl의 위치

cdc.least.significant.position

디렉터리 스트림에서 ddl의 가장 중요하지 않은 위치

cdc.event.seen.at

프로세서가 ddl 이벤트를 읽은 시간으로부터의 타임스탬프