PostgreSQL: 지원되는 데이터 유형, 객체 및 작업

PostgreSQL용 Oracle GoldenGate는 지원되는 PostgreSQL 데이터베이스 버전에 대한 초기 로드 및 트랜잭션 데이터의 캡처 및 전달을 지원합니다.

PostgreSQL용 Oracle GoldenGate는 본 문서에서 별도로 언급하지 않는 한 소스 데이터의 매핑, 필터링 및 변환을 지원하고, Oracle GoldenGate가 지원하는 다른 소스 데이터베이스에서 파생된 데이터를 PostgreSQL 데이터베이스로 복제합니다.

지원되는 데이터베이스

다음은 Oracle GoldenGate for PostgreSQL에 대해 지원되는 데이터베이스 및 제한 사항입니다.

고가용성(High Availability) 고려 사항

Oracle GoldenGate는 PostgreSQL 고가용성 구성에서 변경 데이터 캡처를 지원합니다. 이 기능은 PostgreSQL 데이터베이스 버전 16 이상에서만 사용할 수 있습니다. 변경 데이터 캡처는 고가용성(High Availability) 설정의 기본 서버 또는 읽기 전용 대기 서버에서 구성할 수 있습니다. 페일오버 시 데이터 손실 및 수동 개입이 발생하지 않도록 하기 위해 Oracle GoldenGate는 동기식 복제를 사용하여 고가용성 설정을 구성할 것을 권장합니다.

가능한 데이터 손실 및 수동 개입 시나리오에 대한 자세한 내용은 PostgreSQL 고가용성 복구 문서 ID 2818379.1에 대한 Oracle GoldenGate 절차를 참조하십시오.

PostgreSQL 고가용성 설정에서 CDC Extract를 구성하려면 다음 태스크를 수행합니다. 1. 추출은 고가용성 설정에서 기본 서버 또는 읽기 전용 대기 서버에서 데이터를 캡처하도록 구성할 수 있습니다.

  1. Extract가 한 노드(기본 또는 대기)에서 구성된 경우 데이터 캡처를 시작하기 전에 High Availability 설정의 다른 모든 노드에서 이름이 동일한 복제 슬롯을 동시에 만들어야 합니다.

    1. 다음 예와 같이 REGISTER EXTRACT 명령을 사용하여 한 서버에 복제 슬롯을 만듭니다(Extract가 구성된 경우).

      REGISTER EXTRACT exte
    2. Extract를 등록한 후 즉시 동일한 이름의 복제 슬롯을 만듭니다. 고가용성 설정의 다른 모든 노드에서 동일한 복제 슬롯 이름을 명시적으로 사용해야 합니다.

      postgres=# select pg_create_logical_replication_slot('exte_ac6b520cab2871b7', 'test_decoding');
       pg_create_logical_replication_slot
      
      ------------------------------------
       (exte_ac6b520cab2871b7,0/8169E00)
      (1  row)
      2025-01-20T06:58:22Z  INFO    OGG-25355  Successfully created replication slot 'exte_ac6b520cab2871b7' for Extract group 'EXTE' in database 'postgres'.
    3. 해당 데이터베이스에 연결하고 PSQL에서 pg_create_logical_replication_slot 문을 실행합니다. 주: 반복 SLOT CREATION ON STANDBY에 대한 중요 참고 사항: 읽기 전용 대기 서버에서 복제 슬롯 생성을 시도할 때(REGISTER EXTRACT 명령 또는 pg_create_logical_replication_slot 문 사용) 고가용성 설정에서 기본 서버의 모든 테이블에서 일부 DML(임의 DML일 수 있음)이 실행된 후에만 작업이 완료됩니다. 또는 기본 서버에서 하트비트 기능을 사용으로 설정하면 기본 서버에서 필요한 DML 작업이 대기 서버에서 복제 슬롯 생성을 완료할 수 있습니다.

  1. PostgreSQL 고가용성 설정의 읽기 전용 대기 서버에서는 ADD TRANDATA 또는 DELETE TRANDATA 명령이 지원되지 않습니다. 읽기 전용 대기 서버에 있는 테이블의 REPLICA IDENTITY 설정은 기본 서버에 있는 해당 테이블의 REPLICA IDENTITY 설정과 동일합니다.

  2. 읽기 전용 대기 서버에서 데이터 캡처가 구성된 경우 하트비트 기능을 사용하려면 기본 서버에서 하트비트 기능을 사용으로 설정해야 합니다.

  3. 복구의 경우 복구 후 데이터 캡처를 계속하려면 원하는 노드(요구 사항에 따라 기본/대기)에 연결하도록 추출 매개변수 파일을 수정해야 합니다.

    예제

    PostgreSQL 고가용성 클러스터에 해당하는 연결 별칭이 있는 세 개의 노드가 있는 경우를 고려해 보십시오.

    해당 연결 별칭이 있는 Node1(현재 기본): node1

    해당 연결 별칭이 있는 Node2(대기): node2

    해당 연결 별칭이 있는 Node3(대기): node3

    페일오버 전에 Extract가 노드 중 하나(예: node2)에서 데이터를 캡처하도록 구성된 경우 Extract 매개변수 파일에 다음과 유사한 항목이 포함됩니다.

    USERIDALIAS node2

    대체 시스템 작동의 경우, 기본 노드(node1)의 작동이 중지되고 보조 노드(node2)가 새 기본 노드가 되는 경우 두 가지 가능성이 있습니다.

    1. 동일한 node2에서 데이터 캡처를 계속하려면 다음을 수행합니다.

      • Extract 매개변수 파일은 변경할 필요가 없습니다.

      • Extract를 다시 시작합니다.

    2. 항상 다른 노드에서 데이터를 캡처하려면 다음과 같이 하십시오.

      • Extract 매개변수 파일을 변경하여 원하는 노드(예: Node3)에 연결합니다.

        USERIDALIAS node3
      • Extract를 다시 시작합니다.

지원되는 PostgreSQL 데이터 유형

다음은 Oracle GoldenGate가 지원하는 PostgreSQL 데이터 유형 목록과 이 지원의 제한 사항입니다.

배열 데이터 유형 처리

PostgreSQL는 다양한 내장형 및 UDT 유형의 array를 지원합니다. Oracle GoldenGate 릴리스 26ai부터 Oracle GoldenGate Extract 및 Replicat는 다음 유형의 PostgreSQL array 데이터 유형을 지원합니다.

real, double, numeric 데이터 유형은 NaN 및 Infinity/-Infinity 특수 숫자 값을 지원합니다.

특수 값을 지원하는 데이터베이스별 데이터 유형에 대한 자세한 내용은 데이터베이스 데이터 유형에서 지원되는 특수 값을 참조하십시오.

초기 로드와 CDC Extract는 모두 이러한 배열 유형을 지원합니다.

주: 초기 로드 Extract는 time 데이터 유형의 PostgreSQL array를 지원하지 않습니다.

지원 제한 사항

지원되지 않는 PostgreSQL 데이터 유형

PostgreSQL용 Oracle GoldenGate는 다음 데이터 유형을 지원하지 않습니다.

PostgreSQL에 대해 지원되는 객체 및 작업

테이블, 뷰 및 Materialized View

캡처 및 전달을 위해 포함할 테이블은 다음 요구 사항을 충족해야 하며 지원되는 PostgreSQL 데이터 유형 아래에 나열된 데이터 유형만 포함해야 합니다.

제한 사항

시퀀스 및 ID 열