docker 安装
-
拉取ClickHouse-server镜像:
使用以下命令从Docker Hub上拉取ClickHouse-server镜像:docker pull yandex/clickhouse-server:21.12.4.1 -
运行ClickHouse容器:
使用以下命令运行ClickHouse容器:docker run -d --rm --name=clickhouse yandex/clickhouse-server:21.12.4.1该命令会在后台运行ClickHouse容器,并将其命名为“clickhouse”。您可以通过运行“docker ps”命令来检查容器的状态。
配置ClickHouse:
在运行容器之后,您需要配置ClickHouse数据库。首先,在宿主机上创建目录,用于存放配置文件、数据和日志文件。例如,您可以运行以下命令来创建目录:
mkdir -p /data/udata/clickhouse01/conf/data/udata/clickhouse01/data/data/udata/clickhouse01/log
接下来,将容器内的配置文件拷贝到宿主机上。使用以下命令将配置文件“users.xml”从容器拷贝到宿主机的指定目录:
docker cp clickhouse:/etc/clickhouse-server/users.xml /data/udata/clickhouse01/conf/users.xml
- 启动ClickHouse服务:
进入ClickHouse容器,并启动服务。运行以下命令:
docker exec -it clickhouse /bin/bash
在容器内部,进入“/etc/clickhouse-server”目录,并启动服务:
-
测试ClickHouse:
您可以使用客户端工具连接到刚刚安装和配置的ClickHouse数据库,并进行测试。例如,使用以下命令连接到数据库:clickhouse-client --host localhost --port 9000 --user default --password your_password --database test --format_csv_delimiter=',' --format_csv_line_term=\n --format_csv_field_term='"' --format_csv_skip_empty_lines=1 --format_csv_allow_quotes=1 --format_csv_quotes_as_empty=1 --format_csv_null='NULL' --format_csv_drop_quotas=1 --format_csv_double_quotes='"' --format_csv_max_field_width=9999999999999999999999999999999999999999999999999999999999999 --format_csv_max_record_width=10000000000000000000000000000000000000000000000000000000 --query='SELECT * FROM system.parts' && echo 'Successfully connected to ClickHouse database.' || echo 'Failed to connect to ClickHouse database.'
docker pull clickhouse/clickhouse-server
docker run -d --name clickhouse-server
-p 8123:8123 -p 9000:9000
clickhouse/clickhouse-server
启动ClickHouse容器
docker run -d
--name clickhouse-server
--ulimit nofile=262144:262144
-p 8123:8123
-p 9000:9000
-p 9009:9009
-v /data/clickhouse/data:/var/lib/clickhouse
-v /data/clickhouse/log:/var/log/clickhouse-server
clickhouse/clickhouse-server:latest
进入容器执行命令
docker exec -it clickhouse-server clickhouse-client
Exception: Could not determine time zone from TZ variable value: 'UTC': filesystem error: in weakly_canonical: Operation not permitted ["/usr/share/zoneinfo/"], Stack trace (when copying this message, always include the lines below):
完整 Docker run 命令(修复时区+权限问题,支持持久化数据)
docker run -d \
--name clickhouse-server \
--privileged=true \
-p 8123:8123 \
-p 9000:9000 \
-e TZ=UTC \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/share/zoneinfo:/usr/share/zoneinfo:ro \
-v /Users/mac/Desktop/tools/docker/clickhouse/clickhouse-data:/var/lib/clickhouse \
-v /Users/mac/Desktop/tools/docker/clickhouse/clickhouse-logs:/var/log/clickhouse-server \
--ulimit nofile=262144:262144 \
clickhouse/clickhouse-server:latest

测试


进入docker 测试是否成功

只修改了/etc/clickhouse-server user.xml 把密码写进去。重启即可。
官网地址:
https://clickhouse.com/docs/zh/getting-started/quick-start/cloud
java demo
简单连接 错误信息为:
LZ4 is not supported. Please disable compression(compress=0), modify the algorithm(e.g. compress_algorithm=gzip), or add the missing libraries to the classpath., server ClickHouseNode [uri=http://localhost:8123/default]@-1259364225
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.4.6</version>
<!-- 可选:排除不必要的依赖,减小包体积 -->
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- LZ4 核心依赖(必须) -->
<dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>1.8.0</version>
</dependency>
<!-- ZSTD 压缩依赖(可选,ClickHouse 也支持该算法) -->
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.5.5-1</version>
</dependency>
package com.spring.clickhouse.demo;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
/**
* 原生 Java 连接 ClickHouse 工具类及示例
*/
public class ClickHouseNativeDemo {
// ClickHouse 连接配置(按需修改)
private static final String CLICKHOUSE_URL = "jdbc:clickhouse://localhost:8123/default?compress=0"; // 8123 HTTP 端口(推荐)
// 若使用 9000 TCP 端口,URL 格式:jdbc:clickhouse://localhost:9000/default
private static final String CLICKHOUSE_USER = "default";
private static final String CLICKHOUSE_PASSWORD = "ClickHouse@123"; // 无密码则设为 ""
/**
* 获取 ClickHouse 数据库连接
*/
public static Connection getConnection() throws SQLException {
// 加载驱动(新版 JDBC 可自动加载,手动加载兼容旧环境)
try {
Class.forName("com.clickhouse.jdbc.ClickHouseDriver");
} catch (ClassNotFoundException e) {
throw new RuntimeException("加载 ClickHouse 驱动失败", e);
}
// 建立连接(有密码/无密码适配)
if ("".equals(CLICKHOUSE_PASSWORD) || CLICKHOUSE_PASSWORD == null) {
return DriverManager.getConnection(CLICKHOUSE_URL, CLICKHOUSE_USER, "");
} else {
return DriverManager.getConnection(CLICKHOUSE_URL, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD);
}
}
/**
* 示例 1:查询数据(SHOW DATABASES 或查询表数据)
*/
public static List<String> queryDatabases() {
List<String> databaseList = new ArrayList<>();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 获取连接
conn = getConnection();
// 2. 创建 Statement
stmt = conn.createStatement();
// 3. 执行查询 SQL
String sql = "SHOW DATABASES;";
rs = stmt.executeQuery(sql);
// 4. 处理结果集
while (rs.next()) {
String databaseName = rs.getString(1); // 按列索引获取(或按列名 rs.getString("name"))
databaseList.add(databaseName);
}
System.out.println("查询数据库成功,共获取 " + databaseList.size() + " 个数据库");
} catch (SQLException e) {
throw new RuntimeException("查询 ClickHouse 数据失败" + e.getMessage(), e);
} finally {
// 5. 关闭资源(逆序关闭)
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
System.err.println("关闭 ClickHouse 连接资源失败");
e.printStackTrace();
}
}
return databaseList;
}
/**
* 示例 2:插入数据(先创建测试表,再插入数据)
*/
public static void insertData() {
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 1. 获取连接
conn = getConnection();
conn.setAutoCommit(false); // 关闭自动提交,支持事务
// 2. 先创建测试表(若不存在)
String createTableSql = "CREATE TABLE IF NOT EXISTS test_user (" +
"id Int32," +
"name String," +
"age Int32," +
"create_time DateTime DEFAULT now()" +
") ENGINE = MergeTree() ORDER BY id;";
pstmt = conn.prepareStatement(createTableSql);
pstmt.executeUpdate();
conn.commit();
System.out.println("创建/验证 test_user 表成功");
// 3. 执行插入 SQL(使用 PreparedStatement 防止 SQL 注入)
String insertSql = "INSERT INTO test_user (id, name, age) VALUES (?, ?, ?);";
pstmt = conn.prepareStatement(insertSql);
// 批量插入 3 条数据
for (int i = 1; i <= 3; i++) {
pstmt.setInt(1, i);
pstmt.setString(2, "User" + i);
pstmt.setInt(3, 20 + i);
pstmt.addBatch(); // 添加到批处理
}
// 4. 执行批处理并提交事务
pstmt.executeBatch();
conn.commit();
System.out.println("批量插入数据到 test_user 表成功");
} catch (SQLException e) {
// 事务回滚
try {
if (conn != null) conn.rollback();
} catch (SQLException ex) {
ex.printStackTrace();
}
throw new RuntimeException("插入 ClickHouse 数据失败", e);
} finally {
// 5. 关闭资源
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
System.err.println("关闭 ClickHouse 连接资源失败");
e.printStackTrace();
}
}
}
// 主方法测试
public static void main(String[] args) {
// 测试查询数据库
List<String> databases = queryDatabases();
databases.forEach(System.out::println);
// 测试插入数据
insertData();
}
}
结果
/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55471,suspend=y,server=n -javaagent:/Users/mac/Library/Caches/JetBrains/IntelliJIdea2021.3/captureAgent/debugger-agent.jar=file:/private/var/folders/pv/1ypkqy1d4wd16p7htkhr6w3r0000gn/T/capture.props -Dfile.encoding=UTF-8 -classpath /Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/charsets.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/cldrdata.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/dnsns.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/jaccess.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/jfxrt.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/localedata.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/nashorn.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunec.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/zipfs.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jce.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jfr.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jfxswt.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jsse.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/management-agent.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/resources.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/rt.jar:/Users/mac/Documents/project/spring-study-sgg/spring-boot-data/spring-boot-clickhouse/target/classes:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-thymeleaf/2.7.0/spring-boot-starter-thymeleaf-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter/2.7.0/spring-boot-starter-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.7.0/spring-boot-starter-logging-2.7.0.jar:/Users/mac/.m2/repository/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11.jar:/Users/mac/.m2/repository/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11.jar:/Users/mac/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar:/Users/mac/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/Users/mac/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar:/Users/mac/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/mac/.m2/repository/org/yaml/snakeyaml/1.30/snakeyaml-1.30.jar:/Users/mac/.m2/repository/org/thymeleaf/thymeleaf-spring5/3.0.15.RELEASE/thymeleaf-spring5-3.0.15.RELEASE.jar:/Users/mac/.m2/repository/org/thymeleaf/thymeleaf/3.0.15.RELEASE/thymeleaf-3.0.15.RELEASE.jar:/Users/mac/.m2/repository/org/attoparser/attoparser/2.0.5.RELEASE/attoparser-2.0.5.RELEASE.jar:/Users/mac/.m2/repository/org/unbescape/unbescape/1.1.6.RELEASE/unbescape-1.1.6.RELEASE.jar:/Users/mac/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/Users/mac/.m2/repository/org/thymeleaf/extras/thymeleaf-extras-java8time/3.0.4.RELEASE/thymeleaf-extras-java8time-3.0.4.RELEASE.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.7.0/spring-boot-starter-web-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.7.0/spring-boot-starter-json-2.7.0.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.4.2/jackson-databind-2.13.4.2.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.4/jackson-annotations-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.4/jackson-datatype-jdk8-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.4/jackson-datatype-jsr310-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.13.4/jackson-module-parameter-names-2.13.4.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.7.0/spring-boot-starter-tomcat-2.7.0.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.63/tomcat-embed-core-9.0.63.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.63/tomcat-embed-el-9.0.63.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.63/tomcat-embed-websocket-9.0.63.jar:/Users/mac/.m2/repository/org/springframework/spring-web/5.3.23/spring-web-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-beans/5.3.23/spring-beans-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-webmvc/5.3.23/spring-webmvc-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-aop/5.3.23/spring-aop-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-context/5.3.23/spring-context-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-expression/5.3.23/spring-expression-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-devtools/2.7.0/spring-boot-devtools-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot/2.7.0/spring-boot-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.7.0/spring-boot-autoconfigure-2.7.0.jar:/Users/mac/.m2/repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar:/Users/mac/.m2/repository/org/springframework/spring-core/5.3.23/spring-core-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-jcl/5.3.23/spring-jcl-5.3.23.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-boot-starter/3.5.0/mybatis-plus-boot-starter-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus/3.5.0/mybatis-plus-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-extension/3.5.0/mybatis-plus-extension-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-core/3.5.0/mybatis-plus-core-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-annotation/3.5.0/mybatis-plus-annotation-3.5.0.jar:/Users/mac/.m2/repository/com/github/jsqlparser/jsqlparser/4.3/jsqlparser-4.3.jar:/Users/mac/.m2/repository/org/mybatis/mybatis/3.5.9/mybatis-3.5.9.jar:/Users/mac/.m2/repository/org/mybatis/mybatis-spring/2.0.6/mybatis-spring-2.0.6.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.7.0/spring-boot-starter-jdbc-2.7.0.jar:/Users/mac/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/Users/mac/.m2/repository/org/springframework/spring-jdbc/5.3.23/spring-jdbc-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-tx/5.3.23/spring-tx-5.3.23.jar:/Users/mac/.m2/repository/com/clickhouse/clickhouse-jdbc/0.4.6/clickhouse-jdbc-0.4.6.jar:/Users/mac/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/mac/.m2/repository/com/github/luben/zstd-jni/1.5.5-1/zstd-jni-1.5.5-1.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar com.spring.clickhouse.demo.ClickHouseNativeDemo
已连接到目标 VM, 地址: ''127.0.0.1:55471',传输: '套接字''
14:57:05.940 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - ClickHouse Driver 0.4.6.0(JDBC: 4.2.0.0) registered
14:57:06.174 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - Creating connection
14:57:06.717 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.cli.ClickHouseCommandLineClient@1d251891] against [HTTP]...
14:57:06.724 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.http.ClickHouseHttpClient@2133c8f8] against [HTTP]...
14:57:06.754 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:06.758 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:06.794 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@506e6d5e
14:57:06.794 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: select currentUser() user, timezone() timezone, version() version, toUInt8(ifnull((select value from system.settings where name = 'readonly'), '0')) as readonly, toInt8(ifnull((select value from system.settings where name = 'throw_on_unsupported_query_inside_transaction'), '-1')) as throw_on_unsupported_query_inside_transaction, (ifnull((select value from system.settings where name = 'wait_changes_become_visible_after_commit_mode'), '')) as wait_changes_become_visible_after_commit_mode,toInt8(ifnull((select value from system.settings where name = 'implicit_transaction'), '-1')) as implicit_transaction, toUInt64(ifnull((select value from system.settings where name = 'max_insert_block_size'), '0')) as max_insert_block_size, toInt8(ifnull((select value from system.settings where name = 'allow_experimental_lightweight_delete'), '-1')) as allow_experimental_lightweight_delete, (ifnull((select value from system.settings where name = 'custom_jdbc_config'), '')) as custom_jdbc_config FORMAT RowBinaryWithNamesAndTypes
14:57:10.714 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:10.715 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@1d057a39
14:57:10.715 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: SHOW DATABASES
查询数据库成功,共获取 4 个数据库
INFORMATION_SCHEMA
default
information_schema
system
14:57:11.543 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - Creating connection
14:57:11.545 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.cli.ClickHouseCommandLineClient@29774679] against [HTTP]...
14:57:11.548 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.http.ClickHouseHttpClient@3ffc5af1] against [HTTP]...
14:57:11.549 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.551 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.552 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@5e5792a0
14:57:11.552 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: select currentUser() user, timezone() timezone, version() version, toUInt8(ifnull((select value from system.settings where name = 'readonly'), '0')) as readonly, toInt8(ifnull((select value from system.settings where name = 'throw_on_unsupported_query_inside_transaction'), '-1')) as throw_on_unsupported_query_inside_transaction, (ifnull((select value from system.settings where name = 'wait_changes_become_visible_after_commit_mode'), '')) as wait_changes_become_visible_after_commit_mode,toInt8(ifnull((select value from system.settings where name = 'implicit_transaction'), '-1')) as implicit_transaction, toUInt64(ifnull((select value from system.settings where name = 'max_insert_block_size'), '0')) as max_insert_block_size, toInt8(ifnull((select value from system.settings where name = 'allow_experimental_lightweight_delete'), '-1')) as allow_experimental_lightweight_delete, (ifnull((select value from system.settings where name = 'custom_jdbc_config'), '')) as custom_jdbc_config FORMAT RowBinaryWithNamesAndTypes
14:57:11.805 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:11.827 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.828 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@77caeb3e
14:57:11.828 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: CREATE TABLE IF NOT EXISTS test_user (id Int32,name String,age Int32,create_time DateTime DEFAULT now()) ENGINE = MergeTree() ORDER BY id
14:57:12.251 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:12.251 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] (2 queries & 0 savepoints) is committed.
14:57:12.253 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] is committed - begin
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - 'eaf78fda-70d5-44dc-8ed6-45201d60b4e0', -- query (1 of 2) in transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9]
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - '2f5cb674-0aca-4d12-835e-eb6a52082f8a', -- query (2 of 2) in transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9]
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] is committed - end
创建/验证 test_user 表成功
14:57:12.266 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:12.267 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@5622fdf
14:57:12.267 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: SELECT id, name, age FROM `test_user` WHERE 0
14:57:12.351 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:12.352 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@6eebc39e
14:57:12.352 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: INSERT INTO test_user (id, name, age)
FORMAT RowBinary
14:57:12.864 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:12.864 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] (2 queries & 0 savepoints) is committed.
14:57:12.864 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] is committed - begin
14:57:12.865 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - 'a00b4816-a2ef-44d1-8537-81f9b34c2099', -- query (1 of 2) in transaction [34991646-0c78-4cbb-9282-3af5669f5a42]
14:57:12.865 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - '0add06ba-2975-4756-9505-82355b2c024d', -- query (2 of 2) in transaction [34991646-0c78-4cbb-9282-3af5669f5a42]
14:57:12.866 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] is committed - end
批量插入数据到 test_user 表成功
14:57:12.866 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] (0 queries & 0 savepoints) is committed.
14:57:12.867 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] is committed - begin
14:57:12.867 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] is committed - end
与目标 VM 断开连接, 地址为: ''127.0.0.1:55471',传输: '套接字''
进程已结束,退出代码0
其他



URL 添加 compress=0 极低 较大(无压缩) 测试环境、紧急应急 ★★★☆☆
URL 添加 compress_algorithm=gzip 极低 轻微(Gzip 压缩) 无法添加 LZ4 依赖的生产 / 开发环境 ★★★★★
服务端禁用 LZ4 / 更换为 Gzip 中等 全局生效(影响所有客户端) 多 Java 客户端、大规模部署场景 ★★★★☆