PostgreSQL 接口
ClickHouse 支持 PostgreSQL 线协议,这使您可以使用 Postgres 客户端连接到 ClickHouse。从某种意义上说,ClickHouse 可以假装成一个 PostgreSQL 实例 - 允许您连接一个尚未直接支持 ClickHouse 的 PostgreSQL 客户端应用程序(例如,Amazon Redshift)。
要启用 PostgreSQL 线协议,请将 postgresql_port 设置添加到服务器的配置文件中。例如,您可以在 config.d
文件夹中定义一个新的 XML 文件来指定端口:
启动您的 ClickHouse 服务器,并查找类似以下内容的日志消息,提及 正在监听 PostgreSQL 兼容协议:
连接 psql 到 ClickHouse
以下命令演示如何将 PostgreSQL 客户端 psql
连接到 ClickHouse:
例如:
备注
psql
客户端需要使用密码登录,因此您无法使用没有密码的 default
用户连接。请为 default
用户指定一个密码,或以其他用户的身份登录。
psql
客户端会提示输入密码:
就这样!您现在已经将 PostgreSQL 客户端连接到 ClickHouse,所有命令和查询都在 ClickHouse 上执行。
备注
PostgreSQL 协议目前仅支持明文密码。
使用 SSL
如果您在 ClickHouse 实例上配置了 SSL/TLS,则 postgresql_port
将使用相同的设置(该端口对安全和不安全的客户端都是共享的)。
每个客户端都有自己连接 SSL 的方法。以下命令演示如何传递证书和密钥以安全地将 psql
连接到 ClickHouse:
有关其 SSL 设置的更多详细信息,请查看 PostgreSQL 文档。