跳至主要内容
跳至主要内容

SYSTEM 语句

SYSTEM RELOAD EMBEDDED DICTIONARIES

重新加载所有 内部字典。默认情况下,内部字典是禁用的。始终返回 Ok.,无论内部字典更新的结果如何。

SYSTEM RELOAD DICTIONARIES

SYSTEM RELOAD DICTIONARIES 查询重新加载状态为 LOADED 的字典(请参阅 system.dictionariesstatus 列),即之前已成功加载的字典。默认情况下,字典是延迟加载的(请参阅 dictionaries_lazy_load),因此它们不是在启动时自动加载,而是在首次通过使用 dictGet 函数或使用 ENGINE = Dictionary 的表进行 SELECT 查询时初始化。

语法

SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]

SYSTEM RELOAD DICTIONARY

完全重新加载字典 dictionary_name,无论字典的状态如何(LOADED / NOT_LOADED / FAILED)。始终返回 Ok.,无论更新字典的结果如何。

SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name

可以通过查询 system.dictionaries 表来检查字典的状态。

SELECT name, status FROM system.dictionaries;

SYSTEM RELOAD MODELS

注意

此语句和 SYSTEM RELOAD MODEL 只是从 clickhouse-library-bridge 中卸载 catboost 模型。函数 catboostEvaluate() 在首次访问时加载模型(如果尚未加载)。

卸载所有 CatBoost 模型。

语法

SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]

SYSTEM RELOAD MODEL

卸载位于 model_path 的 CatBoost 模型。

语法

SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>

SYSTEM RELOAD FUNCTIONS

重新加载所有已注册的 可执行的用户自定义函数,或从配置文件重新加载其中一个。

语法

SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_name

SYSTEM RELOAD ASYNCHRONOUS METRICS

重新计算所有 异步指标。由于异步指标是根据设置 asynchronous_metrics_update_period_s 定期更新的,因此通常不需要使用此语句手动更新它们。

SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]

SYSTEM CLEAR|DROP DNS CACHE

清除 ClickHouse 的内部 DNS 缓存。有时(对于旧版本的 ClickHouse)在更改基础设施(更改另一个 ClickHouse 服务器的 IP 地址或字典使用的服务器)时,需要使用此命令。

为了更方便(自动)的缓存管理,请参阅 disable_internal_dns_cachedns_cache_max_entriesdns_cache_update_period 参数。

SYSTEM CLEAR|DROP MARK CACHE

清除标记缓存。

SYSTEM CLEAR|DROP ICEBERG METADATA CACHE

清除 iceberg 元数据缓存。

SYSTEM CLEAR|DROP TEXT INDEX CACHES

清除文本索引的头部、字典和发布物缓存。

如果您想单独删除其中一个缓存,可以运行

  • SYSTEM CLEAR TEXT INDEX HEADER CACHE,
  • SYSTEM CLEAR TEXT INDEX DICTIONARY CACHE,或
  • SYSTEM CLEAR TEXT INDEX POSTINGS CACHE

SYSTEM DROP REPLICA

可以使用以下语法删除 ReplicatedMergeTree 表的死副本

SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
SYSTEM DROP REPLICA 'replica_name';
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';

这些查询将删除 ZooKeeper 中的 ReplicatedMergeTree 副本路径。当副本已死并且无法通过 DROP TABLE 从 ZooKeeper 中删除其元数据(因为不再存在该表)时,这很有用。它只会删除非活动/陈旧的副本,并且无法删除本地副本,请使用 DROP TABLE 删除本地副本。DROP REPLICA 不会删除任何表,也不会从磁盘中删除任何数据或元数据。

第一个删除 database.table 表的 'replica_name' 副本的元数据。第二个对数据库中的所有复制表执行相同的操作。第三个对本地服务器上的所有复制表执行相同的操作。第四个在所有其他表的副本都被删除时,用于删除死副本的元数据。必须明确指定表路径。它必须与在表创建时传递给 ReplicatedMergeTree 引擎的第一个参数相同的路径。

SYSTEM DROP DATABASE REPLICA

可以使用以下语法删除 Replicated 数据库的死副本

SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM DATABASE database;
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'];
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM ZKPATH '/path/to/table/in/zk';

SYSTEM DROP REPLICA 类似,但当无法运行 DROP DATABASE 时,从 ZooKeeper 中删除 Replicated 数据库副本路径。请注意,它不会删除 ReplicatedMergeTree 副本(因此您可能还需要 SYSTEM DROP REPLICA)。分片和副本名称是在创建数据库时在 Replicated 引擎参数中指定的名称。这些名称也可以从 system.clusters 中的 database_shard_namedatabase_replica_name 列中获得。如果缺少 FROM SHARD 子句,则 replica_name 必须是 shard_name|replica_name 格式的完整副本名称。

SYSTEM CLEAR|DROP UNCOMPRESSED CACHE

清除未压缩的数据缓存。未压缩的数据缓存通过查询/用户/配置文件级别的设置 use_uncompressed_cache 启用/禁用。其大小可以使用服务器级别的设置 uncompressed_cache_size 进行配置。

SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE

清除编译表达式缓存。编译表达式缓存通过查询/用户/配置文件级别的设置 compile_expressions 启用/禁用。

SYSTEM CLEAR|DROP QUERY CONDITION CACHE

清除查询条件缓存。

SYSTEM CLEAR|DROP QUERY CACHE

SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'

清除 查询缓存。如果指定了标签,则仅删除具有指定标签的查询缓存条目。

SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE

清除从 format_schema_path 加载的模式缓存。

支持的目标

  • Protobuf:从内存中删除导入的 Protobuf 消息定义。
  • 文件:删除缓存在本地存储在 format_schema_path 中的模式文件,在 format_schema_source 设置为 query 时生成。注意:如果未指定目标,则将清除两个缓存。
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]

SYSTEM FLUSH LOGS

将缓冲的日志消息刷新到系统表,例如 system.query_log。主要用于调试,因为大多数系统表都有默认的刷新间隔 7.5 秒。即使消息队列为空,这也会创建系统表。

SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]

如果您不想刷新所有内容,可以通过传递它们的名称或目标表来刷新一个或多个单独的日志

SYSTEM FLUSH LOGS query_log, system.query_views_log;

SYSTEM RELOAD CONFIG

重新加载 ClickHouse 配置。用于配置存储在 ZooKeeper 中时。请注意,SYSTEM RELOAD CONFIG 不会重新加载存储在 ZooKeeper 中的 USER 配置,它仅重新加载存储在 users.xml 中的 USER 配置。要重新加载所有 USER 配置,请使用 SYSTEM RELOAD USERS

SYSTEM RELOAD CONFIG [ON CLUSTER cluster_name]

SYSTEM RELOAD USERS

重新加载所有访问存储,包括:users.xml、本地磁盘访问存储、复制的(在 ZooKeeper 中)访问存储。

SYSTEM RELOAD USERS [ON CLUSTER cluster_name]

SYSTEM SHUTDOWN

ClickHouse Cloud 中不支持

正常关闭 ClickHouse(如 service clickhouse-server stop / kill {$pid_clickhouse-server}

SYSTEM KILL

中止 ClickHouse 进程(如 kill -9 {$ pid_clickhouse-server}

SYSTEM INSTRUMENT

使用 LLVM 的 XRay 功能管理检测点,当 ClickHouse 使用 ENABLE_XRAY=1 构建时可用。这使得在不修改源代码和最小化开销的情况下,能够在生产环境中进行调试和性能分析。如果没有添加任何检测点,性能损失可以忽略不计,因为它只会在那些长度超过 200 条指令的函数的序言和尾声处添加额外的跳转。

SYSTEM INSTRUMENT ADD

添加一个新的检测点。可以检查在 system.instrumentation 系统表中检测到的函数。可以为同一个函数添加多个处理程序,它们将按照添加检测点的顺序执行。要检测的函数可以从 system.symbols 系统表中获取。

有三种不同类型的处理程序可以添加到函数中

语法

SYSTEM INSTRUMENT ADD FUNCTION HANDLER [PARAMETERS]

其中 FUNCTION 是任何函数或函数子字符串,例如 QueryMetricLog::startQuery,处理程序是以下之一

LOG

在函数的 ENTRYEXIT 时打印提供的文本和堆栈跟踪。

SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG ENTRY 'this is a log printed at entry'
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG EXIT 'this is a log printed at exit'

SLEEP

在函数的 ENTRYEXIT 时休眠指定秒数

SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5

或者休眠在最小值和最大值之间均匀分布的随机秒数,最小值和最大值之间用空格分隔

SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1

PROFILE

测量函数 ENTRYEXIT 之间的时间。分析结果存储在 system.trace_log 中,可以转换为 Chrome Event Trace Format 格式。

SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILE

SYSTEM INSTRUMENT REMOVE

使用以下方法删除单个检测点

SYSTEM INSTRUMENT REMOVE ID

或者使用 ALL 参数删除所有检测点

SYSTEM INSTRUMENT REMOVE ALL

从子查询中删除一组 ID

SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')

或者删除与给定函数名匹配的所有检测点

SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'

可以从 system.instrumentation 系统表中获取检测点信息。

管理分布式表

ClickHouse 可以管理 分布式 表。当用户将数据插入到这些表时,ClickHouse 首先创建一个队列,其中包含应发送到集群节点的数据,然后异步发送数据。可以使用 STOP DISTRIBUTED SENDSFLUSH DISTRIBUTEDSTART DISTRIBUTED SENDS 查询来管理队列处理。还可以使用 distributed_foreground_insert 设置同步插入分布式数据。

SYSTEM STOP DISTRIBUTED SENDS

禁用将数据插入分布式表时的后台数据分发。

SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
注意

如果启用了 prefer_localhost_replica(默认情况下启用),则数据仍将插入到本地分片。

SYSTEM FLUSH DISTRIBUTED

强制 ClickHouse 将数据同步发送到集群节点。如果任何节点不可用,ClickHouse 将抛出异常并停止查询执行。您可以重试查询,直到它成功,这将在所有节点恢复在线时发生。

您还可以通过 SETTINGS 子句覆盖某些设置,这对于避免某些临时限制(例如 max_concurrent_queries_for_all_usersmax_memory_usage)非常有用。

SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]
注意

每个待处理的块都以初始 INSERT 查询的设置存储在磁盘上,因此有时您可能需要覆盖设置。

SYSTEM START DISTRIBUTED SENDS

启用将数据插入分布式表时的后台数据分发。

SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]

SYSTEM STOP LISTEN

关闭套接字并优雅地终止服务器上指定端口和协议的现有连接。

但是,如果 clickhouse-server 配置中未指定相应的协议设置,则此命令将无效。

SYSTEM STOP LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
  • 如果指定了 CUSTOM 'protocol' 修饰符,则将停止在服务器配置的协议部分中定义的具有指定名称的自定义协议。
  • 如果指定了 QUERIES ALL [EXCEPT .. [,..]] 修饰符,则将停止所有协议,除非使用 EXCEPT 子句指定。
  • 如果指定了 QUERIES DEFAULT [EXCEPT .. [,..]] 修饰符,则将停止所有默认协议,除非使用 EXCEPT 子句指定。
  • 如果指定了 QUERIES CUSTOM [EXCEPT .. [,..]] 修饰符,则将停止所有自定义协议,除非使用 EXCEPT 子句指定。

SYSTEM START LISTEN

允许在指定的协议上建立新的连接。

但是,如果服务器在指定的端口和协议上未通过 SYSTEM STOP LISTEN 命令停止,则此命令将无效。

SYSTEM START LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']

管理 MergeTree 表

ClickHouse 可以管理 MergeTree 表中的后台进程。

SYSTEM STOP MERGES

ClickHouse Cloud 中不支持

提供停止 MergeTree 系列表中表的后台合并的可能性

SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
注意

DETACH / ATTACH 表即使在之前为所有 MergeTree 表停止合并的情况下,也会启动表的后台合并。

SYSTEM START MERGES

ClickHouse Cloud 中不支持

提供启动 MergeTree 系列表中表的后台合并的可能性

SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]

SYSTEM STOP TTL MERGES

提供停止 MergeTree 系列表中根据 TTL 表达式 删除旧数据的后台合并的可能性:即使表不存在或表没有 MergeTree 引擎,也返回 Ok. 数据库不存在时返回错误

SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START TTL MERGES

提供启动 MergeTree 系列表中根据 TTL 表达式 删除旧数据的后台合并的可能性:即使表不存在,也返回 Ok. 数据库不存在时返回错误

SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM STOP MOVES

提供停止 MergeTree 系列表中根据 带有 TO VOLUME 或 TO DISK 子句的表 TTL 表达式 后台移动数据的可能性:即使表不存在,也返回 Ok. 数据库不存在时返回错误

SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START MOVES

提供启动 MergeTree 系列表中根据 带有 TO VOLUME 和 TO DISK 子句的表 TTL 表达式 后台移动数据的可能性:即使表不存在,也返回 Ok. 数据库不存在时返回错误

SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM SYSTEM UNFREEZE

从所有磁盘中清除具有指定名称的冻结备份。有关在 ALTER TABLE table_name UNFREEZE WITH NAME 中解冻单个分区的更多信息

SYSTEM UNFREEZE WITH NAME <backup_name>

SYSTEM WAIT LOADING PARTS

等待表的所有异步加载数据部分(过时数据部分)变为已加载状态。

SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name

管理 ReplicatedMergeTree 表

ClickHouse 可以管理 ReplicatedMergeTree 表中的后台复制相关进程。

SYSTEM STOP FETCHES

ClickHouse Cloud 中不支持

提供停止 ReplicatedMergeTree 系列表中表的插入部分后台获取的可能性:无论表引擎如何,甚至如果表或数据库不存在,始终返回 Ok.

SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START FETCHES

ClickHouse Cloud 中不支持

ReplicatedMergeTree 系列的表插入的部分提供启动后台获取的可能性:无论表引擎如何,甚至如果表或数据库不存在,始终返回 Ok.

SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP REPLICATED SENDS

ReplicatedMergeTree 系列的表提供停止将新插入的部分发送到集群中其他副本的后台任务的可能性

SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START REPLICATED SENDS

ReplicatedMergeTree 系列的表提供启动将新插入的部分发送到集群中其他副本的后台任务的可能性

SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP REPLICATION QUEUES

ReplicatedMergeTree 系列的表提供停止从存储在 Zookeeper 中的复制队列中获取后台任务的可能性。可能的后台任务类型 - 合并、获取、变异、带有 ON CLUSTER 子句的 DDL 语句

SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START REPLICATION QUEUES

ReplicatedMergeTree 系列的表提供启动从存储在 Zookeeper 中的复制队列中获取后台任务的可能性。可能的后台任务类型 - 合并、获取、变异、带有 ON CLUSTER 子句的 DDL 语句

SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP PULLING REPLICATION LOG

停止将新的条目从复制日志加载到 ReplicatedMergeTree 表中的复制队列中。

SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START PULLING REPLICATION LOG

取消 SYSTEM STOP PULLING REPLICATION LOG

SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM SYNC REPLICA

等待 ReplicatedMergeTree 表与集群中的其他副本同步,但不会超过 receive_timeout 秒。

SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [IF EXISTS] [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]

运行此语句后,[db.]replicated_merge_tree_family_table_name 从公共复制日志中将其自己的复制队列中获取命令,然后查询等待副本处理所有获取的命令。支持以下修饰符

  • 使用 IF EXISTS(自 25.6 起可用),如果表不存在,查询将不会抛出错误。当将新副本添加到集群时,当它已经成为集群配置的一部分但仍在创建和同步表的过程中时,这很有用。
  • 如果指定了 STRICT 修饰符,则查询将等待复制队列变为空。如果新的条目不断出现在复制队列中,则 STRICT 版本可能永远无法成功。
  • 如果指定了 LIGHTWEIGHT 修饰符,则查询仅等待 GET_PARTATTACH_PARTDROP_RANGEREPLACE_RANGEDROP_PART 条目被处理。此外,LIGHTWEIGHT 修饰符支持一个可选的 FROM 'srcReplicas' 子句,其中 'srcReplicas' 是一个逗号分隔的源副本名称列表。此扩展允许通过仅关注来自指定源副本的复制任务来进行更有针对性的同步。
  • 如果指定了 PULL 修饰符,则查询从 ZooKeeper 拉取新的复制队列条目,但不等待任何内容被处理。

SYNC DATABASE REPLICA

等待指定的 复制的数据库 应用来自该数据库的 DDL 队列中的所有模式更改。

语法

SYSTEM SYNC DATABASE REPLICA replicated_database_name;

SYSTEM RESTART REPLICA

ReplicatedMergeTree 表提供重新初始化 Zookeeper 会话状态的可能性,将当前状态与 Zookeeper 作为事实来源进行比较,并在需要时将任务添加到 Zookeeper 队列中。基于 ZooKeeper 数据的复制队列初始化以与 ATTACH TABLE 语句相同的方式进行。在短时间内,该表将无法进行任何操作。

SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name

SYSTEM RESTORE REPLICA

如果数据[可能]存在但 Zookeeper 元数据丢失,则恢复副本。

仅适用于只读 ReplicatedMergeTree 表。

可以在以下情况下执行查询

  • ZooKeeper 根目录 / 丢失。
  • 副本路径 /replicas 丢失。
  • 单个副本路径 /replicas/replica_name/ 丢失。

副本附加本地找到的部分并将有关它们的信息发送到 Zookeeper。副本在元数据丢失之前存在的部分如果未过时,则不会从其他副本重新获取(因此副本恢复并不意味着通过网络重新下载所有数据)。

注意

所有状态下的部分都移动到 detached/ 文件夹。在数据丢失之前处于活动状态(已提交)的部分将被附加。

SYSTEM RESTORE DATABASE REPLICA

如果数据[可能]存在但 Zookeeper 元数据丢失,则恢复副本。

语法

SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]

示例

CREATE DATABASE repl_db
ENGINE=Replicated("/clickhouse/repl_db", shard1, replica1);

CREATE TABLE repl_db.test_table (n UInt32)
ENGINE = ReplicatedMergeTree
ORDER BY n PARTITION BY n % 10;

-- zookeeper_delete_path("/clickhouse/repl_db", recursive=True) <- root loss.

SYSTEM RESTORE DATABASE REPLICA repl_db;

语法

SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]

替代语法

SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name

示例

在多个服务器上创建表。在 ZooKeeper 中副本的元数据丢失后,该表将作为只读附加,因为缺少元数据。最后一个查询需要在每个副本上执行。

CREATE TABLE test(n UInt32)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
ORDER BY n PARTITION BY n % 10;

INSERT INTO test SELECT * FROM numbers(1000);

-- zookeeper_delete_path("/clickhouse/tables/test", recursive=True) <- root loss.

SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;

另一种方法

SYSTEM RESTORE REPLICA test ON CLUSTER cluster;

SYSTEM RESTART REPLICAS

为所有 ReplicatedMergeTree 表提供重新初始化 Zookeeper 会话状态的可能性,将当前状态与 Zookeeper 作为事实来源进行比较,并在需要时将任务添加到 Zookeeper 队列中

SYSTEM CLEAR|DROP FILESYSTEM CACHE

允许删除文件系统缓存。

SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]

SYSTEM SYNC FILE CACHE

注意

过于繁重且存在滥用的可能性。

将执行 sync syscall。

SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]

SYSTEM LOAD PRIMARY KEY

加载给定表或所有表的索引键。

SYSTEM LOAD PRIMARY KEY [db.]name
SYSTEM LOAD PRIMARY KEY

SYSTEM UNLOAD PRIMARY KEY

卸载给定表或所有表的索引键。

SYSTEM UNLOAD PRIMARY KEY [db.]name
SYSTEM UNLOAD PRIMARY KEY

管理可刷新物化视图

控制由 可刷新物化视图 执行的后台任务的命令

在使用它们时,请关注 system.view_refreshes

SYSTEM REFRESH VIEW

触发给定视图的立即非计划刷新。

SYSTEM REFRESH VIEW [db.]name

SYSTEM WAIT VIEW

等待当前运行的刷新完成。如果刷新失败,则抛出异常。如果没有正在运行的刷新,则立即完成,如果之前的刷新失败,则抛出异常。

SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS

禁用给定视图或所有可刷新视图的定期刷新。如果正在进行刷新,则取消它。

如果视图位于 Replicated 或 Shared 数据库中,STOP VIEW 仅影响当前副本,而 STOP REPLICATED VIEW 影响所有副本。

注意

停止状态不会在服务器重启后保留。重启后,视图将恢复其配置的刷新计划。在 Replicated 或 Shared 数据库中,SYSTEM STOP VIEW 仅影响当前副本。使用 SYSTEM STOP REPLICATED VIEW 在所有副本上停止刷新。

SYSTEM STOP VIEW [db.]name
SYSTEM STOP VIEWS

SYSTEM START [REPLICATED] VIEW, START VIEWS

启用给定视图或所有可刷新视图的定期刷新。不会触发立即刷新。

如果视图位于 Replicated 或 Shared 数据库中,START VIEW 将撤消 STOP VIEW 的影响,而 START REPLICATED VIEW 将撤消 STOP REPLICATED VIEW 的影响。

SYSTEM START VIEW [db.]name
SYSTEM START VIEWS

SYSTEM CANCEL VIEW

如果当前副本上给定视图有正在进行的刷新,则中断并取消它。否则不执行任何操作。

SYSTEM CANCEL VIEW [db.]name

SYSTEM WAIT VIEW

等待正在运行的刷新完成。如果没有正在运行的刷新,则立即返回。如果最新的刷新尝试失败,则报告错误。

可以在创建新的可刷新物化视图(不使用 EMPTY 关键字)后立即使用,以等待初始刷新完成。

如果视图位于 Replicated 或 Shared 数据库中,并且刷新正在另一个副本上运行,则等待该刷新完成。

SYSTEM WAIT VIEW [db.]name
    © . This site is unofficial and not affiliated with ClickHouse, Inc.