Skip to main content
TOAST 컬럼, replication slot, publication, 스키마 변경, 데이터 타입 매핑 등 Postgres 복제의 작동 방식과 관련된 많은 질문은 ClickPipes for Postgres FAQ에서 다룹니다. 해당 정보는 ClickHouse Managed Postgres 마이그레이션에도 적용됩니다.

복제 중 “enum의 입력 값이 잘못되었습니다” 오류가 표시됩니다

이 오류는 원본 Postgres에 있는 enum 값이 대상 ClickHouse Managed Postgres에는 없을 때 발생합니다. 논리적 복제는 ALTER TYPE ... ADD VALUE 명령을 자동으로 전파하지 않으므로, 초기 스키마 설정 후 원본에 추가된 새 enum 값 때문에 대상에서 삽입이 실패합니다. 이 문제를 해결하려면 대상 Postgres의 enum 유형에 누락된 값을 추가하십시오:
your_enum_type을 enum 유형 이름으로, 'new_value'를 오류 메시지에 표시된 누락된 값으로 바꾸십시오.

복제 중 고유 제약 조건 또는 검사 제약 조건 위반 오류가 발생합니다

논리적 복제 중 복제 순서가 대상의 기존 제약 조건과 충돌하면 제약 조건 위반이 발생할 수 있습니다.
  • 고유 제약 조건: 변경 사항은 프라이머리 키별 최신 값을 기록하는 일괄 MERGE/UPSERT 작업으로 적용되므로, 특정 키의 작업 순서가 고유 인덱스에서 예상하는 순서와 일치하지 않을 수 있습니다. 이로 인해 MERGE가 완료된 후에는 제약 조건이 충족되더라도 트랜잭션 내에서는 일시적으로 UNIQUE 제약 조건을 위반할 수 있습니다. Postgres는 외래 키처럼 고유 인덱스 검사를 지연할 수 없으므로, 검사를 트랜잭션 종료 시점까지 미룰 방법이 없습니다. 이는 데이터 일관성에 영향을 주지 않습니다. 행 아이덴티티는 프라이머리 키로 정의되며, MERGE 로직도 동일한 프라이머리 키를 기준으로 하기 때문입니다.
  • 검사 제약 조건: 대상의 검사 제약 조건이 원본보다 더 엄격할 수 있으며, 일괄 MERGE 중간 상태가 최종 상태에서는 제약 조건을 충족하더라도 일시적으로 이를 충족하지 못할 수 있습니다. 고유 제약 조건과 마찬가지로, MERGE는 행 아이덴티티를 정의하는 프라이머리 키를 기준으로 하므로 이는 데이터 일관성에 영향을 주지 않습니다.
복제를 재개하려면 대상 Postgres에서 문제가 되는 제약 조건을 삭제하십시오:
오류 메시지에 표시된 이름으로 제약 조건의 세부 정보를 확인할 수 있습니다:
복제가 완료되고 원본가 더 이상 활성 상태가 아니면 전환 시 제약 조건을 다시 추가하십시오:

복제 중 “cannot insert a non-DEFAULT value into column” 오류가 발생합니다

이 오류는 대상의 컬럼(대개 프라이머리 키)이 GENERATED ALWAYS AS IDENTITY로 정의되어 있을 때 발생합니다. 논리적 복제는 원본의 명시적 값을 전달하지만, GENERATED ALWAYS 컬럼은 DEFAULT 이외의 값을 허용하지 않으므로 삽입 작업이 다음과 같이 실패합니다:
이 문제를 해결하려면 대상 Postgres의 컬럼이 사용자 지정 값을 허용하도록 변경하십시오. 아이덴티티 컬럼을 GENERATED BY DEFAULT AS IDENTITY로 전환할 수 있습니다:
GENERATED BY DEFAULT AS IDENTITY(또는 serial/bigserial 컬럼)는 값이 지정되지 않으면 자동으로 값을 생성하며, GENERATED ALWAYS와 달리 원본에서 복제된 명시적 값도 허용합니다.

마이그레이션 중 “확장 기능을 사용할 수 없음” 오류가 표시됩니다

이 오류는 자동 스키마 마이그레이션(pg_dump) 중 원본 스키마가 대상 Managed Postgres에 설치되어 있지 않거나 지원되지 않는 Postgres 확장 기능에 종속된 경우 발생합니다. 다음 중 하나로 나타납니다:
오류 메시지에 표시된 확장 기능 이름으로 your_extension을 바꾸십시오. 이 문제를 해결하려면 다음 중 하나를 수행하십시오.
  • 수동 스키마 덤프 모드로 파이프를 재생성한 후, 지원되지 않는 확장 기능에 대한 종속성을 제거하거나 대체하도록 스키마를 조정하십시오.
  • 대상 관리형 Postgres에서 해당 확장 기능을 활성화하도록 지원 티켓을 제출하십시오.
마지막 수정일 2026년 8월 26일