跳到主要内容
跳到主要内容

system.server_settings

在 ClickHouse Cloud 中进行查询

该系统表中的数据保存在 ClickHouse Cloud 中每个节点的本地。因此,如需获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。更多详情请参阅此处

包含在 config.xml 中指定的服务器全局设置的信息。 当前,该表仅显示 config.xml 顶层中的设置,不支持嵌套配置(例如 logger)。

列:

  • name (String) — 服务器设置名称。
  • value (String) — 服务器设置的值。
  • default (String) — 服务器设置的默认值。
  • changed (UInt8) — 指示某个设置是否在 config.xml 中被显式指定。
  • description (String) — 服务器设置的简要说明。
  • type (String) — 服务器设置值的类型。
  • changeable_without_restart (Enum8) — 指示该设置是否可以在服务器运行时更改。取值:
    • 'No'
    • 'IncreaseOnly'
    • 'DecreaseOnly'
    • 'Yes'
  • is_obsolete (UInt8) - 指示某个设置是否已废弃。

示例

下面的示例展示了如何获取名称中包含 thread_pool 的服务器设置相关信息。

SELECT *
FROM system.server_settings
WHERE name LIKE '%thread_pool%'
┌─name──────────────────────────────────────────┬─value─┬─default─┬─changed─┬─description─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─type───┬─changeable_without_restart─┬─is_obsolete─┐
│ max_thread_pool_size                          │ 10000 │ 10000   │       0 │ 可从操作系统分配用于查询执行和后台操作的最大线程数。                           │ UInt64 │                         No │           0 │
│ max_thread_pool_free_size                     │ 1000  │ 1000    │       0 │ 分配后始终保留在全局线程池中的最大线程数,当任务数量不足时保持空闲。 │ UInt64 │                         No │           0 │
│ thread_pool_queue_size                        │ 10000 │ 10000   │       0 │ 可放置在队列中等待执行的最大任务数。                                                                  │ UInt64 │                         No │           0 │
│ max_io_thread_pool_size                       │ 100   │ 100     │       0 │ 用于 IO 操作的最大线程数                                                                                  │ UInt64 │                         No │           0 │
│ max_io_thread_pool_free_size                  │ 0     │ 0       │       0 │ IO 线程池的最大空闲容量。                                                                                                                   │ UInt64 │                         No │           0 │
│ io_thread_pool_queue_size                     │ 10000 │ 10000   │       0 │ IO 线程池的队列大小。                                                                                                                      │ UInt64 │                         No │           0 │
│ max_active_parts_loading_thread_pool_size     │ 64    │ 64      │       0 │ 启动时用于加载活动数据部分集合(活动部分)的线程数。                                                                    │ UInt64 │                         No │           0 │
│ max_outdated_parts_loading_thread_pool_size   │ 32    │ 32      │       0 │ 启动时用于加载非活动数据部分集合(过时部分)的线程数。                                                                │ UInt64 │                         No │           0 │
│ max_unexpected_parts_loading_thread_pool_size │ 32    │ 32      │       0 │ 启动时用于加载非活动数据部分集合(意外部分)的线程数。                                                              │ UInt64 │                         No │           0 │
│ max_parts_cleaning_thread_pool_size           │ 128   │ 128     │       0 │ 用于并发删除非活动数据部分的线程数。                                                                                │ UInt64 │                         No │           0 │
│ max_backups_io_thread_pool_size               │ 1000  │ 1000    │       0 │ 用于 BACKUP 查询 IO 操作的最大线程数                                                               │ UInt64 │                         No │           0 │
│ max_backups_io_thread_pool_free_size          │ 0     │ 0       │       0 │ 备份 IO 线程池的最大空闲容量。                                                                                                           │ UInt64 │                         No │           0 │
│ backups_io_thread_pool_queue_size             │ 0     │ 0       │       0 │ 备份 IO 线程池的队列大小。                                                                                                              │ UInt64 │                         No │           0 │
└───────────────────────────────────────────────┴───────┴─────────┴─────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┴────────────────────────────┴─────────────┘

使用 WHERE changed 在某些场景下会很有用,例如当你想检查配置文件中的设置是否已正确加载并实际生效时。

SELECT * FROM system.server_settings WHERE changed AND name='max_thread_pool_size'

另请参见