背景
之前介紹過ClickHouse相關的系列文章,現在ClickHouse已經能正常使用起來了,包括副本和分片。因為ClickHouse已經可以提供服務了,現在需要關心的就是服務期間該數據庫的各項性能指標的情況,如CPU、內存、查詢等等。其實在安裝完ClickHouse之后,有個內置的數據庫system,該庫下保存了很多需要的信息,類似於MySQL中的information_schema和performance_schema。那么現在就來介紹下ClickHouse的系統庫,方便在使用的時候進行分析。
說明
系統表提供的信息如下:
- 服務器的狀態、進程以及環境。
- 服務器的內部進程。
系統表:
- 存儲於
system
數據庫。 - 僅提供數據讀取功能。
- 不能被刪除或更改,但可以對其進行分離(detach)操作。
大多數系統表將其數據存儲在RAM中, 一個ClickHouse服務在剛啟動時便會創建此類系統表。
用戶可以通過在/etc/clickhouse-server/config.d/
下創建與系統表同名的配置文件, 或者在/etc/clickhouse-server/config.xml
中設置相應配置項,來自定義系統日志表的結構。可供自定義的配置項如下:
<yandex> <query_log> <database>system</database> <table>query_log</table> <partition_by>toYYYYMM(event_date)</partition_by> <ttl>event_date + INTERVAL 30 DAY DELETE</ttl> <!-- <engine>ENGINE = MergeTree PARTITION BY toYYYYMM(event_date) ORDER BY (event_date, event_time) SETTINGS index_granularity = 1024</engine> --> <flush_interval_milliseconds>7500</flush_interval_milliseconds> </query_log> </yandex>
說明:
database
: 系統日志表所在的數據庫。這個選項目前已經不推薦使用。所有的系統日表都位於system
庫中。table
: 接收數據寫入的系統日志表。partition_by
: 指定PARTITION BY表達式。ttl
: 指定系統日志表TTL選項。flush_interval_milliseconds
: 指定日志表數據刷新到磁盤的時間間隔。engine
: 指定完整的表引擎定義(ENGINE
)。 這個選項與partition_by
以及ttl
沖突。如果與兩者一起設置,服務啟動時會拋出異常並且退出。
默認情況下,表增長是無限的,可以通過TTL 刪除過期日志記錄的設置來控制表的大小,也可以使用分區功能 MergeTree 引擎表。進入到system數據庫,看該庫下的所有表:

:) show tables; ┌─name───────────────────────────┐ │ aggregate_function_combinators │ │ asynchronous_metric_log │ │ asynchronous_metrics │ │ build_options │ │ clusters │ │ collations │ │ columns │ │ contributors │ │ current_roles │ │ data_type_families │ │ databases │ │ detached_parts │ │ dictionaries │ │ disks │ │ distributed_ddl_queue │ │ distribution_queue │ │ enabled_roles │ │ errors │ │ events │ │ formats │ │ functions │ │ grants │ │ graphite_retentions │ │ licenses │ │ macros │ │ merge_tree_settings │ │ merges │ │ metric_log │ │ metrics │ │ models │ │ mutations │ │ numbers │ │ numbers_mt │ │ one │ │ parts │ │ parts_columns │ │ privileges │ │ processes │ │ projection_parts │ │ projection_parts_columns │ │ query_log │ │ query_thread_log │ │ quota_limits │ │ quota_usage │ │ quotas │ │ quotas_usage │ │ replicas │ │ replicated_fetches │ │ replicated_merge_tree_settings │ │ replication_queue │ │ role_grants │ │ roles │ │ row_policies │ │ settings │ │ settings_profile_elements │ │ settings_profiles │ │ stack_trace │ │ storage_policies │ │ table_engines │ │ table_functions │ │ tables │ │ time_zones │ │ trace_log │ │ user_directories │ │ users │ │ zeros │ │ zeros_mt │ │ zookeeper │ └────────────────────────────────┘
現在開始進行相關的介紹說明:
- aggregate_function_combinators:聚合函數組合器表,聚合函數的名稱可以附加一個后綴,會改變原聚合函數的工作方式。
:) select * from aggregate_function_combinators; ┌─name────────┬─is_internal─┐ │ SimpleState │ 0 │ │ OrDefault │ 0 │ │ Distinct │ 0 │ │ Resample │ 0 │ │ ForEach │ 0 │ │ OrNull │ 0 │ │ Merge │ 0 │ │ State │ 0 │ │ Array │ 0 │ │ Null │ 1 │ │ If │ 0 │ └─────────────┴─────────────┘
如組合函數:sumIf、sumArray、avgOrDefault、sumOrNull等等。
- asynchronous_metrics:包含在后台定期計算的指標。 例如,正在使用的 RAM 量。
- asynchronous_metric_log:包含 asynchronous_metrics 的歷史值,每分鍾保存一次,默認啟用。
- build_options:構建選項,包含版本號、系統、編譯信息等。
- clusters:包含有關配置文件中可用的集群及其中的服務器的信息。
:) select * from clusters limit 1\G Row 1: ────── cluster: cluster_3shard_0repl shard_num: 1 shard_weight: 1 replica_num: 1 host_name: 172.16.150.215 host_address: 172.16.150.215 port: 9000 is_local: 1 user: default default_database: errors_count: 0 slowdowns_count: 0 estimated_recovery_time: 0
cluster
(String) — 集群名稱shard_num
(UInt32) — 分片數量,從1開始計數shard_weight
(UInt32) — 分片權重,寫入數據使用replica_num
(UInt32) — 分片的副本,從1開始計數host_name
(String) — 主機名host_address
(String) — IP地址port
(UInt16) — 端口user
(String) — 連接服務器的用戶名errors_count
(UInt32) - 此主機無法訪問副本的次數estimated_recovery_time
(UInt32) - 距離副本錯誤計數為零並被認為恢復正常的秒數- collations:排序規則
- columns:包含所有表中列的信息
:) select * from columns where table = 'ck_3shard_0repl' limit 1 FORMAT Vertical ; Row 1: ────── database: default table: ck_3shard_0repl name: id type: String position: 1 default_kind: default_expression: data_compressed_bytes: 0 data_uncompressed_bytes: 0 marks_bytes: 0 comment: is_in_partition_key: 0 is_in_sorting_key: 1 is_in_primary_key: 1 is_in_sampling_key: 0 compression_codec:
- database (String) — 庫名
- table (String) — 表名
- name (String) — 列名
- type (String) — 列類型
- default_kind (String) — 表達式類型 (DEFAULT, MATERIALIZED, ALIAS) 為默認值,如果沒有定義,則為空字符串
- default_expression (String) — 默認值的表達式,如果未定義則為空字符串
- data_compressed_bytes (UInt64) — 壓縮數據的大小,以字節為單位
- data_uncompressed_bytes (UInt64) — 解壓縮數據的大小,以字節為單位
- marks_bytes (UInt64) — 標記的大小,以字節為單位
- comment (String) — 列注釋,如果未定義,則為空字符串
- is_in_partition_key (UInt8) — 列是否在分區表達式中的標志
- is_in_sorting_key (UInt8) — 列是否在排序鍵表達式中的標志
- is_in_primary_key (UInt8) — 列是否在主鍵表達式中的標志
- is_in_sampling_key (UInt8) — 列是否在采樣鍵表達式中的標志
- current_roles:包含當前用戶的活動角色。 SET ROLE 更改此表的內容
- data_type_families:支持的數據類型表
- databases:包含當前可用的數據庫的信息
:) select * from databases; ┌─name────┬─engine─┬─data_path─────────────────┬─metadata_path──────────────────────────────────────────────────────┬─uuid─────────────────────────────────┐ │ default │ Atomic │ /ccdata/clickhouse/store/ │ /ccdata/clickhouse/store/f16/f166c36c-b553-4f44-b166-c36cb5535f44/ │ f166c36c-b553-4f44-b166-c36cb5535f44 │ │ system │ Atomic │ /ccdata/clickhouse/store/ │ /ccdata/clickhouse/store/fba/fbadef24-42af-425c-bbad-ef2442afd25c/ │ fbadef24-42af-425c-bbad-ef2442afd25c │ │ testdb │ Atomic │ /ccdata/clickhouse/store/ │ /ccdata/clickhouse/store/97a/97ac5640-b7e0-40fc-97ac-5640b7e030fc/ │ 97ac5640-b7e0-40fc-97ac-5640b7e030fc │ └─────────┴────────┴───────────────────────────┴────────────────────────────────────────────────────────────────────┴──────────────────────────────────────┘
- name (String) — 庫名
- engine (String) — 數據庫引擎
- data_path (String) — 數據庫路徑
- metadata_path (String) — 數據庫元數據路徑
- uuid (UUID) — 數據庫 UUID
- detached_parts:包含有關 MergeTree 表的 detach 部分的信息,可以用ATTACH PARTITION|PART進行裝載
- dictionaries:外部字典表信息
- disks:包含有關服務器配置中定義的磁盤的信息
:) select * from disks; ┌─name────┬─path────────────────┬───free_space─┬──total_space─┬─keep_free_space─┬─type──┐ │ default │ /ccdata/clickhouse/ │ 167115030528 │ 211242639360 │ 0 │ local │ └─────────┴─────────────────────┴──────────────┴──────────────┴─────────────────┴───────┘
- name (String) — 服務器配置中磁盤的名稱
-
path (String) — 文件系統中掛載點的路徑
-
free_space (UInt64) — 磁盤上的可用空間(以字節為單位)
-
total_space (UInt64) — 磁盤的總空間(以字節為單位)
-
keep_free_space (UInt64) — 在磁盤上保持空閑的磁盤空間量(以字節為單位),在磁盤配置的 keep_free_space_bytes 參數中定義
- distributed_ddl_queue:包含有關在集群上執行的分布式 ddl 查詢(ON CLUSTER 子句)的信息
:) select * from distributed_ddl_queue limit 1\G Row 1: ────── entry: query-0000000001 host_name: 172.16.150.215 host_address: 172.16.150.215 port: 9000 status: Finished cluster: cluster_3shard_0repl query: CREATE TABLE default.ck_3shard_0repl UUID '79de44ac-d101-48fe-b9de-44acd10118fe' ON CLUSTER cluster_3shard_0repl (`id` String, `price` Float64, `create_time` DateTime) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/ck_3shard_0repl', '{replica}') PARTITION BY toYYYYMM(create_time) ORDER BY id initiator: dba05:9000 query_start_time: 2021-06-23 14:09:44 query_finish_time: 2021-06-23 14:09:44 query_duration_ms: 2 exception_code: ZOK
- entry (String) — 查詢ID
- host_name (String) — 主機名
- host_address (String) — IP
- port (UInt16) — 端口.
- status (Enum8) — 查詢狀態
- cluster (String) — 集群名稱
- query (String) — 執行的語句
- initiator (String) — 執行查詢的節點
- query_start_time (DateTime) — 查詢開始時間
- query_finish_time (DateTime) — 查詢完成時間
- query_duration_ms (UInt64) — 執行時間,毫秒
- exception_code (Enum8) —ZooKeeper 的異常代碼
- distribution_queue:包含要發送到分片的隊列中的本地文件的信息。這些本地文件通過以異步模式將新數據插入分布式表而創建的新部分。
-
database (String) — 庫名
-
table (String) — 表名
-
data_path (String) — 包含本地文件的文件夾的路徑
-
is_blocked (UInt8) — 標志指示是否阻止向服務器發送本地文件
-
error_count (UInt64) — 錯誤數
-
data_files (UInt64) — 文件夾中的本地文件數
-
data_compressed_bytes (UInt64) — 本地文件中壓縮數據的大小,以字節為單位
-
broken_data_files (UInt64) — 已被標記為已損壞(由於錯誤)的文件數
-
broken_data_compressed_bytes (UInt64) — 損壞文件中壓縮數據的大小,以字節為單位
-
last_exception (String) — 關於發生的最后一個錯誤(如果有)的文本消息
-
- enabled_roles:包含當前所有活躍的角色,包括當前用戶的當前角色和當前角色授予的角色。
- errors:包含錯誤代碼以及它們被觸發的次數。
:) select * from errors limit 1\G Row 1: ────── name: UNKNOWN_TABLE code: 60 value: 4 last_error_time: 2021-06-24 16:36:26 last_error_message: Table system.distributed_queue doesn't exist last_error_trace: [146125178,147250595,257307633,257252227,257275592,262398676,260617881,260615518,262156135,258538161,258535714,263981828,263975971,272522930,272600505,312435887,312442682,313728825,313712426,140717595119269,140717592140285] remote: 0
- name (String) — 錯誤的名稱 (errorCodeToName)。
- code (Int32) — 錯誤的代碼編號。
- value (UInt64) — 此錯誤發生的次數。
- last_error_time (DateTime) — 上次發生錯誤的時間。
- last_error_message (String) — 最后一個錯誤的消息。
- last_error_trace (Array(UInt64)) — 堆棧跟蹤,表示存儲調用方法的物理地址列表。
- remote (UInt8) — 遠程異常(即在分布式查詢之一期間收到)。
- events:包含系統中發生的事件數量的信息。 例如在表中,可以找到自 ClickHouse 服務器啟動以來處理了多少 SELECT 查詢。
- formats:支持的格式信息。
- functions:包含有關普通函數和聚合函數的信息。
- grants:授予 ClickHouse 用戶帳戶的權限
:) select * from grants; ...
- user_name (Nullable(String)) — 用戶名
- role_name (Nullable(String)) — 分配給用戶帳戶的角色
- access_type (Enum8) — 用戶的訪問參數
- database (Nullable(String)) — 庫名
- table (Nullable(String)) — 表名
- column (Nullable(String)) — 授予訪問權限的列的名稱
- is_partial_revoke (UInt8) — 邏輯值。 它顯示某些權限是否已被撤銷。 可能的值:0 — 該行描述了部分撤銷;1 — 該行描述了一項授權
- grant_option (UInt8) — 使用 WITH GRANT OPTION 授予權限
- graphite_retentions:包含在帶有 *GraphiteMergeTree 引擎的表中使用的參數
- licenses:包含位於 ClickHouse 源的 contrib 目錄中的第三方庫的許可證
- macros:包含動態變量的信息
- merge_tree_settings:包含有關 MergeTree 表設置的信息
:) select * from merge_tree_settings limit 1\G Row 1: ────── name: min_compress_block_size value: 0 changed: 0 description: When granule is written, compress the data in buffer if the size of pending uncompressed data is larger or equal than the specified threshold. If this setting is not set, the corresponding global setting is used. type: UInt64
- name (String) — 設置名稱。
- value (String) — 設置值。
- description (String) — 設置描述。
- type (String) — 設置類型(實現特定的字符串值)。
- changed (UInt8) — 是否更改。
- merges:包含有關 MergeTree 系列表當前正在處理的合並和部分更改的信息。
:) select * from merges; ...
- database (String) — 表所在的數據庫的名稱。
- table (String) — 表名。
- elapsed (Float64) — 自合並開始以來經過的時間(以秒為單位)。
- progress (Float64) — 已完成工作的百分比,從 0 到 1。
- num_parts (UInt64) — 要合並的片段數。
- result_part_name (String) — 將作為合並結果形成的部分的名稱。
- is_mutation (UInt8) — 如果此過程是分區mutaion,則為 1。
- total_size_bytes_compressed (UInt64) — 合並塊中壓縮數據的總大小。
- total_size_marks (UInt64) — 合並部分中的標記總數。
- bytes_read_uncompressed (UInt64) — 讀取的未壓縮字節數。
- rows_read (UInt64) — 讀取的行數。
- bytes_written_uncompressed (UInt64) — 寫入的未壓縮字節數。
- rows_written (UInt64) — 寫入的行數。
- memory_usage (UInt64) — 合並過程的內存消耗。
- thread_id (UInt64) — 合並進程的線程 ID。
- merge_type — 當前合並的類型,如果是突變則為空。
- merge_algorithm — 當前合並中使用的算法,如果是突變則為空。
- metric_log:包含來自表 system.metrics 和 system.events 的指標值的歷史記錄,定期刷新到磁盤。
- metrics:包含可以立即計算或具有當前值的指標。 例如同時處理的查詢數或當前副本延遲,該表始終是最新的。
- models:模型
- mutations:包含有關 MergeTree 表的變更及其進度的信息。
:) select * from mutations; ...
- database (String) — 庫名
- table (String) — 表名
- mutation_id (String) — mutation ID。對於復制表,這些 ID 對應於 ZooKeeper的 ../mutations/ 目錄中的 znode 名稱。對於非復制表,ID 對應於表數據目錄中的文件名。
- command (String) — 命令的字符串(ALTER TABLE [db.]table 之后的查詢部分)。
- create_time (Datetime) — 提交變更命令以供執行的日期和時間。
- block_numbers.partition_id (Array(String)) — 對於復制表,數組包含分區的 ID(每個分區一個記錄)。對於非復制表,數組為空。
- block_numbers.number (Array(Int64)) — 對於復制表,數組包含每個分區的一條記錄,以及獲得的塊號。只有包含數字小於此數字的塊的部分才會在分區中發生變更。在非復制表中所有分區中的塊號形成一個序列,該列將包含一條記錄,該記錄具有通過mutation獲得的單個塊號。
- parts_to_do_names (Array(String)) — 數據部分的名稱數組。
- parts_to_do (Int64) — 變更的數量。
- is_done (UInt8) — 是否完成的標志。1 完成,0 未完成。
- latest_failed_part (String) — 無法改變的最新部分的名稱。
- latest_fail_time (Datetime) — 最近一次失敗的日期和時間。
- latest_fail_reason (String) — 導致最近失敗的異常消息。
- numbers:包含一個名為 number 的 UInt64 列,該列包含幾乎所有從零開始的自然數。可以使用此表進行測試。從此表中讀取不是並行化的。
- numbers_mt:與 system.numbers 相同,但讀取是並行化的。
- one:該表包含一行,其中包含一個包含值 0 的虛擬 UInt8 列。如果 SELECT 查詢未指定 FROM 子句,則使用此表。
- parts:包含有關 MergeTree 表分區的信息,每一行描述一個數據部分。
:) select * from parts limit 1\G Row 1: ────── partition: 202106 name: 202106_1_1766_852 uuid: 00000000-0000-0000-0000-000000000000 part_type: Compact active: 0 marks: 14 rows: 99120 bytes_on_disk: 186398 data_compressed_bytes: 185069 data_uncompressed_bytes: 2295607 marks_bytes: 1232 modification_time: 2021-06-24 19:33:58 remove_time: 2021-06-24 19:34:58 refcount: 1 min_date: 2021-06-23 max_date: 2021-06-24 min_time: 1970-01-01 08:00:00 max_time: 1970-01-01 08:00:00 partition_id: 202106 min_block_number: 1 max_block_number: 1766 level: 852 data_version: 1 primary_key_bytes_in_memory: 84 primary_key_bytes_in_memory_allocated: 8192 is_frozen: 0 database: system table: asynchronous_metric_log engine: MergeTree disk_name: default path: /ccdata/clickhouse/store/a9b/a9b7ecd5-a9fc-4710-a9b7-ecd5a9fc2710/202106_1_1766_852/ hash_of_all_files: 44309a6a6f7d6da0a45bf80625c9f223 hash_of_uncompressed_files: 2c9d1d988dfce85794ac644af9c982a7 uncompressed_hash_of_compressed_files: 207f50940df4a759f04cc1343750e7c5 delete_ttl_info_min: 1970-01-01 08:00:00 delete_ttl_info_max: 1970-01-01 08:00:00 move_ttl_info.expression: [] move_ttl_info.min: [] move_ttl_info.max: [] default_compression_codec: LZ4 recompression_ttl_info.expression: [] recompression_ttl_info.min: [] recompression_ttl_info.max: [] group_by_ttl_info.expression: [] group_by_ttl_info.min: [] group_by_ttl_info.max: [] rows_where_ttl_info.expression: [] rows_where_ttl_info.min: [] rows_where_ttl_info.max: []
- partition (String) – 分區名稱。要了解分區是什么,請參閱 ALTER 查詢的說明。
- name (String) – 數據部分的名稱。
- part_type (String) — 數據部分存儲格式。數據存儲格式由 MergeTree 表的 min_bytes_for_wide_part 和 min_rows_for_wide_part 控制。
- active (UInt8) – 指示數據部分是否處於活動狀態的標志。如果數據部分處於活動狀態,則在表中使用它。否則,它被刪除。合並后仍保留非活動數據部分。
- marks (UInt64) – 標記數。要獲得數據部分中的大致行數:標記數乘以索引粒度(通常為 8192)。
- rows (UInt64) – 行數。
- bytes_on_disk (UInt64) – 數據總大小(以字節為單位)。
- data_compressed_bytes (UInt64) – 數據部分中壓縮數據的總大小。不包括所有輔助文件(例如,帶有標記的文件)。
- data_uncompressed_bytes (UInt64) – 數據部分中未壓縮數據的總大小。不包括所有輔助文件(例如,帶有標記的文件)。
- marks_bytes (UInt64) – 帶有標記的文件的大小。
- modify_time (DateTime) – 包含數據部分的目錄被修改的時間。這通常對應於數據部分創建的時間。
- remove_time (DateTime) – 數據部分變為非活動狀態的時間。
- refcount (UInt32) – 使用數據部分的位置數。大於 2 的值表示數據部分用於查詢或合並。
- min_date (Date) – 數據部分中日期鍵的最小值。
- max_date (Date) – 數據部分中日期鍵的最大值。
- min_time (DateTime) – 數據部分中日期和時間鍵的最小值。
- max_time(DateTime) – 數據部分中日期和時間鍵的最大值。
- partition_id (String) – 分區的 ID。
- min_block_number (UInt64) – 合並后構成當前部分的最小數據部分數。
- max_block_number (UInt64) – 合並后構成當前部分的最大數據部分數。
- level (UInt32) – 合並樹的深度。0表示是通過插入而不是通過合並創建的。
- data_version (UInt64) – 用於確定應將哪些mutations應用於數據部分(版本高於 data_version 的突變)的數字。
- primary_key_bytes_in_memory (UInt64) – 主鍵值使用的內存量(以字節為單位)。
- primary_key_bytes_in_memory_allocated (UInt64) – 為主鍵值保留的內存量(以字節為單位)。
- is_frozen (UInt8) – 表明存在分區數據備份的標志。 1、備份存在。 0,備份不存在。
- database (String) – 數據庫的名稱。
- table (String) – 表的名稱。
- engine (String) – 不帶參數的表引擎的名稱。
- path (String) – 包含數據部分文件的文件夾的絕對路徑。
- disk (String) – 存儲數據部分的磁盤的名稱。
- hash_of_all_files (String) – sipHash128 的壓縮文件。
- hash_of_uncompressed_files (String) – 未壓縮文件的 sipHash128(帶有標記的文件、索引文件等)。
- uncompressed_hash_of_compressed_files(字符串)——壓縮文件中的 sipHash128 數據,就好像它們是未壓縮的一樣。
- delete_ttl_info_min (DateTime) — TTL DELETE 規則的日期和時間鍵的最小值。
- delete_ttl_info_max (DateTime) — TTL DELETE 規則的日期和時間鍵的最大值。
- move_ttl_info.expression (Array(String)) — 表達式數組。每個表達式定義一個 TTL MOVE 規則。
- move_ttl_info.min (Array(DateTime)) — 日期和時間值數組。每個元素都描述了 TTL MOVE 規則的最小鍵值。
- move_ttl_info.max (Array(DateTime)) — 日期和時間值數組。每個元素都描述了 TTL MOVE 規則的最大鍵值。
- bytes (UInt64) – 數據總大小(以字節為單位),bytes_on_disk 的別名。
- marks_size (UInt64) – 標記字節的別名。
- parts_columns:包含有關 MergeTree 表的分區和列的信息。
:) select * from parts_columns limit 1 FORMAT Vertical; Row 1: ────── partition: 202106 name: 202106_1_1781_867 uuid: 00000000-0000-0000-0000-000000000000 part_type: Compact active: 0 marks: 14 rows: 99960 bytes_on_disk: 187890 data_compressed_bytes: 186561 data_uncompressed_bytes: 2314927 marks_bytes: 1232 modification_time: 2021-06-24 19:48:58 remove_time: 2021-06-24 19:49:58 refcount: 1 min_date: 2021-06-23 max_date: 2021-06-24 min_time: 1970-01-01 08:00:00 max_time: 1970-01-01 08:00:00 partition_id: 202106 min_block_number: 1 max_block_number: 1781 level: 867 data_version: 1 primary_key_bytes_in_memory: 84 primary_key_bytes_in_memory_allocated: 8192 database: system table: asynchronous_metric_log engine: MergeTree disk_name: default path: /ccdata/clickhouse/store/a9b/a9b7ecd5-a9fc-4710-a9b7-ecd5a9fc2710/202106_1_1781_867/ column: event_date type: Date column_position: 1 default_kind: default_expression: column_bytes_on_disk: 0 column_data_compressed_bytes: 0 column_data_uncompressed_bytes: 0 column_marks_bytes: 0
大部分和parts表一樣,多了列信息:
- column (String) — 列名。
- type (String) — 列類型。
- column_position (UInt64) — 列在表中的位置,從 1 開始。
- default_kind (String) — 默認值的表達式類型(DEFAULT、MATERIALIZED、ALIAS),如果未定義則為空字符串。
- default_expression (String) — 默認值的表達式,如果未定義則為空字符串。
- column_bytes_on_disk (UInt64) — 列的總大小(以字節為單位)。
- column_data_compressed_bytes (UInt64) — 列中壓縮數據的總大小,以字節為單位。
- column_data_uncompressed_bytes (UInt64) — 列中解壓縮數據的總大小,以字節為單位。
- column_marks_bytes (UInt64) — 帶有標記的列的大小,以字節為單位。
- privileges:權限列表
- processes:用於實現 SHOW PROCESSLIST 查詢
:) select * from processes FORMAT Vertical; Row 1: ────── is_initial_query: 1 user: default query_id: bbb30c0e-90f4-48fc-8caa-5e8c064fd08f address: ::ffff:127.0.0.1 port: 55524 initial_user: default initial_query_id: bbb30c0e-90f4-48fc-8caa-5e8c064fd08f initial_address: ::ffff:127.0.0.1 initial_port: 55524 interface: 1 os_user: operadmin client_hostname: dba05 client_name: ClickHouse client_revision: 54448 client_version_major: 21 client_version_minor: 6 client_version_patch: 3 http_method: 0 http_user_agent: http_referer: forwarded_for: quota_key: elapsed: 0.000810712 is_cancelled: 0 read_rows: 0 read_bytes: 0 total_rows_approx: 0 written_rows: 0 written_bytes: 0 memory_usage: 0 peak_memory_usage: 0 query: select * from processes FORMAT Vertical; thread_ids: [31653] ProfileEvents.Names: ['Query','SelectQuery','ContextLock','RWLockAcquiredReadLocks'] ProfileEvents.Values: [1,1,12,1] Settings.Names: ['load_balancing','max_memory_usage'] Settings.Values: ['random','10000000000'] current_database: system
-
user (String) – 進行查詢的用戶。對於分布式處理,查詢將發送到默認用戶下的遠程服務器。該字段包含特定查詢的用戶名,而不是該查詢發起的查詢的用戶名。
-
address (String) – 請求的 IP 地址。
-
elapsed (Float64) – 執行時間(以秒為單位)。
-
rows_read (UInt64) – 從表中讀取的行數。對於分布式處理,在請求者服務器上,這是所有遠程服務器的總數。
-
bytes_read (UInt64) – 從表中讀取的未壓縮字節數。對於分布式處理,在請求者服務器上,這是所有遠程服務器的總數。
-
total_rows_approx (UInt64) – 應該讀取的總行數的近似值。對於分布式處理,在請求者服務器上,這是所有遠程服務器的總數。當要處理的新源已知時,它可以在請求處理期間更新。
-
memory_usage (UInt64) – 請求使用的 RAM 量。它可能不包括某些類型的專用內存。
-
query (String) – 查詢語句,對於INSERT,不包括要插入的數據。
-
query_id (String) – 查詢ID(如果已定義)。
-
- projection_parts:
- projection_parts_columns:
- query_log:包含已執行查詢的信息,例如開始時間、處理持續時間、錯誤消息。不包含 INSERT 語句,可以在config.xml里設置query_log,可以通過setting log_queries = 0關閉,不會自動刪除記錄,可以設置ttl屬性的表。通過SYSTEM FLUSH LOGS可以強制刷寫。每個查詢在 query_log 表中創建1~2行,具體取決於查詢的狀態:
1. 查詢執行成功,則會創建 QueryStart 和 QueryFinish 類型的事件。
2. 查詢期間發生錯誤,則會創建QueryStart 和 ExceptionWhileProcessing 類型的事件。
3. 查詢之前發生錯誤,則會創建一個具有 ExceptionBeforeStart 類型的事件。
:) select * from query_log limit 1 \G Row 1: ────── type: QueryStart event_date: 2021-06-23 event_time: 2021-06-23 13:51:36 event_time_microseconds: 2021-06-23 13:51:36.355724 query_start_time: 2021-06-23 13:51:36 query_start_time_microseconds: 2021-06-23 13:51:36.355724 query_duration_ms: 0 read_rows: 0 read_bytes: 0 written_rows: 0 written_bytes: 0 result_rows: 0 result_bytes: 0 memory_usage: 0 current_database: default query: SELECT DISTINCT arrayJoin(extractAll(name, '[\\w_]{2,}')) AS res FROM (SELECT name FROM system.functions UNION ALL SELECT name FROM system.table_engines UNION ALL SELECT name FROM system.formats UNION ALL SELECT name FROM system.table_functions UNION ALL SELECT name FROM system.data_type_families UNION ALL SELECT name FROM system.merge_tree_settings UNION ALL SELECT name FROM system.settings UNION ALL SELECT cluster FROM system.clusters UNION ALL SELECT macro FROM system.macros UNION ALL SELECT policy_name FROM system.storage_policies UNION ALL SELECT concat(func.name, comb.name) FROM system.functions AS func CROSS JOIN system.aggregate_function_combinators AS comb WHERE is_aggregate UNION ALL SELECT name FROM system.databases LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.tables LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.dictionaries LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.columns LIMIT 10000) WHERE notEmpty(res) normalized_query_hash: 6666026786019643712 query_kind: Select databases: ['system'] tables: ['system.aggregate_function_combinators','system.clusters','system.columns','system.data_type_families','system.databases','system.dictionaries','system.formats','system.functions','system.macros','system.merge_tree_settings','system.settings','system.storage_policies','system.table_engines','system.table_functions','system.tables'] columns: ['system.aggregate_function_combinators.name','system.clusters.cluster','system.columns.name','system.data_type_families.name','system.databases.name','system.dictionaries.name','system.formats.name','system.functions.is_aggregate','system.functions.name','system.macros.macro','system.merge_tree_settings.name','system.settings.name','system.storage_policies.policy_name','system.table_engines.name','system.table_functions.name','system.tables.name'] projections: [] exception_code: 0 exception: stack_trace: is_initial_query: 1 user: default query_id: 15872c48-aec7-4291-9b7c-42070bc76c88 address: ::ffff:127.0.0.1 port: 35356 initial_user: default initial_query_id: 15872c48-aec7-4291-9b7c-42070bc76c88 initial_address: ::ffff:127.0.0.1 initial_port: 35356 interface: 1 os_user: client_hostname: client_name: ClickHouse client client_revision: 54448 client_version_major: 21 client_version_minor: 6 client_version_patch: 0 http_method: 0 http_user_agent: http_referer: forwarded_for: quota_key: revision: 54451 log_comment: thread_ids: [] ProfileEvents.Names: [] ProfileEvents.Values: [] Settings.Names: ['load_balancing','max_memory_usage'] Settings.Values: ['random','10000000000'] used_aggregate_functions: [] used_aggregate_function_combinators: [] used_database_engines: [] used_data_type_families: [] used_dictionaries: [] used_formats: [] used_functions: [] used_storages: [] used_table_functions: []
-
type (Enum8) — 執行查詢時發生的事件類型:
'QueryStart' = 1 — 成功開始查詢執行。
'QueryFinish' = 2 — 查詢執行成功結束。
'ExceptionBeforeStart' = 3 — 查詢執行開始前的異常。
'ExceptionWhileProcessing' = 4 — 查詢執行期間的異常。 -
event_date (Date) — 查詢開始日期。
-
event_time (DateTime) — 查詢開始時間。
-
event_time_microseconds (DateTime) — 以微秒精度查詢開始時間。
-
query_start_time (DateTime) — 查詢執行的開始時間。
-
query_start_time_microseconds (DateTime64) — 以微秒精度開始執行查詢的時間。
-
query_duration_ms (UInt64) — 以毫秒為單位的查詢執行持續時間。
-
read_rows (UInt64) — 從參與查詢的所有表和表函數中讀取的總行數。它包括通常的子查詢、IN 和 JOIN 的子查詢。對於分布式查詢 read_rows 包括在所有副本讀取的總行數。每個副本發送它的 read_rows 值,查詢的服務器發起者匯總所有接收到的和本地的值。
-
read_bytes (UInt64) — 從參與查詢的所有表和表函數中讀取的總字節數。它包括通常的子查詢、IN 和 JOIN 的子查詢。對於分布式查詢 read_bytes 包括在所有副本讀取的總行數。每個副本發送它的 read_bytes 值,查詢的服務器發起者匯總所有接收到的和本地的值。
-
write_rows (UInt64) — 對於 INSERT 查詢,寫入的行數。對於其他查詢,列值為 0。
-
write_bytes (UInt64) — 對於 INSERT 查詢,寫入的字節數。對於其他查詢,列值為 0。
-
result_rows (UInt64) — SELECT 查詢結果中的行數,或 INSERT 查詢中的行數。
-
result_bytes (UInt64) — 用於存儲查詢結果的 RAM 容量(以字節為單位)。
-
memory_usage (UInt64) — 查詢的內存消耗。
-
current_database (String) — 當前數據庫的名稱。
-
query (String) — 查詢語句。
-
normalized_query_hash (UInt64) — 哈希值。
-
query_kind (LowCardinality(String)) — 查詢的類型。
-
database (Array(LowCardinality(String))) — 查詢中存在的數據庫的名稱。
-
tables (Array(LowCardinality(String))) — 查詢中存在的表的名稱。
-
columns (Array(LowCardinality(String))) — 查詢中存在的列的名稱。
-
exception_code (Int32) — 異常代碼。
-
exception(字符串)——異常消息。
-
stack_trace (String) — 堆棧跟蹤。如果查詢成功完成,則為空字符串。
-
is_initial_query (UInt8) — 查詢類型。可能的值:
1 — 查詢由客戶端發起。
0 — 作為分布式查詢執行的一部分,查詢由另一個查詢啟動。 -
user (String) — 發起當前查詢的用戶名。
-
query_id (String) — 查詢 ID。
-
address (IPv6) — 用於進行查詢的 IP 地址。
-
port (UInt16) — 用於進行查詢的客戶端端口。
-
initial_user (String) — 運行初始查詢的用戶名(用於分布式查詢執行)。
-
initial_query_id (String) — 初始查詢的 ID(用於分布式查詢執行)。
-
initial_address (IPv6) — 啟動父查詢的 IP 地址。
-
initial_port (UInt16) — 用於進行父查詢的客戶端端口。
-
interface (UInt8) — 發起查詢的接口。可能的值:
1 — TCP。
2 - HTTP。 -
os_user (String) — 運行 clickhouse-client 的操作系統用戶名。
-
client_hostname (String) — 運行 clickhouse-client 或其他 TCP 客戶端的客戶端機器的主機名。
-
client_name (String) — clickhouse-client 或其他 TCP 客戶端名稱。
-
client_revision (UInt32) — clickhouse-client 或另一個 TCP 客戶端的修訂版。
-
client_version_major (UInt32) — clickhouse-client 或其他 TCP 客戶端的主要版本。
-
client_version_minor (UInt32) — clickhouse-client 或其他 TCP 客戶端的次要版本。
-
client_version_patch (UInt32) — clickhouse-client 或其他 TCP 客戶端版本的補丁組件。
-
http_method (UInt8) — 發起查詢的 HTTP 方法。可能的值:
0 — 查詢是從 TCP 接口啟動的。
1 — 使用了 GET 方法。
2 — 使用了 POST 方法。 -
http_user_agent (String) — 在 HTTP 查詢中傳遞的 HTTP 標頭 UserAgent。
-
http_referer (String) — 在 HTTP 查詢中傳遞的 HTTP 標頭 Referer(包含進行查詢的頁面的絕對或部分地址)。
-
forwarded_for (String) — 在 HTTP 查詢中傳遞的 HTTP 標頭 X-Forwarded-For。
-
quota_key (String) — 在配額設置中指定的配額鍵(見 keyed)。
-
revision (UInt32) — ClickHouse 修訂版。
-
log_comment (String) — 記錄備注。它可以設置為不超過 max_query_size 的任意字符串。如果未定義,則為空字符串。
-
thread_ids (Array(UInt64)) — 參與查詢執行的線程 ID。
-
ProfileEvents.Names (Array(String)) — 衡量不同指標的計數器。它們的描述可以在表 system.events 中找到
-
ProfileEvents.Values (Array(UInt64)) — ProfileEvents.Names 列中列出的指標值。
-
Settings.Names (Array(String)) — 客戶端運行查詢時更改的設置名稱。要啟用對設置的日志更改,請將 log_query_settings 參數設置為 1。
-
Settings.Values (Array(String)) — Settings.Names 列中列出的設置值。
-
used_aggregate_functions (Array(String)) — 在查詢執行期間使用的聚合函數的規范名稱。
-
used_aggregate_function_combinators (Array(String)) — 在查詢執行期間使用的聚合函數組合器的規范名稱。
-
used_database_engines (Array(String)) — 在查詢執行期間使用的數據庫引擎的規范名稱。
-
used_data_type_families (Array(String)) — 在查詢執行期間使用的數據類型系列的規范名稱。
-
used_dictionaries (Array(String)) — 字典的規范名稱,在查詢執行期間使用。
-
used_formats (Array(String)) — 格式的規范名稱,在查詢執行期間使用。
-
used_functions (Array(String)) — 在查詢執行期間使用的函數的規范名稱。
-
used_storages (Array(String)) — 存儲的規范名稱,在查詢執行期間使用。
-
used_table_functions (Array(String)) — 在查詢執行期間使用的表函數的規范名稱。
-
- query_thread_log:包含有關執行查詢的線程的信息,例如線程名稱、線程開始時間、查詢處理的持續時間。開啟該日志需要:
1. 配置log_query_threads參數
2. 設置log_query_threads=1
刷新周期通過flush_interval_milliseconds 參數設置,使用 SYSTEM FLUSH LOGS 要強制刷新。
:) select * from query_thread_log limit 1\G Row 1: ────── event_date: 2021-06-23 event_time: 2021-06-23 13:51:36 event_time_microseconds: 2021-06-23 13:51:36.369932 query_start_time: 2021-06-23 13:51:36 query_start_time_microseconds: 2021-06-23 13:51:36.366623 query_duration_ms: 3 read_rows: 1059 read_bytes: 35127 written_rows: 0 written_bytes: 0 memory_usage: 0 peak_memory_usage: 0 thread_name: QueryPipelineEx thread_id: 25324 master_thread_id: 25063 current_database: default query: SELECT DISTINCT arrayJoin(extractAll(name, '[\\w_]{2,}')) AS res FROM (SELECT name FROM system.functions UNION ALL SELECT name FROM system.table_engines UNION ALL SELECT name FROM system.formats UNION ALL SELECT name FROM system.table_functions UNION ALL SELECT name FROM system.data_type_families UNION ALL SELECT name FROM system.merge_tree_settings UNION ALL SELECT name FROM system.settings UNION ALL SELECT cluster FROM system.clusters UNION ALL SELECT macro FROM system.macros UNION ALL SELECT policy_name FROM system.storage_policies UNION ALL SELECT concat(func.name, comb.name) FROM system.functions AS func CROSS JOIN system.aggregate_function_combinators AS comb WHERE is_aggregate UNION ALL SELECT name FROM system.databases LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.tables LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.dictionaries LIMIT 10000 UNION ALL SELECT DISTINCT name FROM system.columns LIMIT 10000) WHERE notEmpty(res) normalized_query_hash: 6666026786019643712 is_initial_query: 1 user: default query_id: 15872c48-aec7-4291-9b7c-42070bc76c88 address: ::ffff:127.0.0.1 port: 35356 initial_user: default initial_query_id: 15872c48-aec7-4291-9b7c-42070bc76c88 initial_address: ::ffff:127.0.0.1 initial_port: 35356 interface: 1 os_user: client_hostname: client_name: ClickHouse client client_revision: 54448 client_version_major: 21 client_version_minor: 6 client_version_patch: 0 http_method: 0 http_user_agent: http_referer: forwarded_for: quota_key: revision: 54451 ProfileEvents.Names: ['ArenaAllocChunks','ArenaAllocBytes','FunctionExecute','SelectedRows','SelectedBytes','ContextLock','RWLockAcquiredReadLocks','RWLockReadersWaitMilliseconds','RealTimeMicroseconds','UserTimeMicroseconds','SoftPageFaults','OSCPUWaitMicroseconds','OSCPUVirtualTimeMicroseconds'] ProfileEvents.Values: [2,24576,6,1059,35127,4,65,1,3280,1616,45,14,1616]
-
event_date (Date) — 線程完成查詢執行的日期。
-
event_time (DateTime) — 線程完成查詢執行的日期和時間。
-
event_time_microsecinds (DateTime) — 線程以微秒精度完成查詢執行的日期和時間。
-
query_start_time (DateTime) — 查詢執行的開始時間。
-
query_start_time_microseconds (DateTime64) — 以微秒精度開始執行查詢的時間。
-
query_duration_ms (UInt64) — 查詢執行的持續時間。
-
read_rows (UInt64) — 讀取的行數。
-
read_bytes (UInt64) — 讀取字節數。
-
write_rows (UInt64) — 對於 INSERT 查詢,寫入的行數。對於其他查詢,列值為 0。
-
write_bytes (UInt64) — 對於 INSERT 查詢,寫入的字節數。對於其他查詢,列值為 0。
-
memory_usage (Int64) — 此線程上下文中已分配和已釋放內存量之間的差異。
-
peak_memory_usage (Int64) — 此線程上下文中已分配和已釋放內存量之間的最大差異。
-
thread_name (String) — 線程的名稱。
-
thread_number (UInt32) — 內部線程 ID。
-
thread_id (Int32) — 線程 ID。
-
master_thread_id (UInt64) — 初始線程的操作系統初始 ID。
-
query (String) — 查詢語句。
-
is_initial_query (UInt8) — 查詢類型。可能的值:
1 — 查詢由客戶端發起。
0 — 查詢是由另一個用於分布式查詢執行的查詢啟動的。 -
user (String) — 發起當前查詢的用戶名。
-
query_id (String) — 查詢的 ID。
-
address (IPv6) — 用於進行查詢的 IP 地址。
-
port (UInt16) — 用於進行查詢的客戶端端口。
-
initial_user (String) — 運行初始查詢的用戶名(用於分布式查詢執行)。
-
initial_query_id (String) — 初始查詢的 ID(用於分布式查詢執行)。
-
initial_address (IPv6) — 啟動父查詢的 IP 地址。
-
initial_port (UInt16) — 用於進行父查詢的客戶端端口。
-
interface (UInt8) — 發起查詢的接口。可能的值:
1 — TCP。
2 - HTTP。 -
os_user (String) — 運行 clickhouse-client 的操作系統用戶名。
-
client_hostname (String) — 運行 clickhouse-client 或其他 TCP 客戶端的客戶端機器的主機名。
-
client_name (String) — clickhouse-client 或其他 TCP 客戶端名稱。
-
client_revision (UInt32) — clickhouse-client 或另一個 TCP 客戶端的修訂版。
-
client_version_major (UInt32) — clickhouse-client 或其他 TCP 客戶端的主要版本。
-
client_version_minor (UInt32) — clickhouse-client 或其他 TCP 客戶端的次要版本。
-
client_version_patch (UInt32) — clickhouse-client 或其他 TCP 客戶端版本的補丁組件。
-
http_method (UInt8) — 發起查詢的 HTTP 方法。可能的值:
0 — 查詢是從 TCP 接口啟動的。
1 — 使用了 GET 方法。
2 — 使用了 POST 方法。 -
http_user_agent (String) — HTTP 請求中傳遞的 UserAgent 標頭。
-
quota_key (String) — 在配額設置中指定的“配額鍵”(參見 keyed)。
-
修訂版 (UInt32) — ClickHouse 修訂版。
-
ProfileEvents.Names (Array(String)) — 衡量該線程不同指標的計數器。它們的描述可以在表 system.events 中找到。
- ProfileEvents.Values (Array(UInt64)) — ProfileEvents.Names 列中列出的此線程的指標值。
-
- quota_limits:包含有關所有配額的所有間隔的最大值的信息。任意數量的行或零可以對應一個配額。
:) select * from quota_limits; ...
-
quota_name (String) — 配額名稱。
-
duration (UInt32) — 計算資源消耗的時間間隔長度,以秒為單位。
-
is_randomized_interval (UInt8) — 邏輯值。它顯示間隔是否是隨機的。如果間隔不是隨機的,則它總是同時開始。例如,1 分鍾的間隔總是從整數分鍾開始(即它可以從 11:20:00 開始,但它永遠不會從 11:20:01 開始),一天的間隔總是從 UTC 午夜開始.如果間隔是隨機的,則第一個間隔在隨機時間開始,隨后的間隔一個接一個開始。價值觀:
0 — 間隔不是隨機的。
1 — 間隔是隨機的。 -
max_queries (Nullable(UInt64)) - 最大查詢數。
-
max_query_selects (Nullable(UInt64)) — select最大數量。
-
max_query_inserts (Nullable(UInt64)) — insert最大數量。
-
max_errors (Nullable(UInt64)) — 最大錯誤數。
-
max_result_rows (Nullable(UInt64)) — 結果行的最大數量。
-
max_result_bytes (Nullable(UInt64)) — 用於存儲查詢結果的最大 RAM 卷數(以字節為單位)。
-
max_read_rows (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的最大行數。
-
max_read_bytes (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的最大字節數。
-
max_execution_time (Nullable(Float64)) — 查詢執行時間的最大值,以秒為單位。
-
- quota_usage:當前用戶的配額使用量:使用了多少,還剩多少。
:) select * from quota_usage; ...
-
quota_name (String) — 配額名稱。
-
quota_key(String) — 鍵值。例如,如果keys = [ip address],那么quota_key 的值可能是“192.168.1.1”。
-
start_time(Nullable(DateTime)) — 計算資源消耗的開始時間。
-
end_time(Nullable(DateTime)) — 計算資源消耗的結束時間。
-
duration (Nullable(UInt64)) 計算資源消耗的時間間隔長度,以秒為單位。
-
queries (Nullable(UInt64)) — 此時間間隔內的請求總數。
-
query_selects (Nullable(UInt64)) — 此時間間隔內選擇請求的總數。
-
query_inserts (Nullable(UInt64)) — 此時間間隔內插入請求的總數。
-
max_queries (Nullable(UInt64)) 最大請求數。
-
errors (Nullable(UInt64)) — 引發異常的查詢數。
-
max_errors (Nullable(UInt64)) — 最大錯誤數。
-
result_rows (Nullable(UInt64)) — 結果給出的總行數。
-
max_result_rows (Nullable(UInt64)) — 結果行的最大數量。
-
result_bytes (Nullable(UInt64)) — 用於存儲查詢結果的 RAM 容量(以字節為單位)。
-
max_result_bytes (Nullable(UInt64)) — 用於存儲查詢結果的最大 RAM 容量,以字節為單位。
-
read_rows (Nullable(UInt64)) — 從表中讀取的源行總數,用於在所有遠程服務器上運行查詢。
-
max_read_rows (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的最大行數。
-
read_bytes (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的總字節數。
-
max_read_bytes (Nullable(UInt64)) — 從所有表和表函數讀取的最大字節數。
-
execution_time (Nullable(Float64)) — 總查詢執行時間,以秒為單位(掛牆時間)。
-
max_execution_time (Nullable(Float64)) — 查詢執行時間的最大值。
-
- quotas:包含有關配額的信息
:) select * from quotas; ...
-
name (String) — 配額名稱。
-
id (UUID) — 配額 ID。
-
storage(String) — 配額的存儲。可能的值:“users.xml”(如果是在 users.xml 文件中配置的配額),“disk”(如果是由 SQL 查詢配置的配額)。
-
keys (Array(Enum8)) — Key 指定配額的共享方式。如果兩個連接使用相同的配額和密鑰,則它們共享相同數量的資源:
[] — 所有用戶共享相同的配額。
['user_name'] — 具有相同用戶名的連接共享相同的配額。
['ip_address'] — 來自同一 IP 的連接共享相同的配額。
['client_key'] — 具有相同密鑰的連接共享相同的配額。密鑰必須由客戶端明確提供。使用clickhouse-client時,在--quota-key參數中傳遞一個key值,或者在客戶端配置文件中使用quota_key參數。使用 HTTP 接口時,請使用 X-ClickHouse-Quota 標頭。
['user_name', 'client_key'] — 具有相同 client_key 的連接共享相同的配額。如果客戶端未提供密鑰,則會跟蹤 user_name 的 qouta。
['client_key', 'ip_address'] — 具有相同 client_key 的連接共享相同的配額。如果客戶端未提供密鑰,則會跟蹤 ip_address 的 qouta。 -
durations (Array(UInt64)) — 以秒為單位的時間間隔長度。
-
apply_to_all (UInt8) — 邏輯值。它顯示配額應用於哪些用戶。價值觀:
0 — 配額適用於在 apply_to_list 中指定的用戶。
1 — 配額適用於除 apply_to_except 中列出的用戶之外的所有用戶。 -
apply_to_list (Array(String)) — 應應用配額的用戶名/角色列表。
-
apply_to_except (Array(String)) — 配額不應適用的用戶名/角色列表。
-
- quotas_usage:所有用戶的配額使用情況
:) select * from quotas_usage; ...
-
quota_name (String) — 配額名稱。
-
quota_key (String) — 鍵值。
-
is_current (UInt8) — 當前用戶的配額使用情況。
-
start_time (Nullable(DateTime))) — 計算資源消耗的開始時間。
-
end_time (Nullable(DateTime))) — 計算資源消耗的結束時間。
-
duration (Nullable(UInt32)) 計算資源消耗的時間間隔長度,以秒為單位。
-
queries (Nullable(UInt64)) — 此時間間隔內的請求總數。
-
max_queries (Nullable(UInt64)) 最大請求數。
-
query_selects (Nullable(UInt64)) — 此時間間隔內選擇請求的總數。
-
max_query_selects (Nullable(UInt64)) 選擇請求的最大數量。
-
query_inserts (Nullable(UInt64)) — 此時間間隔內插入請求的總數。
-
max_query_inserts (Nullable(UInt64)) — 插入請求的最大數量。
-
errors (Nullable(UInt64)) — 引發異常的查詢數。
-
max_errors (Nullable(UInt64)) — 最大錯誤數。
-
result_rows (Nullable(UInt64)) — 作為結果給出的總行數。
-
max_result_rows (Nullable(UInt64)) — 從表中讀取的最大源行數。
-
result_bytes (Nullable(UInt64)) — 用於存儲查詢結果的 RAM 容量(以字節為單位)。
-
max_result_bytes (Nullable(UInt64)) — 用於存儲查詢結果的最大 RAM 容量,以字節為單位。
-
read_rows (Nullable(UInt64))) — 從表中讀取的源行總數,用於在所有遠程服務器上運行查詢。
-
max_read_rows (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的最大行數。
-
read_bytes (Nullable(UInt64)) — 從參與查詢的所有表和表函數讀取的總字節數。
-
max_read_bytes (Nullable(UInt64)) — 從所有表和表函數讀取的最大字節數。
-
execution_time (Nullable(Float64)) — 總查詢執行時間,以秒為單位(掛牆時間)。
-
max_execution_time (Nullable(Float64)) — 查詢執行時間的最大值。
-
- replicas:包含駐留在本地服務器上的復制表的信息和狀態。
:) select * from replicas\G Row 1: ────── database: default table: ck_3shard_0repl engine: ReplicatedMergeTree is_leader: 1 can_become_leader: 1 is_readonly: 0 is_session_expired: 0 future_parts: 0 parts_to_check: 0 zookeeper_path: /clickhouse/tables/1/ck_3shard_0repl replica_name: dba05 replica_path: /clickhouse/tables/1/ck_3shard_0repl/replicas/dba05 columns_version: -1 queue_size: 0 inserts_in_queue: 0 merges_in_queue: 0 part_mutations_in_queue: 0 queue_oldest_time: 1970-01-01 08:00:00 inserts_oldest_time: 1970-01-01 08:00:00 merges_oldest_time: 1970-01-01 08:00:00 part_mutations_oldest_time: 1970-01-01 08:00:00 oldest_part_to_get: oldest_part_to_merge_to: oldest_part_to_mutate_to: log_max_index: 0 log_pointer: 0 last_queue_update: 1970-01-01 08:00:00 absolute_delay: 0 total_replicas: 1 active_replicas: 1 zookeeper_exception:
-
database(字符串)- 數據庫名稱
-
table (String) - 表名
-
engine(字符串) - 表引擎名稱
-
is_leader (UInt8) - 副本是否是領導者。
多個副本可以同時成為領導者。使用merge_tree 設置replicated_can_become_leader 可以防止副本成為領導者。領導者負責后台合並。
注意,可以對任何可用的且在 ZK 中具有會話的副本執行寫入,無論它是否是領導者。 -
can_become_leader (UInt8) - 副本是否可以成為領導者。
-
is_readonly (UInt8) - 副本是否處於只讀模式。
如果配置中沒有包含 ZooKeeper 的部分,或則ZooKeeper異常,則會打開此模式。 -
is_session_expired (UInt8) - 與 ZooKeeper 的會話已過期。與 is_readonly 基本相同。
-
future_parts (UInt32) - 作為尚未完成的 INSERT 或合並的結果出現的數據部分的數量。
-
parts_to_check (UInt32) - 隊列中用於驗證的數據分區的數量。如果分區已損壞,則將其放入驗證隊列。
-
zookeeper_path (String) - ZooKeeper 中表數據的路徑。
-
replica_name (String) - ZooKeeper 中的副本名稱。同一張表的不同副本有不同的名稱。
-
replica_path (String) - ZooKeeper 中副本數據的路徑。與連接 ‘zookeeper_path/replicas/replica_path’ 相同。
-
columns_version (Int32) - 表結構的版本號。表示執行了多少次 ALTER。如果副本有不同的版本,這意味着一些副本還沒有完成所有的 ALTER。
-
queue_size (UInt32) - 等待執行的操作的隊列大小。操作包括插入數據塊、合並和某些其他操作。它通常與 future_parts 重合。
-
inserts_in_queue (UInt32) - 需要插入的數據塊的數量。插入通常復制得相當快。如果這個數字很大,這意味着有問題。
-
merges_in_queue (UInt32) - 等待合並的數量。有時合並很長,所以這個值可能會在很長一段時間內大於零。
-
part_mutations_in_queue (UInt32) - 等待進行的mutation數量。
-
queue_oldest_time (DateTime) - 如果 queue_size 大於 0,則顯示最早的操作何時添加到隊列中。
-
inserts_oldest_time (DateTime) - 見 queue_oldest_time
-
merges_oldest_time (DateTime) - 見 queue_oldest_time
-
part_mutations_oldest_time (DateTime) - 見 queue_oldest_time
-
log_max_index (UInt64) - 一般活動日志中的最大條目數。
-
log_pointer (UInt64) - 副本復制到其執行隊列的一般活動日志中的最大條目數,加一。如果 log_pointer 比 log_max_index 小得多,則說明有問題。
-
last_queue_update (DateTime) - 上次更新隊列的時間。
-
absolute_delay (UInt64) - 當前副本有多大的延遲(以秒為單位)。
-
total_replicas (UInt8) - 此表的已知副本總數。
-
active_replicas (UInt8) - 在 ZooKeeper 中具有會話的該表的副本數量(副本的數量)。
-
- replicated_fetches:包含當前正在運行的后台提取的信息
-
database (String) — 數據庫的名稱。
-
table (String) — 表的名稱。
-
elapsed (Float64) — 顯示當前正在運行的后台提取自開始以來經過的時間(以秒為單位)。
-
progress (Float64) — 已完成工作的百分比,從 0 到 1。
-
result_part_name (String) — 作為顯示當前正在運行的后台提取的結果而形成的部分的名稱。
-
result_part_path (String) — 作為顯示當前正在運行的后台提取的結果而形成的部分的絕對路徑。
-
partition_id (String) — 分區的 ID。
-
total_size_bytes_compressed (UInt64) — 結果部分中壓縮數據的總大小(以字節為單位)。
-
bytes_read_compressed (UInt64) — 從結果部分讀取的壓縮字節數。
-
source_replica_path (String) — 源副本的絕對路徑。
-
source_replica_hostname (String) — 源副本的主機名。
-
source_replica_port (UInt16) — 源副本的端口號。
-
interserver_scheme (String) — 服務器間方案的名稱。
-
URI (String) — 統一資源標識符。
-
to_detached (UInt8) — 該標志指示是否正在使用 TO DETACHED 表達式執行當前正在運行的后台提取。
-
thread_id (UInt64) — 線程標識符。
-
- replicated_merge_tree_settings:復制表引擎的參數設置,包含了該參數是否被改變。
- replication_queue:包含有關存儲在 ZooKeeper 中的復制隊列任務的信息,用於 ReplicatedMergeTree 系列中的表。
-
database (String) — 數據庫的名稱。
-
table (String) — 表的名稱。
-
replica_name (String) — ZooKeeper 中的副本名稱。同一張表的不同副本有不同的名稱。
-
position (UInt32) — 任務在隊列中的位置。
-
node_name (String) — ZooKeeper 中的節點名稱。
-
type (String) — 隊列中任務的類型,以下之一:
GET_PART — 從另一個副本中獲取零件。
ATTACH_PART — 附加分區,可能來自我們自己的副本(如果在分離的文件夾中找到)。
MERGE_PARTS — 合並分區。
DROP_RANGE — 刪除指定分區中指定編號范圍內的部分。
CLEAR_COLUMN — 已棄用。從指定分區刪除特定列。
CLEAR_INDEX — 已棄用。從指定分區刪除特定索引。
REPLACE_RANGE — 刪除一定范圍的分區並用新分區替換。
MUTATE_PART — 對分區應用一個或多個mutation。
ALTER_METADATA — 根據全局 /metadata 和 /columns 路徑應用更改修改。 -
create_time (Datetime) — 提交任務執行的日期和時間。
-
required_quorum (UInt32) — 等待任務完成並確認完成的副本數。此列僅與 GET_PARTS 任務相關。
-
source_replica (String) — 源副本的名稱。
-
new_part_name (String) — 新部件的名稱。
-
parts_to_merge (Array (String)) — 要合並或更新的分區的名稱。
-
is_detach (UInt8) — 該標志指示 DETACH_PARTS 任務是否在隊列中。
-
is_currently_executing (UInt8) — 該標志指示當前是否正在執行特定任務。
-
num_tries (UInt32) — 完成任務的失敗嘗試次數。
-
last_exception (String) — 關於發生的最后一個錯誤(如果有)的文本消息。
-
last_attempt_time (Datetime) — 上次嘗試任務的日期和時間。
-
num_postponed (UInt32) — 推遲任務的數量。
-
postpone_reason (String) —任務被推遲的原因。
-
last_postpone_time (Datetime) — 上次推遲任務的日期和時間。
-
merge_type (String) — 當前合並的類型。如果是mutation則為空。
-
- role_grants:包含為用戶和角色授權的信息。使用 GRANT role TO user 往該表添加記錄。
:) select * from role_grants; ...
-
user_name (Nullable(String)) — 用戶名。
-
role_name (Nullable(String)) — 角色名稱。
-
grant_role_name (String) — 授予 role_name 角色的角色名稱。 要將一個角色授予另一個角色,請使用 GRANT role1 TO role2。
-
grant_role_is_default (UInt8) — 顯示 grant_role 是否為默認角色的標志。 可能的值:
1 — grant_role 是默認角色。
0 — grant_role 不是默認角色。 -
with_admin_option (UInt8) — 顯示 grant_role 是否是具有 ADMIN OPTION 權限的角色的標志。 可能的值:
1 — 該角色具有 ADMIN OPTION 權限。
0 — 沒有 ADMIN OPTION 權限的角色。
-
- roles:包含已配置角色的信息。
-
name (String) — 角色名稱。
-
id (UUID) — 角色 ID。
-
storage (String) — 角色存儲的路徑。 在 access_control_path 參數中配置。
-
- row_policies:包含一個特定表的過濾器,以及應該使用此行策略的角色和/或用戶列表。
-
name (String) — 行策略的名稱。
-
short_name (String) — 行策略的簡稱。行策略的名稱是復合的,如:myfilter ON mydb.mytable。“myfilter ON mydb.mytable”是行策略的名稱,“myfilter”是它的簡稱。
-
database (String) ——數據庫名稱。
-
table (String) — 表名。
-
id (UUID) — 行策略 ID。
-
storage (String) — 存儲行策略的目錄的名稱。
-
select_filter (Nullable(String)) — 用於過濾行的條件。
-
is_restrictive (UInt8) — 顯示行策略是否限制對行的訪問,請參閱 CREATE ROW POLICY:
0 — 行策略是用 AS PERMISSIVE 子句定義的。
1 — 行策略是用 AS RESTRICTIVE 子句定義的。 -
apply_to_all (UInt8) — 顯示為所有角色和/或用戶設置的行策略。
-
apply_to_list (Array(String)) — 應用行策略的角色和/或用戶列表。
-
apply_to_except (Array(String)) — 行策略應用於除列出的角色和/或用戶之外的所有角色和/或用戶。
-
- settings:包含有關當前用戶的會話設置的信息。
-
name (String) — 設置名稱。
-
value (String) — 設置值。
-
changed (UInt8) — 是否從其默認值更改。
-
description (String) — 設置描述。
-
min (Nullable(String)) — 設置的最小值,如果有的話是通過約束設置的。 如果設置沒有最小值,則包含 NULL。
-
max (Nullable(String)) — 設置的最大值,如果有的話是通過約束設置的。 如果設置沒有最大值,則包含 NULL。
-
readonly (UInt8) — 顯示當前用戶是否可以更改設置:
0 — 當前用戶可以更改設置。
1 — 當前用戶無法更改設置。
-
- settings_profile_elements:配置文件的幾個元素屬性:約束、角色用戶、繼承父配置文件
-
profile_name (Nullable(String)) — 配置文件名稱。
-
user_name (Nullable(String)) — 用戶名。
-
role_name (Nullable(String)) — 角色名稱。
-
index (UInt64) — 設置配置文件元素的序列號。
-
setting_name (Nullable(String)) — 設置名稱。
-
value (Nullable(String)) — 設置值。
-
min (Nullable(String)) — 設置的最小值。 如果未設置,則為 NULL。
-
max (Nullable(String)) — 設置的最大值。 如果未設置,則為 NULL。
-
readonly (Nullable(UInt8)) — 僅允許讀取查詢的配置文件。
-
inherit_profile (Nullable(String)) — 此設置配置文件的父配置文件,將從其父配置文件繼承所有設置的值和約束(最小、最大、只讀)。如果未設置,則為 NULL。
-
- settings_profiles:設置配置文件的屬性,需要grant權限。
-
name (String) — 設置配置文件名稱。
-
id (UUID) — 設置配置文件 ID。
-
storage (String) — 設置配置文件的存儲路徑。 在 access_control_path 參數中配置。
-
num_elements (UInt64) — system.settings_profile_elements 表中此配置文件的元素數。
-
apply_to_all (UInt8) — 顯示為所有角色和/或用戶設置的設置配置文件。
-
apply_to_list (Array(String)) — 應用設置配置文件的角色和/或用戶的列表。
-
apply_to_except (Array(String)) — 設置配置文件應用於除列出的角色和/或用戶之外的所有角色和/或用戶。
-
- stack_trace:包含所有服務器線程的堆棧跟蹤
-
thread_name (String) — 線程名稱。
-
thread_id (UInt64) — 線程標識符。
-
query_id (String) — 查詢標識符,可用於獲取有關從 query_log 系統表運行的查詢的詳細信息。
-
trace (Array(UInt64)) — 堆棧跟蹤,表示存儲調用方法的物理地址列表。
-
- storage_policies:包含有關服務器配置中定義的存儲策略和volumes的信息。
-
policy_name (String) — 存儲策略的名稱。
-
volume_name (String) — 存儲策略中定義的卷名。
-
volume_priority (UInt64) — 配置中的卷順序號。
-
disks (Array(String)) — 磁盤名稱,在存儲策略中定義。
-
max_data_part_size (UInt64) — 可存儲在卷磁盤上的數據部分的最大大小(0 — 無限制)。
-
move_factor (Float64) — 可用磁盤空間的比率。當比率超過配置參數的值時,ClickHouse 開始將數據按順序移動到下一個卷。
-
prefer_not_to_merge (UInt8) — preferred_not_to_merge 設置的值。啟用此設置后,不允許合並此卷上的數據。這允許控制 ClickHouse 如何處理慢速磁盤。
如果存儲策略包含多個卷,則每個卷的信息都存儲在表的單獨行中。
-
- table_engines:包含服務器支持的表引擎的描述及其功能支持信息。
:) select * from table_engines where name ='ReplicatedMergeTree' FORMAT Vertical; Row 1: ────── name: ReplicatedMergeTree supports_settings: 1 supports_skipping_indices: 1 supports_projections: 1 supports_sort_order: 1 supports_ttl: 1 supports_replication: 1 supports_deduplication: 1 supports_parallel_insert: 1
-
name (String) — 表引擎的名稱。
-
support_settings (UInt8) — 指示表引擎是否支持 SETTINGS 子句的標志。
-
support_skipping_indices (UInt8) — 指示表引擎是否支持跳過索引的標志。
-
support_ttl (UInt8) — 指示表引擎是否支持 TTL 的標志。
-
support_sort_order (UInt8) — 指示表引擎是否支持子句 PARTITION_BY、PRIMARY_KEY、ORDER_BY 和 SAMPLE_BY 的標志。
-
support_replication (UInt8) — 指示表引擎是否支持數據復制的標志。
-
support_duduplication (UInt8) — 指示表引擎是否支持重復數據刪除的標志。
-
support_parallel_insert (UInt8) — 指示表引擎是否支持並行插入的標志(請參閱 max_insert_threads 設置)。
-
- table_functions:構造表的方法
select ... from mysql(); select ... from remote(); ...
- tables:包含每個表的元數據。Detached的表不顯示,臨時表在system.tables中僅在創建它們的會話中可見,並用is_temporary 標志。用於 SHOW TABLES 查詢實現。
:) select * from tables where name ='ck_3shard_0repl' FORMAT Vertical; Row 1: ────── database: default name: ck_3shard_0repl uuid: 79de44ac-d101-48fe-b9de-44acd10118fe engine: ReplicatedMergeTree is_temporary: 0 data_paths: ['/ccdata/clickhouse/store/79d/79de44ac-d101-48fe-b9de-44acd10118fe/'] metadata_path: /ccdata/clickhouse/store/f16/f166c36c-b553-4f44-b166-c36cb5535f44/ck_3shard_0repl.sql metadata_modification_time: 2021-06-23 14:09:44 dependencies_database: [] dependencies_table: [] create_table_query: CREATE TABLE default.ck_3shard_0repl (`id` String, `price` Float64, `create_time` DateTime) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/ck_3shard_0repl', '{replica}') PARTITION BY toYYYYMM(create_time) ORDER BY id SETTINGS index_granularity = 8192 engine_full: ReplicatedMergeTree('/clickhouse/tables/{shard}/ck_3shard_0repl', '{replica}') PARTITION BY toYYYYMM(create_time) ORDER BY id SETTINGS index_granularity = 8192 partition_key: toYYYYMM(create_time) sorting_key: id primary_key: id sampling_key: storage_policy: default total_rows: 0 total_bytes: 0 lifetime_rows: ᴺᵁᴸᴸ lifetime_bytes: ᴺᵁᴸᴸ comment:
-
database (String) — 表所在的數據庫的名稱。
-
name (String) — 表名。
-
engine (String) — 表引擎名稱(不帶參數)。
-
is_temporary (UInt8) - 指示表是否為臨時表的標志。
-
data_path (String) - 文件系統中表數據的路徑。
-
metadata_path (String) - 文件系統中表元數據的路徑。
-
metadata_modification_time (DateTime) - 表元數據的最新修改時間。
-
dependencies_database (Array(String)) - 數據庫依賴項。
-
dependencies_table (Array(String)) - 表依賴項(基於當前表的 MaterializedView 表)。
-
create_table_query (String) - 用於創建表的查詢。
-
engine_full (String) - 表引擎的參數。
-
partition_key (String) - 表中指定的分區鍵表達式。
-
sort_key (String) - 表中指定的排序鍵表達式。
-
primary_key (String) - 表中指定的主鍵表達式。
-
sample_key (String) - 表中指定的采樣鍵表達式。
-
storage_policy (String) - 存儲策略:
MergeTree
Distributed -
total_rows (Nullable(UInt64)) - 總行數,如果可以快速確定表中的確切行數,否則為 NULL(包括底層 Buffer 表)。
-
total_bytes (Nullable(UInt64)) - 總字節數,如果可以快速確定存儲表的確切字節數,否則為 NULL(不包括任何底層存儲)。
如果表將數據存儲在磁盤上,則返回磁盤上的已用空間(即壓縮空間)。
如果表將數據存儲在內存中,則返回內存中已用字節的近似數量。 -
life_rows (Nullable(UInt64)) - 自服務器啟動以來插入的總行數(僅適用於緩沖區表)。
-
life_bytes (Nullable(UInt64)) - 自服務器啟動以來插入的總字節數(僅適用於緩沖區表)。
-
comment (String) - 表的注釋。
-
- time_zones:包含 ClickHouse 服務器支持的時區列表。
- trace_log:包含采樣查詢分析器收集的堆棧跟蹤,在設置comfig.xml的配置部分時創建此表。
-
event_date (Date) — 采樣的日期。
-
event_time (DateTime) — 采樣的時間戳。
-
event_time_microseconds (DateTime64) — 具有微秒精度的采樣時刻的時間戳。
-
timestamp_ns (UInt64) — 以納秒為單位的采樣時刻的時間戳。
-
revision (UInt32) — ClickHouse 服務器構建修訂版。
-
trace_type (Enum8) — 跟蹤類型:
Real 表示按掛鍾時間收集堆棧跟蹤。
CPU 表示按 CPU 時間收集堆棧跟蹤。
當內存分配超過后續水印時,內存表示收集分配和解除分配。
MemorySample 表示收集隨機分配和解除分配。 -
thread_number (UInt32) — 線程標識符。
-
query_id (String) — 查詢標識符,可用於獲取有關從 query_log 系統表運行的查詢的詳細信息。
-
trace (Array(UInt64)) — 采樣時的堆棧跟蹤。每個元素都是 ClickHouse 服務器進程內的一個虛擬內存地址。
-
- user_directories:用戶配置目錄,可以在config.xml里設置里面的值
:) select * from user_directories; ┌─name────────────┬─type────────────┬─params─────────────────────────────────────────┬─precedence─┐ │ users.xml │ users.xml │ {"path":"\/etc\/clickhouse-server\/users.xml"} │ 1 │ │ local directory │ local directory │ {"path":"\/ccdata\/clickhouse\/access\/"} │ 2 │ └─────────────────┴─────────────────┴────────────────────────────────────────────────┴────────────┘
- users:包含在服務器上配置的用戶列表
:) select * from users\G Row 1: ────── name: default id: 94309d50-4f52-5250-31bd-74fecac179db storage: users.xml auth_type: plaintext_password auth_params: {} host_ip: ['::/0'] host_names: [] host_names_regexp: [] host_names_like: [] default_roles_all: 1 default_roles_list: [] default_roles_except: [] grantees_any: 1 grantees_list: [] grantees_except: []
-
name (String) — 用戶名。
-
id (UUID) — 用戶 ID。
-
storage (String) — 用戶存儲的路徑。在 access_control_path 參數中配置。
-
auth_type (Enum8('no_password' = 0,'plaintext_password' = 1, 'sha256_password' = 2, 'double_sha1_password' = 3)) — 顯示身份驗證類型。對應着是:無密碼、明文密碼、SHA256編碼密碼、雙SHA-1編碼密碼。
-
auth_params (String) — JSON 格式的身份驗證參數,具體取決於 auth_type。
-
host_ip (Array(String)) — 允許連接到 ClickHouse 服務器的主機的 IP 地址。
-
host_names (Array(String)) — 允許連接到 ClickHouse 服務器的主機的名稱。
-
host_names_regexp (Array(String)) — 允許連接到 ClickHouse 服務器的主機名的正則表達式。
-
host_names_like (Array(String)) — 允許連接到 ClickHouse 服務器的主機的名稱,使用 LIKE 謂詞設置。
-
default_roles_all (UInt8) — 顯示默認情況下為用戶設置的所有授予的角色。
-
default_roles_list (Array(String)) — 默認提供的授權角色列表。
-
default_roles_except (Array(String)) — 除列出的角色外,所有授予的角色都設置為默認角色。
-
- zeros:類似numbers表
- zeros_mt:類似numbers_mt表
- zookeeper:如果未配置 ZooKeeper,則該表不存在。 允許從配置中定義的 ZooKeeper 集群讀取數據。
:) select * from zookeeper where path='/clickhouse'; ┌─name───────┬─value─┬─czxid─┬─mzxid─┬───────────────ctime─┬───────────────mtime─┬─version─┬─cversion─┬─aversion─┬─ephemeralOwner─┬─dataLength─┬─numChildren─┬─pzxid─┬─path────────┐ │ tables │ │ 21595 │ 21595 │ 2021-06-23 14:09:44 │ 2021-06-23 14:09:44 │ 0 │ 3 │ 0 │ 0 │ 0 │ 3 │ 21613 │ /clickhouse │ │ task_queue │ │ 21550 │ 21550 │ 2021-06-23 13:50:24 │ 2021-06-23 13:50:24 │ 0 │ 1 │ 0 │ 0 │ 0 │ 1 │ 21551 │ /clickhouse │ └────────────┴───────┴───────┴───────┴─────────────────────┴─────────────────────┴─────────┴──────────┴──────────┴────────────────┴────────────┴─────────────┴───────┴─────────────┘
-
name (String) — 節點的名稱。
-
path (String) — 節點的路徑。
-
value (String) — 節點值。
-
dataLength (Int32) — 值的大小。
-
numChildren (Int32) — 后代數量。
-
czxid (Int64) — 創建節點的交易的 ID。
-
mzxid (Int64) — 最后更改節點的事務的 ID。
-
pzxid (Int64) — 最后刪除或添加后代的事務的 ID。
-
ctime (DateTime) — 節點創建時間。
-
mtime (DateTime) — 上次修改節點的時間。
-
version (Int32) — 節點版本:節點更改的次數。
-
cversion (Int32) — 添加或刪除的后代數量。
-
aversion (Int32) — ACL 的更改次數。
-
ephemeralOwner (Int64) — 對於臨時節點,擁有此節點的會話的 ID。
總結
系統表提供了服務器的狀態、進程以及環境,可以通過系統表獲取到服務器的各種信息,關於user的相關的表,需要開啟參數 access_management 來授權使用。
參考文章: