SELECT и INSERT) для обмена данными между ClickHouse и PostgreSQL.
Обеспечивает доступ в реальном времени к списку таблиц и структуре таблиц на удалённом сервере PostgreSQL с помощью запросов SHOW TABLES и DESCRIBE TABLE.
Поддерживает изменение структуры таблиц (ALTER TABLE ... ADD|DROP COLUMN). Если параметр use_table_cache (см. раздел «Параметры движка» ниже) установлен в 1, структура таблиц кэшируется и не проверяется на изменения, но может быть обновлена запросами DETACH и ATTACH.
Создание базы данных
host:port— Адрес сервера PostgreSQL.database— Имя удалённой базы данных.user— Пользователь PostgreSQL.password— Пароль пользователя.schema— Схема PostgreSQL.use_table_cache— Определяет, кэшируется ли структура таблицы базы данных. Необязательный параметр. Значение по умолчанию:0.
libpq и могут быть заданы через именованную коллекцию или в качестве завершающих аргументов ключ-значение: sslmode (disable, allow, prefer, require, verify-ca или verify-full), а также сертификаты и ключ в одном из двух вариантов. sslrootcert (CA‑сертификат), sslcert (клиентский сертификат) и sslkey (закрытый ключ клиента) — это пути к локальным файлам сервера; они принимаются только из именованной коллекции, определённой в файле конфигурации сервера. Вместо этого параметры sslrootcert_pem, sslcert_pem и sslkey_pem принимают литеральное содержимое соответствующих файлов; их можно указывать в SQL (например, ENGINE = PostgreSQL('host:port', 'database', 'user', 'password', sslmode = 'verify-full', sslrootcert_pem = '...')), а в журналах и запросах SHOW они маскируются так же, как пароль. Если они не заданы, применяются значения libpq по умолчанию (sslmode=prefer).
Поддержка типов данных
В PostgreSQL
numeric(p, 0) с precision p больше 76 (максимального значения, поддерживаемого Decimal256) — например, numeric(78, 0), который обычно используется для хранения 256-битных целых чисел, — сопоставляется с Int256, а не с Decimal. Значения, которые не помещаются в диапазон Int256, отклоняются с ошибкой.Примеры использования
use_table_cache был установлен в значение 1, структура таблицы в ClickHouse была кэширована и поэтому не была изменена: