> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ClickPipes의 소스로 Azure Flexible Server for Postgres를 설정합니다

# Azure Flexible Server for Postgres 소스 설정 가이드

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

ClickPipes는 Postgres 버전 12 이상을 지원합니다.

<div id="enable-logical-replication">
  ## 논리적 복제 활성화
</div>

`wal_level`이 `logical`로 설정되어 있으면 아래 단계를 수행할 **필요가 없습니다**. 다른 데이터 복제 도구에서 마이그레이션하는 경우에는 이 설정이 대부분 이미 구성되어 있습니다.

1. **Server parameters** 섹션을 클릭합니다.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/server_parameters.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=9dc0ee0d5d3376f91e5c0bb5365db487" alt="Azure Flexible Server for Postgres의 Server parameters" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/server_parameters.png" />

2. `wal_level`을 `logical`로 변경합니다.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/wal_level.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=590a2ba23fb8eace47cf65d21f41debe" alt="Azure Flexible Server for Postgres에서 wal_level을 logical로 변경" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/wal_level.png" />

3. 이 변경 사항을 적용하려면 서버를 다시 시작해야 합니다. 다시 시작하라는 메시지가 표시되면 서버를 다시 시작하십시오.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/restart.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=1876d1ece6b22d7a91114eab7288ae45" alt="wal_level 변경 후 서버 다시 시작" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/restart.png" />

<div id="creating-clickpipes-user-and-granting-permissions">
  ## ClickPipes 사용자 생성 및 권한 부여
</div>

관리자 사용자로 Azure Flexible Server Postgres에 연결한 다음, 아래 명령을 실행하십시오:

1. ClickPipes 전용 사용자를 생성합니다.

   ```sql theme={null}
   CREATE USER clickpipes_user PASSWORD 'some-password';
   ```

2. 이전 단계에서 생성한 사용자에게 스키마 수준의 읽기 전용 권한을 부여합니다. 다음 예시는 `public` 스키마에 대한 권한을 보여줍니다. 복제하려는 테이블이 포함된 각 스키마에 대해 이 명령을 반복하십시오:

   ```sql theme={null}
   GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
   GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
   ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
   ```

3. 사용자에게 복제 권한을 부여합니다:

   ```sql theme={null}
   ALTER USER clickpipes_user WITH REPLICATION;
   ```

4. 복제하려는 테이블로 [publication](https://www.postgresql.org/docs/current/logical-replication-publication.html)을 생성합니다. 성능 오버헤드를 피하려면 publication에는 필요한 테이블만 포함하는 것을 강력히 권장합니다.

<Warning>
  publication에 포함되는 모든 테이블에는 **primary key**가 정의되어 있거나 **replica identity**가 `FULL`로 설정되어 있어야 합니다. 범위를 지정하는 방법은 [Postgres FAQs](/ko/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication)를 참조하십시오.
</Warning>

* 특정 테이블에 대한 publication을 생성하려면:

  ```sql theme={null}
  CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
  ```

  * 특정 스키마의 모든 테이블에 대한 publication을 생성하려면:

    ```sql theme={null}
    CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
    ```

`clickpipes` publication에는 지정된 테이블에서 생성된 변경 이벤트 집합이 포함되며, 이후 복제 스트림을 수집하는 데 사용됩니다.

<div id="add-clickpipes-ips-to-firewall">
  ## ClickPipes IP를 방화벽에 추가
</div>

아래 단계에 따라 네트워크에 [ClickPipes IP](/ko/integrations/clickpipes/home#list-of-static-ips)를 추가하십시오.

1. **Networking** 탭으로 이동한 다음 [ClickPipes IP](/ko/integrations/clickpipes/home#list-of-static-ips)를 Azure Flexible Server Postgres의 방화벽 또는 SSH 터널링을 사용하는 경우 점프 서버/배스천의 방화벽에 추가하십시오.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-8a08bda2/KeiVE4MGTrCd9SX4/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/firewall.png?fit=max&auto=format&n=KeiVE4MGTrCd9SX4&q=85&s=a758c168638f36cec712345e8227e57e" alt="Azure Flexible Server for Postgres의 방화벽에 ClickPipes IP 추가" size="lg" width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/firewall.png" />

<div id="whats-next">
  ## 다음 단계
</div>

이제 [ClickPipe를 생성](/ko/integrations/clickpipes/postgres)하고 Postgres 인스턴스의 데이터를 ClickHouse Cloud로 수집하기 시작할 수 있습니다.
ClickPipe 생성 과정에서 필요하므로 Postgres 인스턴스를 설정할 때 사용한 연결 정보를 반드시 기록해 두십시오.
