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

# مصدر قاموس PostgreSQL

> هيّئ PostgreSQL كمصدر قاموس في ClickHouse.

مثال على الإعدادات:

<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`                            | معايير التحديد. صياغة الشروط هي نفسها المستخدمة في عبارة `WHERE` في PostgreSQL. على سبيل المثال، `id > 10 AND id < 20`. اختياري.                                                        |
| `invalidate_query`                 | استعلام للتحقق من حالة القاموس. اختياري. اقرأ المزيد في قسم [Refreshing dictionary data using LIFETIME](/ar/reference/statements/create/dictionary/lifetime).                           |
| `background_reconnect`             | أعد الاتصال بالنسخة المتماثلة في الخلفية إذا فشل الاتصال. اختياري.                                                                                                                      |
| `query`                            | استعلام مخصص. اختياري.                                                                                                                                                                  |
| `sslmode`                          | وضع TLS/SSL المُمرَّر إلى `libpq`: `disable` أو `allow` أو `prefer` أو `require` أو `verify-ca` أو `verify-full`. عند عدم ضبطه، يُطبَّق الإعداد الافتراضي `prefer` لـ `libpq`. اختياري. |
| `sslrootcert_pem`                  | محتويات شهادة CA التي يُتحقق مقابلها من شهادة خادم PostgreSQL. اختياري.                                                                                                                 |
| `sslcert_pem`                      | محتويات شهادة العميل، للمصادقة المستندة إلى الشهادات. اختياري.                                                                                                                          |
| `sslkey_pem`                       | محتويات المفتاح الخاص المرتبط بـ `sslcert_pem`. اختياري.                                                                                                                                |
| `sslrootcert`, `sslcert`, `sslkey` | بيانات الاعتماد نفسها كمسارات إلى ملفات على الخادم. يُسمح بها فقط لقاموس معرّف في ملف إعدادات الخادم، أو من خلال مجموعة مسماة معرّفة فيه، انظر أدناه. اختياري.                          |

<Note>
  لا يمكن استخدام الحقلين `table` أو `where` مع الحقل `query` في الوقت نفسه. ويجب التصريح بأحد الحقلين `table` أو `query`.
</Note>

<Note>
  تشير `sslrootcert` و`sslcert` و`sslkey` إلى ملفات يفتحها الخادم باستخدام صلاحياته الخاصة، ولذلك لا تُقبل إلا ضمن قاموس معرّف في ملف إعدادات الخادم أو عبر مجموعة مسمّاة معرّفة فيه. يجب أن يمرّر القاموس المُنشأ باستعلام `CREATE DICTIONARY` محتوياتها بدلًا من ذلك، ضمن `sslrootcert_pem` و`sslcert_pem` و`sslkey_pem`. تُحجب هذه القيم في السجلات واستعلامات `SHOW`، تمامًا كما تُحجب كلمات المرور.
</Note>
