Перейти к основному содержимому
Перейти к основному содержимому

Источник словаря PostgreSQL

Пример настроек:

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'
))

Поля настроек:

SettingDescription
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.
background_reconnectПереподключение к реплике в фоновом режиме при сбое соединения. Необязательный параметр.
queryПроизвольный запрос. Необязательный параметр.
Примечание

Поля table или where нельзя использовать вместе с полем query. При этом одно из полей table или query должно быть указано.