参考资料
https://clickhouse.tech/docs/en/sql-reference/statements
版本:v20.11
目录
DROP COMPILED EXPRESSION CACHE
Managing ReplicatedMergeTree Tables
SYSTEM语句
以下查询语句均以SYSTEM开头,格式为SYSTEM [相关语句]。
RELOAD EMBEDDED DICTIONARIES
重新加载所有内部词典(Internal dictionaries.)。
默认情况下,内部字典是禁用的。
始终返回OK, 无论内部字典更新的结果如何。
RELOAD DICTIONARIES
重新加载之前已成功加载的所有词典。
默认情况下,字典是延迟加载的(请参阅 dictionaries_lazy_load),因此,它们不是在启动时自动加载的,而是在第一次访问时通过dictGet函数或从ENGINE = Dictionary的表中使用SELECT查询时进行初始化的。
SYSTEM RELOAD DICTIONARIES查询重新加载此类字典(LOADED)。
始终返回OK。 不管字典更新的结果如何。
RELOAD DICTIONARY
完全重载字典dictionary_name,而不管字典的状态如何(LOADED / NOT_LOADED / FAILED)。
始终返回OK。 不管字典更新的结果如何。
可以通过查询system.dictionaries表来检查字典的状态。
SELECT name, status FROM system.dictionaries;
DROP DNS CACHE
重置ClickHouse的内部DNS缓存。 有时(对于旧的ClickHouse版本),在更改基础结构(更改其他ClickHouse服务器或词典使用的服务器的IP地址)时,必须使用此命令。
有关更方便的(自动)缓存管理,请参阅disable_internal_dns_cache,dns_cache_update_period参数。
DROP MARK CACHE
重置标记缓存。 用于ClickHouse的开发和性能测试。
DROP REPLICA
可以使用以下语法删除死副本:
--删除database.table表的'replica_name'副本的元数据。
SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
--对数据库中所有复制的表执行相同的操作。
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
--对本地服务器上所有复制的表执行相同的操作。
SYSTEM DROP REPLICA 'replica_name';
--当删除表的所有其他副本时,可用于删除无效副本的元数据。
--它要求显式指定表路径。 它必须与创建表时传递给ReplicatedMergeTree引擎的第一个参数的路径相同。
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';
查询将删除ZooKeeper中的副本路径。 当副本已失效并且DROP TABLE无法将其元数据从ZooKeeper中删除时,这将非常有用,因为不再有此类表。 它只会删除不活动/过时的副本,而不能删除本地副本,请为此使用DROP TABLE。 DROP REPLICA不会删除任何表,也不会从磁盘上删除任何数据或元数据。
DROP UNCOMPRESSED CACHE
重置未压缩的数据缓存。 用于ClickHouse的开发和性能测试。
对于管理未压缩的数据高速缓存参数,请使用以下设置,服务器级别的设置uncompressed_cache_size,查询/用户/配置文件级别的设置use_uncompressed_cache
DROP COMPILED EXPRESSION CACHE
重置编译的表达式缓存。 用于ClickHouse的开发和性能测试。
当query/user/profile开启编译选项时,编译表达式缓存会被使用。
FLUSH LOGS
将日志消息的缓冲区刷新到系统表(例如system.query_log)。 允许您调试时不等待7.5秒。
即使消息队列为空,也会创建系统表。
RELOAD CONFIG
重新加载ClickHouse配置。 当配置存储在ZooKeeper中时使用。
SHUTDOWN
正常关闭clickhouse服务器。
类似于service clickhouse-server stop、kill {$pid_clickhouse-server}
KILL
中止ClickHouse进程(像是kill -9 {$ pid_clickhouse-server})
Managing Distributed Tables
ClickHouse可以管理分布式表。 当用户将数据插入这些表中时,ClickHouse首先创建应发送到集群节点的数据队列,然后异步发送。
您可以使用STOP DISTRIBUTED SENDS,FLUSH DISTRIBUTED和START DISTRIBUTED SENDS查询来管理队列处理。
您还可以使用insert_distributed_sync设置同步插入分布式数据。
STOP DISTRIBUTED SENDS
将数据插入分布式表时,禁用后台数据分发。
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name>
FLUSH DISTRIBUTED
强制ClickHouse将数据同步发送到群集节点。
如果有节点不可用,ClickHouse会引发异常并停止查询执行。
在所有节点都重新联机后,您可以重试查询直到成功。
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name>
START DISTRIBUTED SENDS
将数据插入分布式表中时启用后台数据分发。
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name>
Managing MergeTree Tables
ClickHouse可以管理MergeTree表中的后台进程。
STOP MERGES
停止MergeTree系列中表的后台合并:
SYSTEM STOP MERGES [[db.]merge_tree_family_table_name]
即使之前已停止所有MergeTree表的合并,DETACH / ATTACH TABLE查询也会启动该表的后台合并。
START MERGES
启动MergeTree系列中表的后台合并:
SYSTEM START MERGES [[db.]merge_tree_family_table_name]
STOP TTL MERGES
根据TTL表达式,停止后台删除MergeTree系列表中的旧数据:
返回OK,即使表不存在或表没有使用MergeTree引擎。
数据库不存在时返回错误。
SYSTEM START TTL MERGES [[db.]merge_tree_family_table_name]
START TTL MERGES
根据TTL表达式,开始后台删除MergeTree系列表中的旧数据:
返回OK,即使表不存在或表没有使用MergeTree引擎。
数据库不存在时返回错误。
SYSTEM START TTL MERGES [[db.]merge_tree_family_table_name]
STOP MOVES
根据带有TO VOLUME或TO DISK子句的TTL表表达式,停止后台移动MergeTree系列表中的数据:
返回OK,即使表不存在或表没有使用MergeTree引擎。
数据库不存在时返回错误。
SYSTEM STOP MOVES [[db.]merge_tree_family_table_name]
START MOVES
根据带有TO VOLUME或TO DISK子句的TTL表表达式,开启后台移动MergeTree系列表中的数据:
返回OK,即使表不存在或表没有使用MergeTree引擎。
数据库不存在时返回错误。
SYSTEM STOP MOVES [[db.]merge_tree_family_table_name]
Managing ReplicatedMergeTree Tables
ClickHouse可以管理ReplicatedMergeTree表中的与后台复制相关的进程。
STOP FETCHES
停止对已经插入表中的数据的后台提取,用于ReplicatedMergeTree家族。
返回OK,即使表和数据库都不存在。
SYSTEM STOP FETCHES [[db.]replicated_merge_tree_family_table_name]
START FETCHES
开启对已经插入表中的数据的后台提取,用于ReplicatedMergeTree家族。
返回OK,即使表和数据库都不存在。
SYSTEM START FETCHES [[db.]replicated_merge_tree_family_table_name]
STOP REPLICATED SENDS
停止后台将插入到表中的新数据发送到群集中的其他副本,用于ReplicatedMergeTree家族。
SYSTEM STOP REPLICATED SENDS [[db.]replicated_merge_tree_family_table_name]
START REPLICATED SENDS
开启后台将插入到表中的新数据发送到群集中的其他副本,用于ReplicatedMergeTree家族。
SYSTEM START REPLICATED SENDS [[db.]replicated_merge_tree_family_table_name]
STOP REPLICATION QUEUES
停止从ZooKeeper集群中获取任务列表,用于ReplicatedMergeTree家族。
可能的后台任务类型:merges, fetches, mutation,带有 ON CLUSTER 的DDL语句。
SYSTEM STOP REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_name]
START REPLICATION QUEUES
开启从ZooKeeper集群中获取任务列表,用于ReplicatedMergeTree家族。
可能的后台任务类型:merges, fetches, mutation,带有 ON CLUSTER 的DDL语句。
SYSTEM START REPLICATION QUEUES [[db.]replicated_merge_tree_family_table_name]
SYNC REPLICA
等待ReplicatedMergeTree表与集群中的其他副本同步。
如果当前未对该表进行提取操作,则将一直运行到receive_timeout。
SYSTEM SYNC REPLICA [db.]replicated_merge_tree_family_table_name