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>, … }} 입니다.
입력 요구 사항¶
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 이벤트를 읽은 시간으로부터의 타임스탬프 |