Интерфейс 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.