메인 콘텐츠로 건너뛰기
복제 중인 테이블에서 PostgreSQL 생성 컬럼을 사용할 때는 몇 가지 중요한 사항을 유념해야 합니다. 이러한 주의사항은 복제 과정과 대상 시스템의 데이터 일관성에 영향을 줄 수 있습니다.

생성 컬럼의 문제점

  1. pgoutput를 통해 게시되지 않음: 생성 컬럼은 pgoutput 논리적 복제 플러그인을 통해 게시되지 않습니다. 즉, PostgreSQL에서 다른 시스템으로 데이터를 복제할 때 생성 컬럼의 값은 복제 스트림에 포함되지 않습니다.
  2. 기본 키 관련 문제: 생성 컬럼이 기본 키의 일부인 경우, 대상에서 중복 제거 문제가 발생할 수 있습니다. 생성 컬럼 값은 복제되지 않으므로, 대상 시스템에는 행을 올바르게 식별하고 중복 제거하는 데 필요한 정보가 없게 됩니다.
  3. 스키마 변경 관련 문제: 이미 복제 중인 테이블에 생성 컬럼을 추가하면 Postgres가 새 컬럼에 대한 RelationMessage를 제공하지 않기 때문에, 새 컬럼 값이 대상에 채워지지 않습니다. 이후 같은 테이블에 새 비생성 컬럼을 추가하면 ClickPipe가 스키마를 동기화하는 과정에서 대상에 생성 컬럼이 없다는 사실을 확인하게 되고, 그 결과 복제 프로세스가 실패합니다.

모범 사례

이러한 제한을 우회하려면 다음 모범 사례를 따르십시오:
  1. 대상에서 생성 컬럼 다시 생성하기: 생성 컬럼 처리를 복제 프로세스에 맡기기보다는, dbt(data build tool) 또는 기타 데이터 변환 메커니즘을 사용해 대상에서 해당 컬럼을 다시 생성하는 것이 좋습니다.
  2. 기본 키(primary key)에서 생성 컬럼 사용 피하기: 복제될 테이블을 설계할 때는 생성 컬럼을 기본 키의 일부로 포함하지 않는 것이 가장 좋습니다.

UI의 향후 개선 사항

향후 버전에서는 다음을 지원하는 UI를 추가할 예정입니다:
  1. 생성 컬럼이 있는 테이블 식별: UI에는 생성 컬럼이 포함된 테이블을 식별하는 기능이 추가될 예정입니다. 이를 통해 이 문제의 영향을 받는 테이블을 파악할 수 있습니다.
  2. 문서 및 모범 사례: UI에는 복제된 테이블(Replicated Table)에서 생성 컬럼을 사용할 때의 모범 사례와 함께, 흔한 실수를 피하는 방법에 대한 안내가 포함될 예정입니다.
마지막 수정일 2026년 6월 10일