Skip to main content

system.settings

包含当前用户会话设置的相关信息。

列:

  • name (字符串) — 设置名称。
  • value (字符串) — 设置的值。
  • changed (UInt8) — 显示该设置是否从其默认值修改。
  • description (字符串) — 该设置的简要描述。
  • min (可为空(字符串)) — 该设置的最小值,如果有最小值,则是通过约束设置的。如果该设置没有最小值,则包含 NULL.
  • max (可为空(字符串)) — 该设置的最大值, 如果有最大值,则是通过约束设置的。如果该设置没有最大值,则包含 NULL.
  • readonly (UInt8) — 当前用户是否可以修改该设置:
    • 0 — 当前用户可以修改此设置.
    • 1 — 当前用户不能修改此设置.

示例

下面的例子显示了如何获得设置名称中包含min_i的设置信息。

SELECT *
FROM system.settings
WHERE name LIKE '%min_i%'
┌─name────────────────────────────────────────┬─value─────┬─changed─┬─description───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─min──┬─max──┬─readonly─┐
│ min_insert_block_size_rows │ 1048576 │ 0 │ Squash blocks passed to INSERT query to specified size in rows, if blocks are not big enough. │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │
│ min_insert_block_size_bytes │ 268435456 │ 0 │ Squash blocks passed to INSERT query to specified size in bytes, if blocks are not big enough. │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │
│ read_backoff_min_interval_between_events_ms │ 1000 │ 0 │ Settings to reduce the number of threads in case of slow reads. Do not pay attention to the event, if the previous one has passed less than a certain amount of time. │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │
└─────────────────────────────────────────────┴───────────┴─────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────┴──────┴──────────┘

比如,当你想要检查以下情况时,使用 WHERE changed 会很有用:

  • 配置文件中的设置是否正确加载,并正在使用。
  • 在当前会话中更改过的设置。
SELECT * FROM system.settings WHERE changed AND name='load_balancing'

另请参阅

原文