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

# PostgreSQL 딕셔너리 소스

> ClickHouse에서 PostgreSQL을 딕셔너리 소스로 구성합니다.

설정 예시:

<Tabs>
  <Tab title="DDL">
    ```sql theme={null}
    SOURCE(POSTGRESQL(
        port 5432
        host 'postgresql-hostname'
        user 'postgres_user'
        password 'postgres_password'
        db 'db_name'
        table 'table_name'
        replica(host 'example01-1' port 5432 priority 1)
        replica(host 'example01-2' port 5432 priority 2)
        where 'id=10'
        invalidate_query 'SQL_QUERY'
        query 'SELECT id, value_1, value_2 FROM db_name.table_name'
    ))
    ```
  </Tab>

  <Tab title="설정 파일">
    ```xml theme={null}
    <source>
      <postgresql>
          <host>postgresql-hostname</hoat>
          <port>5432</port>
          <user>clickhouse</user>
          <password>qwerty</password>
          <db>db_name</db>
          <table>table_name</table>
          <where>id=10</where>
          <invalidate_query>SQL_QUERY</invalidate_query>
          <query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
      </postgresql>
    </source>
    ```
  </Tab>
</Tabs>

<br />

설정 필드:

| 설정                     | 설명                                                                                                                                  |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `host`                 | PostgreSQL 서버의 호스트입니다. 모든 레플리카에 대해 지정하거나, 각 레플리카별로(`<replica>` 내부에) 개별 지정할 수 있습니다.                                                  |
| `port`                 | PostgreSQL 서버의 포트입니다. 모든 레플리카에 대해 지정하거나, 각 레플리카별로(`<replica>` 내부에) 개별 지정할 수 있습니다.                                                   |
| `user`                 | PostgreSQL 사용자 이름입니다. 모든 레플리카에 대해 지정하거나, 각 레플리카별로(`<replica>` 내부에) 개별 지정할 수 있습니다.                                                   |
| `password`             | PostgreSQL 사용자의 비밀번호입니다. 모든 레플리카에 대해 지정하거나, 각 레플리카별로(`<replica>` 내부에) 개별 지정할 수 있습니다.                                                |
| `replica`              | 레플리카 구성 섹션입니다. 여러 개를 지정할 수 있습니다.                                                                                                    |
| `replica/host`         | PostgreSQL 호스트입니다.                                                                                                                  |
| `replica/port`         | PostgreSQL 포트입니다.                                                                                                                   |
| `replica/priority`     | 레플리카 우선순위입니다. 연결을 시도할 때 ClickHouse는 우선순위 순서대로 레플리카를 순회합니다. 숫자가 낮을수록 우선순위가 높습니다.                                                     |
| `db`                   | 데이터베이스 이름입니다.                                                                                                                       |
| `table`                | 테이블 이름입니다.                                                                                                                          |
| `where`                | 선택 조건입니다. 조건의 구문은 PostgreSQL의 `WHERE` 절과 동일합니다. 예: `id > 10 AND id < 20`. 선택 사항입니다.                                                 |
| `invalidate_query`     | 딕셔너리 상태를 확인하는 쿼리입니다. 선택 사항입니다. 자세한 내용은 [LIFETIME을 사용한 딕셔너리 데이터 갱신](/ko/reference/statements/create/dictionary/lifetime) 섹션을 참조하십시오. |
| `background_reconnect` | 연결에 실패하면 백그라운드에서 레플리카에 다시 연결합니다. 선택 사항입니다.                                                                                          |
| `query`                | 사용자 지정 쿼리입니다. 선택 사항입니다.                                                                                                             |

<Note>
  `table` 또는 `where` 필드는 `query` 필드와 함께 사용할 수 없습니다. 또한 `table` 또는 `query` 필드 중 하나는 반드시 선언해야 합니다.
</Note>
