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

Интерфейс PostgreSQL

ClickHouse поддерживает проводной протокол PostgreSQL, который позволяет вам использовать клиенты Postgres для подключения к ClickHouse. В некотором смысле, ClickHouse может делать вид, что он является экземпляром PostgreSQL - позволяя подключить клиентское приложение PostgreSQL к ClickHouse, которое еще не поддерживается напрямую ClickHouse (например, Amazon Redshift).

Чтобы включить проводной протокол PostgreSQL, добавьте настройку postgresql_port в файл конфигурации вашего сервера. Например, вы можете определить порт в новом XML-файле в вашей папке config.d:

Запустите ваш сервер ClickHouse и ищите сообщение в журнале, подобное следующему, которое упоминает Прослушивание протокола совместимости с PostgreSQL:

Подключение psql к ClickHouse

Следующая команда демонстрирует, как подключить клиент PostgreSQL psql к ClickHouse:

Например:

примечание

Клиент psql требует входа с паролем, поэтому вы не сможете подключиться, используя пользователя default без пароля. Либо назначьте пароль для пользователя default, либо войдите под другим пользователем.

Клиент psql запрашивает пароль:

И все! Теперь у вас есть клиент PostgreSQL, подключенный к ClickHouse, и все команды и запросы выполняются на ClickHouse.

примечание

Протокол PostgreSQL в настоящее время поддерживает только пароли в открытом виде.

Использование SSL

Если у вас настроен SSL/TLS на вашем экземпляре ClickHouse, то postgresql_port будет использовать те же настройки (порт общий для защищенных и незащищенных клиентов).

Каждый клиент имеет свой собственный метод подключения с использованием SSL. Следующая команда демонстрирует, как передать сертификаты и ключ для безопасного подключения psql к ClickHouse:

Просмотрите документацию PostgreSQL для получения более подробной информации о их настройках SSL.