기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

전제 조건

데이터를 랜딩하거나 복제하려면 먼저 다음 전제 조건을 완료해야 합니다.

  • 데이터 이동 게이트웨이 서버에 필요한 driver 설치

  • 데이터 소스에 필요한 권한 부여

  • 데이터 소스 커넥터 구성

드라이버 설정

드라이버 설치 유틸리티(권장)를 사용하거나 수동으로 driver를 설치할 수 있습니다. 수동 설치는 드라이버 설치 유틸리티에 문제가 발생하는 드문 경우에만 시도해야 합니다.

드라이버 설치 유틸리티를 사용하여 드라이버 설치

이 섹션에서는 필수 driver를 설치하는 방법에 대해 설명합니다. 이 프로세스에는 필수 driver를 자동으로 다운로드, 설치 및 구성하는 스크립트 실행이 포함됩니다. 필요에 따라 스크립트를 실행하여 driver를 업데이트하고 제거할 수도 있습니다.

설치 준비

  • Python 3.6 이상이 데이터 이동 게이트웨이 서버에 설치되어 있는지 확인합니다.

    Python은 대부분의 Linux 배포에 사전 설치되어 있습니다. 다음 명령을 실행하여 시스템에 설치된 Python 버전을 확인할 수 있습니다.

    python3 --version

driver 설치

driver다운로드하고 설치하려면:

  1. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  2. 다음 명령을 실행합니다.

    구문:

    ./install postgres

    driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 install postgres 명령을 다시 실행합니다.

    그렇지 않으면 driver에 대한 EULA가 표시됩니다.

  3. 다음 중 하나를 수행합니다.

    • [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
    • 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
    • q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
  4. 다음 중 하나를 수행합니다.

    • "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
    • "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
    • "v"를 입력하고 [Enter] 키를 눌러 EULA를 다시 봅니다.

  5. driver가 설치됩니다.

driver 업데이트

제공된 driver를 설치하기 전에 driver의 이전 버전을 제거하려면 업데이트 명령을 실행합니다.

driver를 다운로드하고 업데이트하려면:

  1. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  2. 다음 명령을 실행합니다.

    구문:

    ./update postgres

    driver를 다운로드할 수 없는 경우(액세스 제한 또는 기술 문제로 인해) driver를 다운로드할 위치와 데이터 이동 게이트웨이 컴퓨터에서 복사할 위치를 알려 주는 메시지가 표시됩니다. 완료했으면 update postgres 명령을 다시 실행합니다.

    그렇지 않으면 driver에 대한 EULA가 표시됩니다.

  3. 다음 중 하나를 수행합니다.

    • [Enter] 키를 반복해서 눌러 EULA를 천천히 스크롤합니다.
    • 스페이스바를 반복해서 눌러 EULA를 빠르게 스크롤합니다.
    • q를 눌러 라이센스 텍스트를 종료하고 EULA 동의 옵션이 표시됩니다.
  4. 다음 중 하나를 수행합니다.

    • "y"를 입력하고 [Enter]를 눌러 EULA에 동의하고 설치를 시작합니다.
    • "n"을 입력하고 [Enter] 키를 눌러 EULA를 거부하고 설치를 종료합니다.
    • "v"를 입력하고 [Enter] 키를 눌러 EULA를 처음부터 검토합니다.
  5. 이전 driver가 제거되고 새 driver가 설치됩니다.

driver 제거

driver를 제거하려면 제거 명령을 실행합니다.

driver를 제거하려면:

  1. 이 커넥터를 사용하도록 구성된 모든 작업을 중지합니다.

  2. 데이터 이동 게이트웨이 컴퓨터에서 작업 디렉터리를 다음으로 변경합니다.

    opt/qlik/gateway/movement/drivers/bin

  3. 다음 명령을 실행합니다.

    구문:

    ./uninstall postgres

    driver이 제거됩니다.

수동으로 드라이버 설치

자동 드라이버 설치가 성공적으로 완료되지 않은 경우에만 수동으로 driver 설치를 시도해야 합니다.

데이터 이동 게이트웨이를 설치한 후 다음 RPM 파일을 다운로드합니다. /opt/qlik/gateway/movement/drivers/manifests/postgres.yamlbinary-artifacts에서 파일에 대한 직접 다운로드 링크를 찾을 수 있습니다. 다운로드가 완료되면 파일을 데이터 이동 게이트웨이 컴퓨터에 복사합니다.

Red Hat 9.x에 데이터 이동 게이트웨이가 설치된 경우:

  • postgresql<버전>-libs-<버전>PGDG.rhel9.x86_64.rpm
  • postgresql<버전>-<버전>PGDG.rhel9.x86_64.rpm
  • postgresql<버전>-odbc-<버전>PGDG.rhel9.x86_64.

Red Hat 8.x에 데이터 이동 게이트웨이가 설치된 경우:

  • postgresql<버전>-libs-<버전>PGDG.rhel8.x86_64.rpm
  • postgresql<버전>-<버전>PGDG.rhel8.x86_64.rpm
  • postgresql<버전>-odbc-<버전>PGDG.rhel8.x86_64.rpm

Data Movement gateway 서버에서 셸 프롬프트를 열고 다음을 수행합니다.

  1. Data Movement gateway 서비스 중지:

    sudo systemctl stop repagent

  2. 선택적으로 서비스가 중지되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: inactive (dead) since <timestamp> ago

  3. RPM 파일을 설치합니다.

  4. 작업 디렉터리를 <Data Movement gateway 설치 디렉터리>/bin으로 변경합니다.

  5. 다음과 같이 드라이버 위치를 site_arep_login.sh 파일에 복사합니다.

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh

    그러면 "LD_LIBRARY_PATH"에 드라이버가 추가되고 site_arep_login.sh 파일에서 드라이버 위치가 업데이트됩니다.

  6. 선택적으로 드라이버 위치가 복사되었는지 확인합니다.

    cat site_arep_login.sh
  7. 다음 예와 같이 /etc/odbcinst.ini 파일에 PostgreSQL에 대한 항목이 포함되어 있는지 확인합니다.

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

    Driver = /usr/pgsql-13/lib/psqlodbc.so

    Setup = /usr/pgsql-13/lib/psqlodbcw.so

    UsageCount = 1

  8. Data Movement gateway 서비스 시작:

    sudo systemctl start repagent

  9. 선택적으로 서비스가 시작되었는지 확인합니다.

    sudo systemctl status repagent

    상태는 다음과 같아야 합니다.

    Active: active (running) since <timestamp> ago

포트

기본적으로 Data Movement gateway 서버에서 아웃바운드 통신을 위해 포트 5432를 열어야 합니다. 커넥터 설정에서 변경할 수 있습니다.

고객이 설치한 PostgreSQL 데이터베이스에서 변경 내용 캡처

  • Data Movement gateway 컴퓨터의 IP 주소는 데이터베이스 필드에 "replication" 키워드와 함께 pg_hba.conf 구성 파일에 추가되어야 합니다.

    예:

    host replication all 176.123.1.212/32 trust

  • test_decoding 출력 플러그인(postgresql12-contrib 패키지에 있음)이 설치되어 있는지 확인합니다.

  • 연결 설정에 지정된 사용자에게 데이터베이스에 "슬롯"을 만들 수 있도록 소스 데이터베이스에 대한 읽기-쓰기 권한을 부여해야 합니다. 변경 내용을 읽으려면 슬롯이 필요합니다.

  • postgresql.conf 구성 파일에서 다음 매개 변수와 값을 설정해야 합니다.

    wal_level = logical
    max_replication_slots = number of replication slots

    여기서 number of replication slots는 1보다 커야 하며 실행하려는 작업 수에 따라 설정해야 합니다. 예를 들어, 5개의 작업을 실행하려면 max_replication_slots = 5를 설정해야 합니다. 작업이 시작되는 즉시 슬롯이 자동으로 열리고 작업이 더 이상 실행되지 않는 경우에도 열린 상태를 유지합니다. 열려 있는 슬롯은 수동으로 삭제해야 합니다.

    max_wal_senders = number of concurrent tasks

    여기서 number of concurrent tasks는 1보다 커야 하며 동시에 실행 중인 작업 수에 따라 설정해야 합니다. 예를 들어, 세 가지 작업을 동시에 실행하려면 max_wal_senders = 3을 설정해야 합니다.

  • wal_sender_timeout 매개 변수는 지정된 시간(밀리초)보다 오래 비활성 상태인 연결을 종료합니다. 기본 시간 제한은 60초입니다. 시간 제한 메커니즘을 비활성화하려면(선택 사항) 이 매개 변수를 0으로 설정합니다.

    정보 메모

    기본적으로 wal_sender_timeout 매개 변수 값은 서버에서 밀리초로 해석됩니다. 초를 명시적으로 지정하려면 다음 예와 같이 값에 "s"를 추가합니다.

    wal_sender_timeout=60s

구성 매개 변수에 대한 자세한 내용은 PostgreSQL 온라인 도움말에서 서버 구성 아래의 복제 섹션을 참조하십시오.

PostgreSQL용 Amazon RDS에서 변경 내용 캡처

PostgreSQL 데이터베이스 인스턴스의 AWS 마스터 사용자 계정을 Amazon RDS for PostgreSQL 소스 종료 지점의 사용자로 사용할 수 있습니다. 마스터 사용자 계정에는 CDC(변경 데이터 캡처)를 설정하는 데 필요한 역할이 있습니다.

마스터 사용자 계정을 사용하지 않으려면 사용하려는 계정에 rds_superuser 역할과 rds_replication 역할이 있어야 합니다. rds_replication 역할은 논리적 슬롯을 관리하고 논리적 슬롯을 사용하여 데이터를 스트리밍할 수 있는 권한을 부여합니다.

Amazon RDS PostgreSQL 데이터베이스 인스턴스에 대한 논리적 복제를 활성화하려면:

  1. 다음 구성으로 새 매개 변수 그룹을 만듭니다.
    1. 데이터베이스 매개 변수 그룹의 rds.logical_replication 매개 변수를 1로 설정합니다.
    2. max_wal_senders – 병렬로 실행할 수 있는 작업의 수입니다.
    3. max_replication_slots – 모든 연결(즉, 작업)은 새 슬롯을 만듭니다. 이 매개 변수는 데이터베이스에 설정할 수 있는 동시 연결 수를 구성합니다.
  2. Amazon RDS 인스턴스를 매개 변수 그룹에 연결합니다.

PostgreSQL용 Microsoft Azure에서 변경 내용 캡처

Microsoft Azure for PostgreSQL에서 변경 내용을 캡처할 수 있으려면 아래 단계에 설명된 대로 "replication" 속성을 "logical"로 설정해야 합니다.

  1. Azure CLI를 열고 다음 명령을 실행합니다.

    정보 메모

    CLI를 다운로드하거나 Azure Portal에서 셸 명령을 통해 연결할 수 있습니다.

    az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical

    az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical

     

  2. 명령줄을 사용하거나 포털을 통해 데이터베이스를 다시 시작합니다.

Google Cloud SQL for PostgreSQL에서 변경 내용 캡처

정보 메모이 기능을 사용하려면 데이터 이동 게이트웨이 2022.11.42 이상이 필요합니다.

데이터베이스에서 변경 내용을 캡처하려면 논리적 복제를 설정해야 합니다.

논리적 복제를 설정하려면:

  1. Google 클라우드 플랫폼의 PostgreSQL 설정에서 다음 플래그를 설정합니다.

    • cloudsql.logical_decoding=on
    • max_replication_slots: 모든 연결(즉, 작업)은 새 슬롯을 만듭니다. 이 매개 변수는 데이터베이스에 설정할 수 있는 동시 연결의 양을 구성합니다. 성능 문제가 발생하면 이 값을 늘리면 도움이 될 수 있습니다.
    • max_wal_senders: 병렬로 실행할 수 있는 작업의 수입니다. 성능 문제가 발생하면 이 값을 늘리면 도움이 될 수 있습니다.

    이러한 매개 변수에 대한 자세한 내용은 https://www.postgresql.org/docs/current/runtime-config-replication.html을 참조하십시오.

  2. 데이터베이스에서, 복제를 지원하도록 connector 설정(username)에 지정된 사용자를 변경합니다.

    ALTER USER username WITH REPLICATION;

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!