제한 사항 및 고려 사항
PostgreSQL 소스를 사용할 때 다음 제한 사항 및 고려 사항을 알고 있어야 합니다.
모든 데이터 작업에 적용되는 제한 사항 및 고려 사항
- 데이터베이스 이름은 세미콜론(;)을 포함할 수 없습니다.
- 데이터베이스가 상시 대기 모드에 있는 동안 변경 내용을 캡처하는 것은 지원되지 않습니다.
- 이름은 같지만 대/소문자가 다른 여러 테이블의 이동(예: table1, TABLE1 및 Table1)는 예기치 않은 동작을 유발할 수 있으므로 지원되지 않습니다.
- PostgreSQL 읽기 복제본(고가용성 환경)은 PostgreSQL 16에서만 지원됩니다.
- TRUNCATE 작업의 변경 처리는 지원되지 않습니다.
- 지연된 제약 조건은 지원되지 않습니다.
-
CASE 표현식을 사용하는 고유 인덱스는 지원되지 않습니다.
랜딩 작업에만 적용되는 제한 사항 및 고려 사항
- 분할된 테이블은 지원되지 않습니다.
- 강제 장애 조치는 Azure Database for PostgreSQL – 유연한 서버의 기능입니다. Azure Database for PostgreSQL – 유연한 서버의 이동 데이터에서 강제 장애 조치가 발생하면 작업이 중지되고 데이터 집합을 다시 만들어야 합니다.
복제 및 랜딩 작업에 대한 제한 사항 및 고려 사항
-
REPLICA IDENTITY 지원:
-
FULL을 사용하면 모든 테이블 열에 대해 이전 이미지 값이 복제됩니다. 이 모드를 사용할 때만 대상 인덱스를 다시 정의할 수 있습니다.
-
DEFAULT를 사용하면 테이블에 기본 키가 포함된 경우에만 복제가 지원됩니다. 또한, 이전 이미지의 기본 키 열만 복제됩니다.
-
USING INDEX는 지정된 고유 인덱스가 테이블에 대한 유일한 고유 제약 조건인 경우에만 지원됩니다(즉, 테이블에 기본 키 또는 다른 고유 인덱스가 없는 경우). 이 경우에는 위에 설명한 DEFAULT 값과 정확히 동일하게 지원됩니다.
-
Qlik Talend Data Integration은 REPLICA IDENTITY 값을 확인하지 않으므로 올바른 값을 정의해야 합니다.
-
- "타임스탬프에서 프로세스 변경 시작" 실행 옵션은 지원되지 않습니다.
-
내부 함수/프로시저 본문 블록 또는 다른 중첩 구조체에 보관되지 않은 경우 [CREATE | ALTER | DROP] table DDL의 변경 처리가 지원됩니다.
예를 들어 다음 변경 내용은 캡처되지 않습니다.
CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);
END;
$$;
- 두 개의 파티션을 포함하는 UPDATE 작업(파티션 간에 레코드 이동)은 DELETE 및 INSERT 작업을 사용하여 대상 테이블에 복제됩니다. 변경 내용 저장 복제 모드가 활성화된 경우 UPDATE는 해당 변경 테이블에 별도의 INSERT 및 DELETE 작업으로 나타납니다.
-
병렬 로드 기능을 사용하는 경우 파티션이나 하위 파티션에 따른 테이블 분할은 지원되지 않습니다.
-
소스 테이블에 대한 변경 내용을 캡처할 때 RENAME TABLE 작업은 DML 작업이 선행되는 경우에만 캡처됩니다.
-
PostGIS 데이터 유형은 지원되지 않습니다.
-
강제 장애 조치는 Azure Database for PostgreSQL – 유연한 서버의 기능입니다. Azure Database for PostgreSQL – 유연한 서버의 이동 데이터가 강제 장애 조치가 발생하면 작업이 중지되고 다시 로드해야 합니다.
-
PostgreSQL 15.x에 도입된 SQL MERGE 명령은 인증되지 않았습니다.
지원되지 않는 데이터 유형
다음 데이터 유형은 지원되지 않습니다.
-
PostGIS
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE
- TSMULTIRANGE