system.settings

Contains information about session settings for current user.

Columns:

  • name (String) — Setting name.
  • value (String) — Setting value.
  • changed (UInt8) — Shows whether a setting is changed from its default value.
  • description (String) — Short setting description.
  • min (Nullable(String)) — Minimum value of the setting, if any is set via constraints. If the setting has no minimum value, contains NULL.
  • max (Nullable(String)) — Maximum value of the setting, if any is set via constraints. If the setting has no maximum value, contains NULL.
  • readonly (UInt8) — Shows whether the current user can change the setting:
    • 0 — Current user can change the setting.
    • 1 — Current user can’t change the setting.

Example

The following example shows how to get information about settings which name contains min_i.

  1. SELECT *
  2. FROM system.settings
  3. WHERE name LIKE '%min_i%'
  1. ┌─name────────────────────────────────────────┬─value─────┬─changed─┬─description───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─min──┬─max──┬─readonly─┐
  2. 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
  3. 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
  4. 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
  5. └─────────────────────────────────────────────┴───────────┴─────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────┴──────┴──────────┘

Using of WHERE changed can be useful, for example, when you want to check:

  • Whether settings in configuration files are loaded correctly and are in use.
  • Settings that changed in the current session.
  1. SELECT * FROM system.settings WHERE changed AND name='load_balancing'

See also

Original article