clickhouse的SQL参考——(五)system、set和权限相关

参考资料

https://clickhouse.tech/docs/en/sql-reference/statements

版本:v20.11

 

目录

SYSTEM语句

RELOAD EMBEDDED DICTIONARIES

RELOAD DICTIONARIES

RELOAD DICTIONARY

DROP DNS CACHE

DROP MARK CACHE

DROP REPLICA

DROP UNCOMPRESSED CACHE

DROP COMPILED EXPRESSION CACHE

FLUSH LOGS

RELOAD CONFIG

SHUTDOWN

KILL

Managing Distributed Tables

STOP DISTRIBUTED SENDS

FLUSH DISTRIBUTED

START DISTRIBUTED SENDS

Managing MergeTree Tables

STOP MERGES

START MERGES

STOP TTL MERGES

START TTL MERGES

STOP MOVES

START MOVES

Managing ReplicatedMergeTree Tables

STOP FETCHES

START FETCHES

STOP REPLICATED SENDS

START REPLICATED SENDS

STOP REPLICATION QUEUES

START REPLICATION QUEUES

SYNC REPLICA

RESTART REPLICA

RESTART REPLICAS

GRANT语句

授予权限语法

分配角色语法

使用方法

权限

SELECT

INSERT

ALTER

CREATE

DROP

TRUNCATE

OPTIMIZE

SHOW

KILL QUERY

ACCESS MANAGEMENT

SYSTEM

INTROSPECTION

SOURCES

dictGet

ALL

NONE

ADMIN OPTION

REVOKE语句

语法

描述

部分撤销

举例

OPTIMIZE语句

SET语句

SET ROLE语句

SET DEFAULT ROLE

举例


 

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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aiky哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值