system.settings 시스템 테이블

system.settings 시스템 테이블

system.settings 는 현재 사용자의 세션 설정에 대한 정보를 담고 있어요.

출처: 문서

본문

Description

현재 사용자의 세션 설정에 대한 정보를 포함해요.

Columns

  • name (String) — 설정 이름이에요.

  • value (String) — 설정 값이에요.

  • changed (UInt8) — 설정이 구성에서 명시적으로 정의되었거나 명시적으로 변경되었는지 여부를 보여줘요.

  • description (String) — 짧은 설정 설명이에요.

  • min (Nullable(String)) — 제약을 통해 설정된 설정의 최솟값이에요. 설정에 최솟값이 없으면 NULL을 포함해요.

  • max (Nullable(String)) — 제약을 통해 설정된 설정의 최댓값이에요. 설정에 최댓값이 없으면 NULL을 포함해요.

  • disallowed_values (Array(String)) — 허용되지 않는 값 목록이에요.

  • readonly (UInt8) — 현재 사용자가 설정을 변경할 수 있는지 여부를 보여줘요: 0 — 현재 사용자가 설정을 변경할 수 있어요, 1 — 현재 사용자가 설정을 변경할 수 없어요.

  • type (String) — 이 설정에 할당할 수 있는 값의 유형이에요.

  • default (String) — 설정 기본값이에요.

  • alias_for (String) — 설정이 다른 설정의 별칭인 경우 원래 설정의 이름이에요.

  • is_obsolete (UInt8) — 설정이 폐기되었는지 여부를 보여줘요.

  • tier (Enum8(‘Production’ = 0, ‘Obsolete’ = 4, ‘Experimental’ = 8, ‘Beta’ = 12, ‘PrivatePreview’ = 16)) — 이 기능에 대한 지원 수준이에요. ClickHouse 기능은 현재 개발 상태와 사용 시 기대치에 따라 티어로 구분돼요:

  • PRODUCTION(프로덕션): 기능이 안정적이고 사용하기 안전하며 다른 PRODUCTION 기능과 상호작용할 때 문제가 없어요.

  • BETA(베타): 기능이 안정적이고 안전해요. 다른 기능과 함께 사용했을 때의 결과는 알 수 없고 정확성도 보장되지 않아요. 테스트와 보고를 환영해요.

  • EXPERIMENTAL(실험적): 개발 중인 기능이에요. 개발자와 ClickHouse 애호가만을 위한 것이에요. 작동할 수도 있고 작동하지 않을 수도 있으며 언제든지 제거될 수 있어요.

  • PRIVATE PREVIEW(비공개 프리뷰): 기능이 일반 공급(general availability)으로 가는 명확한 경로에 있어요. 적용 범위가 여전히 제한적이며 프로덕션 사용에는 권장되지 않아요.

  • OBSOLETE(구식): 더 이상 지원되지 않아요. 이미 제거되었거나 향후 릴리스에서 제거될 예정이에요.

Example

다음 예제는 이름에 min_i 가 포함된 설정에 대한 정보를 얻는 방법을 보여줘요.

SELECT *
FROM system.settings
WHERE name LIKE '%min_insert_block_size_%'
FORMAT Vertical
Row 1:
──────
name:        min_insert_block_size_rows
value:       1048449
changed:     0
description: Sets the minimum number of rows in the block that can be inserted into a table by an `INSERT` query. Smaller-sized blocks are squashed into bigger ones.

Possible values:

- Positive integer.
- 0 — Squashing disabled.
min:         ᴺᵁᴸᴸ
max:         ᴺᵁᴸᴸ
readonly:    0
type:        UInt64
default:     1048449
alias_for:
is_obsolete: 0
tier:        Production

Row 2:
──────
name:        min_insert_block_size_bytes
value:       268402944
changed:     0
description: Sets the minimum number of bytes in the block which can be inserted into a table by an `INSERT` query. Smaller-sized blocks are squashed into bigger ones.

Possible values:

- Positive integer.
- 0 — Squashing disabled.
min:         ᴺᵁᴸᴸ
max:         ᴺᵁᴸᴸ
readonly:    0
type:        UInt64
default:     268402944
alias_for:
is_obsolete: 0
tier:        Production

Row 3:
──────
name:        min_insert_block_size_rows_for_materialized_views
value:       0
changed:     0
description: Sets the minimum number of rows in the block which can be inserted into a table by an `INSERT` query. Smaller-sized blocks are squashed into bigger ones. This setting is applied only for blocks inserted into [materialized view](/reference/statements/create/view). By adjusting this setting, you control blocks squashing while pushing to materialized view and avoid excessive memory usage.

Possible values:

- Any positive integer.
- 0 — Squashing disabled.

## See Also {#see-also}

- [min_insert_block_size_rows](/reference/settings/session-settings/min-insert#min_insert_block_size_rows)
min:         ᴺᵁᴸᴸ
max:         ᴺᵁᴸᴸ
readonly:    0
type:        UInt64
default:     0
alias_for:
is_obsolete: 0
tier:        Production

Row 4:
──────
name:        min_insert_block_size_bytes_for_materialized_views
value:       0
changed:     0
description: Sets the minimum number of bytes in the block which can be inserted into a table by an `INSERT` query. Smaller-sized blocks are squashed into bigger ones. This setting is applied only for blocks inserted into [materialized view](/reference/statements/create/view). By adjusting this setting, you control blocks squashing while pushing to materialized view and avoid excessive memory usage.

Possible values:

- Any positive integer.
- 0 — Squashing disabled.

## See Also {#see-also}

- [min_insert_block_size_bytes](/reference/settings/session-settings/min-insert#min_insert_block_size_bytes)
min:         ᴺᵁᴸᴸ
max:         ᴺᵁᴸᴸ
readonly:    0
type:        UInt64
default:     0
alias_for:
is_obsolete: 0
tier:        Production

WHERE changed 를 사용하면 예를 들어 다음을 확인할 때 유용할 수 있어요:

  • 구성 파일의 설정이 올바르게 로드되어 사용 중인지.

  • 현재 세션에서 변경된 설정.

SELECT * FROM system.settings WHERE changed AND name='load_balancing'

See Also