Openflow Connector for PostgreSQL 유지 관리¶
참고
This connector is subject to the Snowflake Connector Terms.
This topic describes important maintenance considerations and best practices for maintaining the Openflow Connector for PostgreSQL when making changes to the source PostgreSQL database. In addition this topic describes how to reinstall the connector.
PostgreSQL 업그레이드¶
커넥터를 업그레이드하려면 PostgreSQL이 다음 부 버전으로 업그레이드되는지 주 버전으로 업그레이드되는지에 따라 다른 접근 방식이 필요합니다.
소수 버전 업그레이드
데이터가 안전한가요?
특별한 처리가 필요하지 않습니다.
업그레이드 기간 동안 커넥터를 중지해야 연결 문제 발생을 방지할 수 있습니다.
업그레이드 후에도 데이터 손실 없이 복제를 계속합니다.
주 버전 업그레이드
PostgreSQL 서버가 복제 슬롯(커넥터에서 사용 중인 슬롯 포함)을 삭제하도록 요구합니다.
복제 슬롯을 새 버전으로 보존하거나 마이그레이션할 수 없습니다. PostgresSQL 17 버전 및 이후 버전 업그레이드 도 참조하십시오.
이전 스냅샷 단계에서 모든 테이블의 복제를 다시 시작합니다.
부 버전 업그레이드를 수행하려면 다음을 수행합니다.
모든 프로세서 및 컨트롤러 서비스를 포함하여 커넥터를 중지합니다.
PostgreSQL을 업그레이드합니다.
커넥터를 다시 시작합니다.
주 버전 업그레이드를 수행하려면 다음을 수행합니다.
커넥터에서 복제의 모든 테이블을 제거합니다.
커넥터의 모든 큐가 비워질 때까지 기다립니다.
모든 프로세서 및 컨트롤러 서비스를 포함하여 커넥터를 중지합니다.
커넥터에서 Incremental Load 그룹을 엽니다.
그룹 내 최상위 프로세서인 :ui:`Read PostgreSQL CDC Stream`을 마우스 오른쪽 버튼으로 클릭하고 :ui:`View state`를 선택합니다.
Clear state 을 클릭합니다.
Close 를 클릭합니다.
PostgreSQL을 업그레이드합니다.
커넥터를 다시 시작합니다. 새로운 복제 슬롯이 생성됩니다.
복제를 시작하려면 모든 테이블을 다시 추가합니다.
PostgresSQL 17 버전 및 이후 버전 업그레이드¶
17.1 » 18.0과 같은 이후 버전으로 업그레이드할 때 복제 슬롯을 삭제할 필요가 없도록 PostgreSQL 17 업그레이드가 개선되었습니다. 이전 버전(16 이하)에서 PostgreSQL 17.0 이상 버전으로 업그레이드할 경우 복제 슬롯이 삭제되며, 이는 주요 업그레이드로 간주해야 합니다. PostgreSQL의 향후 버전에서는 업그레이드 프로세스가 더욱 개선될 수도 있습니다.
Reinstall the connector¶
이 섹션에서는 커넥터를 재설치하는 방법을 설명합니다. 새 커넥터가 동일한 런타임에 설치되거나 새 런타임으로 이동되는 경우를 다룹니다. 재설치는 :doc:`스냅샷을 사용한 증분 복제<incremental-replication>`와 함께 사용되는 경우가 많습니다.
경고
커넥터가 재설치 전에 중지된 동일한 CDC 스트림 위치에서 계속 복제할 수 있도록 하려는 경우, 소스 데이터베이스는 이전 커넥터가 중지되고 새 커넥터가 시작된 이후의 시간을 포함할 만큼 충분히 긴 WAL을 유지해야 합니다. 트래픽에 따라 PostgreSQL 서버의 max_wal_size 매개 변수가 충분히 높은지 확인하고 재설치 시간을 최소로 유지합니다.
전제 조건¶
커넥터 매개 변수 컨텍스트 값을 검토하고 기록합니다. 동일한 런타임에 커넥터를 재설치하는 경우 기존 컨텍스트를 재사용할 수 있습니다. 새 인스턴스가 다른 런타임에 위치할 경우 모든 매개 변수를 다시 입력해야 합니다.
To reinstall the connector:
기존 커넥터에서 진행 중인 모든 FlowFiles 처리를 완료한 후 커넥터를 중지합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Ingestion » Openflow 를 선택합니다.
Openflow 창에서 Runtimes 탭을 선택합니다.
Select the runtime containing the connector.
Select the connector.
Snapshot Load 그룹에서 최상위 프로세서 :ui:`Set Tables for Replication`을 중지합니다.
Stop the topmost processor Read PostgreSQL CDC Stream in the Incremental Load group.
Merge Task Schedule CRON 매개 변수의 값을 변경한 경우 ``* * * * * ?``로 반환합니다. 그렇지 않으면 다음으로 예약된 실행까지 큐가 비워지지 않습니다.
커넥터의 모든 FlowFiles가 처리되고 모든 큐가 비어 있을 때까지 기다립니다. 모든 FlowFiles가 처리되면 커넥터 프로세서 그룹에 대한 Queued 값은 0이 됩니다. 원래 커넥터의 큐에 항목이 남아 있는 경우 새 커넥터가 시작될 때 데이터 간격이 있을 수 있습니다.
Stop all processors and controller services in the connector.
이름이
Read PostgreSQL CDC Stream``인 ``Incremental Load그룹에서 최상위 프로세서의 상태를 확인하여 원래 커넥터에서 사용하는 복제 슬롯의 이름을 찾아 복사합니다. 복제 슬롯 이름은replication.slot.name키 아래에 저장됩니다. 키의 값을 텍스트 편집기에 복사합니다.커넥터의 새 인스턴스를 생성합니다. 원래 커넥터와 동일한 런타임을 사용하는 경우 기존 매개 변수 컨텍스트를 유지하고 설정을 재사용하도록 선택할 수 있습니다.
조심
기존 커넥터는 런타임에 유지될 수 있으며 중지된 상태로 유지되는 한 새 인스턴스를 방해하지 않습니다.
다른 런타임에 설치하거나 이전 매개 변수 컨텍스트를 삭제한 경우 :doc:`setup`에 설명된 대로 테이블 이름과 패턴을 포함하여 모든 구성 설정을 새 매개 변수 컨텍스트에 입력합니다.
PostgreSQL Ingestion Parameters컨텍스트를 열고Ingestion Type매개 변수를 ``incremental``로 설정합니다. 우려 사항에 대한 자세한 내용은 스냅샷 없이 증분 복제 활성화하기 섹션을 참조하세요.PostgreSQL Source Parameters컨텍스트를 열고Replication Slot Name매개 변수를 이전에 복사한 값으로 설정합니다.Start the new connector.
사용법 노트¶
새 커넥터는 원래 커넥터에서 생성한 테이블과 동일한 기존 대상 테이블을 사용하지만, 새 저널 테이블을 생성합니다.