メインコンテンツまでスキップ
メインコンテンツまでスキップ

グローバルサーバー設定

このセクションには、セッションまたはクエリレベルで変更できないサーバー設定の説明が含まれています。これらの設定は、ClickHouseサーバーの config.xml ファイルに格納されています。ClickHouseの構成ファイルに関する詳細については、"Configuration Files" をご覧ください。

他の設定については、"Settings" セクションで記述されています。 設定を学ぶ前に、Configuration files セクションを読むことをお勧めし、代入の使用(incl および optional 属性)に注意してください。

allow_use_jemalloc_memory

jemallocメモリの使用を許可します。

タイプ: Bool

デフォルト: 1

asynchronous_heavy_metrics_update_period_s

非同期メトリクスを更新するための秒数の期間。

タイプ: UInt32

デフォルト: 120

asynchronous_metric_log

ClickHouse Cloudのデプロイメントではデフォルトで有効です。

この設定があなたの環境でデフォルトで有効でない場合は、ClickHouseがインストールされた方法に応じて、以下の指示に従ってそれを有効または無効にすることができます。

有効化

非同期メトリクスログ履歴の収集を手動で有効にするには、system.asynchronous_metric_log用に次の内容で /etc/clickhouse-server/config.d/asynchronous_metric_log.xml を作成します:

無効化

asynchronous_metric_log 設定を無効にするには、次の内容で /etc/clickhouse-server/config.d/disable_asynchronous_metric_log.xml ファイルを作成する必要があります:

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

asynchronous_metrics_update_period_s

非同期メトリクスを更新するための秒数の期間。

タイプ: UInt32

デフォルト: 1

auth_use_forwarded_address

プロキシ経由で接続されたクライアントの認証に元のアドレスを使用します。

注記

この設定は、転送されたアドレスが簡単に偽造できるため、特に注意して使用する必要があります。このような認証を受け入れるサーバーには直接アクセスせず、信頼できるプロキシを通じてのみアクセスするべきです。

タイプ: Bool

デフォルト: 0

background_buffer_flush_schedule_pool_size

バックグラウンドで Buffer-engine tables に対するフラッシュ操作を実行するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 16

background_common_pool_size

バックグラウンドで *MergeTree-engine テーブルのさまざまな操作(主にガベージコレクション)を実行するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 8

background_distributed_schedule_pool_size

分散送信を実行するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 16

background_fetches_pool_size

バックグラウンドで *MergeTree-engine テーブルの別のレプリカからデータパーツを取得するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 16

background_merges_mutations_concurrency_ratio

同時に実行できるバックグラウンドマージと変異のスレッド数の比率を設定します。

例えば、比率が 2 で background_pool_size が 16 に設定されている場合、ClickHouse は 32 のバックグラウンドマージを同時に実行できます。これは、バックグラウンド操作を一時停止や延期することができるためです。小さいマージにより実行優先度を与える必要があります。

注記

この比率は、実行時にのみ増加させることができます。下げるにはサーバーを再起動する必要があります。

background_pool_size 設定と同様に、background_merges_mutations_concurrency_ratio は、互換性のために default プロファイルから適用される可能性があります。

タイプ: Float

デフォルト: 2

background_merges_mutations_scheduling_policy

バックグラウンドマージと変異のスケジューリングを行うためのポリシー。可能な値は round_robinshortest_task_first です。

バックグラウンドスレッドプールによって実行される次のマージまたは変異を選択するために使用されるアルゴリズム。ポリシーはサーバーを再起動せずに実行時に変更することができます。

互換性のために default プロファイルから適用される可能性があります。

可能な値:

  • round_robin — すべての同時マージおよび変異がラウンドロビン順に実行され、飢餓のない操作を保証します。小さいマージは、大きいマージよりもブロックが少ないため、より早く完了します。
  • shortest_task_first — 常に小さいマージまたは変異を実行します。マージと変異は、その結果のサイズに基づいて優先順位が割り当てられます。小さいサイズのマージは大きいものより厳格に優先されます。このポリシーは、小さなパーツの迅速なマージを保証しますが、INSERT によって過度に負荷がかかっているパーティションでは大きなマージの無期限の飢餓を引き起こす可能性があります。

タイプ: String

デフォルト: round_robin

background_message_broker_schedule_pool_size

メッセージストリーミングのバックグラウンド操作を実行するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 16

background_move_pool_size

バックグラウンドで *MergeTree-engine テーブルの別のディスクまたはボリュームにデータパーツを移動するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 8

background_schedule_pool_size

レプリケートテーブル、Kafkaストリーミング、DNSキャッシュの更新に対して、定期的に軽量な操作を継続的に実行するために使用されるスレッドの最大数。

タイプ: UInt64

デフォルト: 512

backups

BACKUP TO File() を使用して書き込むときに使用されるバックアップの設定。

次の設定はサブタグによって構成できます:

設定説明デフォルト
allowed_pathFile() を使用する際のバックアップ先パス。この設定は File を使用するために設定する必要があります。パスはインスタンスディレクトリに対する相対パス、または絶対パスのいずれかです。true
remove_backup_files_after_failureBACKUP コマンドが失敗した場合、ClickHouse は失敗前にバックアップにコピーされた既存のファイルを削除しようとします。さもなければ、コピーされたファイルはそのままとなります。true

この設定はデフォルトで次のように構成されています:

backup_threads

BACKUP リクエストを実行するための最大スレッド数。

タイプ: UInt64

デフォルト: 16

backups_io_thread_pool_queue_size

バックアップIOスレッドプールにスケジュールできるジョブの最大数。現在のS3バックアップロジックにより、このキューは無制限に保つことをお勧めします。

注記

0 の値(デフォルト)は無制限を意味します。

タイプ: UInt64

デフォルト: 0

bcrypt_workfactor

バイクリプトアルゴリズムを使用するbcrypt_password認証タイプの作業係数。

デフォルト: 12

cache_size_to_ram_max_ratio

RAM最大比率に対するキャッシュサイズを設定します。メモリの少ないシステムでのキャッシュサイズを減少させることを許可します。

タイプ: Double

デフォルト: 0.5

concurrent_threads_soft_limit_num

すべてのクエリを実行するために許可された最大のクエリ処理スレッド数(リモートサーバーからデータを取得するためのスレッドを除く)。これは厳密な制限ではありません。制限に達した場合でもクエリは少なくとも1つのスレッドを得て、より多くのスレッドが使用可能になった場合、実行の間に望ましいスレッド数にスケールアップすることができます。

注記

0 の値(デフォルト)は無制限を意味します。

タイプ: UInt64

デフォルト: 0

concurrent_threads_soft_limit_ratio_to_cores

concurrent_threads_soft_limit_num と同様ですが、コアに対する比率です。

タイプ: UInt64

デフォルト: 0

concurrent_threads_scheduler

concurrent_threads_soft_limit_num および concurrent_threads_soft_limit_ratio_to_cores で指定されたCPUスロットのスケジューリングをどう実施するかのポリシー。限られた数のCPUスロットが同時クエリ間でどのように分配されるかを管理するためのアルゴリズム。スケジューラは、サーバーの再起動なしで実行時に変更可能です。

タイプ: String

デフォルト: round_robin

可能な値:

  • round_robinuse_concurrency_control = 1 の設定を持つすべてのクエリは、最大 max_threads CPUスロットを割り当てます。スレッドごとに1スロット。競合時には、CPUスロットはラウンドロビン方式でクエリに付与されます。最初のスロットは無条件に付与されるため、高い max_threads のクエリの不公平さと遅延が増す可能性があります。
  • fair_round_robinuse_concurrency_control = 1 の設定を持つすべてのクエリは、最大 max_threads - 1 CPUスロットを割り当てます。すべてのクエリの最初のスレッドにはCPUスロットが必要ないラウンドロビンの変種。この方法では、max_threads = 1 のクエリはスロットを必要とせず、不公平にすべてのスロットを割り当てることはできません。無条件でスロットされることはありません。

default_database

デフォルトのデータベース名。

タイプ: String

デフォルト: default

disable_internal_dns_cache

内部DNSキャッシュを無効にします。Kubernetesなどの頻繁に変更されるインフラストラクチャでClickHouseを操作する際に推奨されます。

タイプ: Bool

デフォルト: 0

dns_cache_max_entries

内部DNSキャッシュの最大エントリ数。

タイプ: UInt64

デフォルト: 10000

dns_cache_update_period

内部DNSキャッシュの更新期間(秒単位)。

タイプ: Int32

デフォルト: 15

dns_max_consecutive_failures

ClickHouseのDNSキャッシュからホストを削除するまでの最大連続解決失敗数。

タイプ: UInt32

デフォルト: 10

index_mark_cache_policy

インデックスマークキャッシュポリシー名。

タイプ: String

デフォルト: SLRU

index_mark_cache_size

インデックスマークのキャッシュの最大サイズ。

注記

0 の値は無効を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。

タイプ: UInt64

デフォルト: 0

index_mark_cache_size_ratio

インデックスマークキャッシュの保護キューのサイズ(SLRUポリシーの場合)、キャッシュの総サイズに対して。

タイプ: Double

デフォルト: 0.5

index_uncompressed_cache_policy

インデックス非圧縮キャッシュポリシー名。

タイプ: String

デフォルト: SLRU

index_uncompressed_cache_size

MergeTree インデックスの非圧縮ブロックのキャッシュの最大サイズ。

注記

0 の値は無効を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。

タイプ: UInt64

デフォルト: 0

index_uncompressed_cache_size_ratio

インデックス非圧縮キャッシュの保護キューのサイズ(SLRUポリシーの場合)、キャッシュの総サイズに対して。

タイプ: Double

デフォルト: 0.5

skipping_index_cache_policy

スキッピングインデックスキャッシュポリシー名。

タイプ: String

デフォルト: SLRU

skipping_index_cache_size

スキッピングインデックスのキャッシュサイズ。ゼロは無効を意味します。

注記

この設定は実行時に変更可能で、即座に効果を持ちます。

タイプ: UInt64

デフォルト: 5368709120 (= 5 GiB)

skipping_index_cache_size_ratio

スキッピングインデックスキャッシュの保護キューのサイズ(SLRUポリシーの場合)、キャッシュの総サイズに対して。

タイプ: Double

デフォルト: 0.5

skipping_index_cache_max_entries

スキッピングインデックスキャッシュの最大エントリ数。

タイプ: UInt64

デフォルト: 10000000

io_thread_pool_queue_size

IOスレッドプールにスケジュールできるジョブの最大数。

注記

0 の値は無制限を意味します。

タイプ: UInt64

デフォルト: 10000

mark_cache_policy

マークキャッシュのポリシー名。

タイプ: String

デフォルト: SLRU

mark_cache_size

MergeTree テーブルファミリーのマーク(インデックス)のキャッシュの最大サイズ。

注記

この設定は実行時に変更可能で、即座に効果を持ちます。

タイプ: UInt64

デフォルト: 5368709120

mark_cache_size_ratio

マークキャッシュの保護キューのサイズ(SLRUポリシーの場合)、キャッシュの総サイズに対して。

タイプ: Double

デフォルト: 0.5

max_backup_bandwidth_for_server

サーバー全体のバックアップ用の最大読み取り速度(バイト/秒)。ゼロは無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_backups_io_thread_pool_free_size

バックアップIOスレッドプールで アイドル スレッドの数が max_backup_io_thread_pool_free_size を超えた場合、ClickHouse はアイドルスレッドが占有していたリソースを解放し、プールのサイズを減少させます。必要に応じてスレッドは再作成されます。

タイプ: UInt64

デフォルト: 0

max_backups_io_thread_pool_size

ClickHouse はバックアップIO操作を行うためにバックアップIOスレッドプールのスレッドを使用します。max_backups_io_thread_pool_size はプール内のスレッドの最大数を制限します。

タイプ: UInt64

デフォルト: 1000

max_concurrent_queries

同時に実行されるクエリの総数の制限。INSERT および SELECT クエリの制限、およびユーザーの最大クエリ数も考慮されなければなりません。

参照:

注記

0 の値(デフォルト)は無制限を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。すでに実行中のクエリは変更されません。

タイプ: UInt64

デフォルト: 0

max_concurrent_insert_queries

同時に実行される挿入クエリの総数の制限。

注記

0 の値(デフォルト)は無制限を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。すでに実行中のクエリは変更されません。

タイプ: UInt64

デフォルト: 0

max_concurrent_select_queries

同時に実行される選択クエリの総数の制限。

注記

0 の値(デフォルト)は無制限を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。すでに実行中のクエリは変更されません。

タイプ: UInt64

デフォルト: 0

max_waiting_queries

同時に待っているクエリの総数の制限。 待機中のクエリは、必要なテーブルが非同期で読み込まれている間はブロックされます(async_load_databases を参照)。

注記

待機クエリは、以下の設定によって制御される制限を確認する際にはカウントされません:

この修正は、サーバー起動直後にこれらの制限に達するのを避けるために行われます。

注記

0 の値(デフォルト)は無制限を意味します。この設定は実行時に変更可能で、即座に効果を持ちます。すでに実行中のクエリは変更されません。

タイプ: UInt64

デフォルト: 0

max_connections

最大サーバー接続数。

タイプ: Int32

デフォルト: 1024

max_io_thread_pool_free_size

IOスレッドプールで アイドル スレッドの数が max_io_thread_pool_free_size を超えた場合、ClickHouse はアイドルスレッドが占有していたリソースを解放し、プールのサイズを減少させます。必要に応じてスレッドは再作成されます。

タイプ: UInt64

デフォルト: 0

max_io_thread_pool_size

ClickHouse はS3とのやり取りを行うためにIOスレッドプールのスレッドを使用します。max_io_thread_pool_size はプール内のスレッドの最大数を制限します。

タイプ: UInt64

デフォルト: 100

max_local_read_bandwidth_for_server

ローカル読み取りの最大速度(バイト毎秒)。

注記

0 の値は無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_local_write_bandwidth_for_server

ローカル書き込みの最大速度(バイト毎秒)。

注記

0 の値は無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_partition_size_to_drop

パーティション削除の制限。

MergeTree テーブルのサイズが max_partition_size_to_drop(バイト単位)を超える場合、DROP PARTITION クエリを使用してパーティションを削除することはできません。 この設定を適用するために ClickHouse サーバーを再起動する必要はありません。制限を無効にする別の方法は、<clickhouse-path>/flags/force_drop_table ファイルを作成することです。

注記

0 の値は、制限なしでパーティションを削除できることを意味します。

この制限は、テーブルの削除やトランケートには制限をかけません。max_table_size_to_drop を参照してください。

タイプ: UInt64

デフォルト: 50

max_remote_read_network_bandwidth_for_server

リモート読み取りにおけるネットワークを介したデータ交換の最大速度(バイト毎秒)。

注記

0 の値(デフォルト)は無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_remote_write_network_bandwidth_for_server

リモート書き込みにおけるネットワークを介したデータ交換の最大速度(バイト毎秒)。

注記

0 の値(デフォルト)は無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_server_memory_usage

総メモリ使用量に対する制限。 デフォルトの max_server_memory_usage 値は memory_amount * max_server_memory_usage_to_ram_ratio として計算されます。

注記

0 の値(デフォルト)は無制限を意味します。

タイプ: UInt64

デフォルト: 0

max_server_memory_usage_to_ram_ratio

max_server_memory_usage と同様ですが、物理RAMに対する比率です。メモリの少ないシステムでのメモリ使用量を減少させることを許可します。

RAMとスワップが少ないホストでは、max_server_memory_usage_to_ram_ratio の設定を1を超えるようにする必要があります。

注記

0 の値は無制限を意味します。

タイプ: Double

デフォルト: 0.9

max_build_vector_similarity_index_thread_pool_size

ベクトルインデックスを構築するために使用されるスレッドの最大数。

注記

0 の値はすべてのコアを意味します。

タイプ: UInt64

デフォルト: 16

cgroups_memory_usage_observer_wait_time

サーバーの最大許可メモリ消費量がcgroupsのしきい値によって調整される秒単位のインターバル。

cgroupオブザーバーを無効にするには、この値を 0 に設定します。

設定の参照:

タイプ: UInt64

デフォルト: 15

cgroup_memory_watcher_hard_limit_ratio

cgroupsによるサーバープロセスのメモリ消費の「ハード」しきい値を指定します。このしきい値を超えると、サーバーの最大メモリ消費量がしきい値の値に調整されます。

設定の参照:

タイプ: Double

デフォルト: 0.95

cgroup_memory_watcher_soft_limit_ratio

cgroupsによるサーバープロセスのメモリ消費の「ソフト」しきい値を指定します。このしきい値を超えると、jemalloc内のアリーナがパージされます。

設定の参照:

タイプ: Double

デフォルト: 0.9

max_database_num_to_warn

接続されたデータベースの数が指定の値を超えた場合、ClickHouseサーバーはsystem.warnings テーブルに警告メッセージを追加します。

デフォルト: 1000

max_table_num_to_warn

接続されたテーブルの数が指定の値を超えた場合、ClickHouseサーバーはsystem.warnings テーブルに警告メッセージを追加します。

デフォルト: 5000

max_view_num_to_warn

接続されたビュの数が指定の値を超えた場合、ClickHouseサーバーはsystem.warnings テーブルに警告メッセージを追加します。

タイプ: UInt64

デフォルト: 10000

max_dictionary_num_to_warn

接続された辞書の数が指定の値を超えた場合、ClickHouseサーバーはsystem.warnings テーブルに警告メッセージを追加します。

タイプ: UInt64

デフォルト: 1000

max_part_num_to_warn

アクティブなパーツの数が指定の値を超えた場合、ClickHouseサーバーはsystem.warnings テーブルに警告メッセージを追加します。

タイプ: UInt64

デフォルト: 100000

max_table_num_to_throw

テーブルの数がこの値を超える場合、サーバーは例外をスローします。

以下のテーブルはカウントされません:

  • view
  • remote
  • dictionary
  • system

データベースエンジンのテーブルのみがカウントされます:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
注記

0 の値は制限なしを意味します。

タイプ: UInt64

デフォルト: 0

max_replicated_table_num_to_throw

レプリケートされたテーブルの数がこの値を超える場合、サーバーは例外をスローします。

データベースエンジンのテーブルのみがカウントされます:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
注記

0 の値は制限なしを意味します。

タイプ: UInt64

デフォルト: 0

max_dictionary_num_to_throw

辞書の数がこの値を超える場合、サーバーは例外をスローします。

データベースエンジンのテーブルのみがカウントされます:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
注記

0 の値は制限なしを意味します。

タイプ: UInt64

デフォルト: 0

max_view_num_to_throw

ビューの数がこの値を超える場合、サーバーは例外をスローします。

データベースエンジンのテーブルのみがカウントされます:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
注記

0 の値は制限なしを意味します。

タイプ: UInt64

デフォルト: 0

max_database_num_to_throw

データベースの数がこの値を超える場合、サーバーは例外をスローします。

注記

0 の値(デフォルト)は制限なしを意味します。

タイプ: UInt64

デフォルト: 0

max_temporary_data_on_disk_size

外部集約、結合、またはソートに使用される最大ストレージ量。 この制限を超えるクエリは例外で失敗します。

注記

0 の値は無制限を意味します。

参照:

タイプ: UInt64

デフォルト: 0

max_thread_pool_free_size

Global Threadプール内の アイドル スレッドの数が max_thread_pool_free_size を超えた場合、ClickHouse は一部のスレッドが占有していたリソースを解放し、プールのサイズを減少させます。必要に応じてスレッドは再作成されます。

タイプ: UInt64

デフォルト: 0

max_thread_pool_size

ClickHouse はクエリを処理するために Global Thread プールのスレッドを使用します。クエリを処理するためのアイドルスレッドがない場合、プールに新しいスレッドが作成されます。max_thread_pool_size はプール内のスレッドの最大数を制限します。

タイプ: UInt64

デフォルト: 10000

mmap_cache_size

マップされたファイルのキャッシュサイズ(バイト単位)を設定します。この設定は、頻繁なオープン/クローズ呼び出しを回避することを可能にし(これにより結果としてページフォルトが発生し、多くのコストがかかる)、複数のスレッドとクエリからのマッピングの再利用を促します。設定値はマップされた領域の数(通常はマップされたファイルの数に等しい)です。

マップされたファイル内のデータ量は、以下のシステムテーブルで次のメトリクスを使って監視できます:

システムテーブルメトリクス
system.metricssystem.metric_logMMappedFilesMMappedFileBytes
system.asynchronous_metrics_logMMapCacheCells
system.events, system.processes, system.query_log, system.query_thread_log, system.query_views_logCreatedReadBufferMMap, CreatedReadBufferMMapFailed, MMappedFileCacheHits, MMappedFileCacheMisses
注記

マップされたファイル内のデータ量は直接メモリを消費せず、クエリやサーバーのメモリ使用量には計上されません—これはこのメモリがOSのページキャッシュと同様に破棄可能であるためです。キャッシュは、MergeTreeファミリーのテーブル内の古いパーツを削除すると自動的にドロップ(ファイルがクローズされる)されます。また、SYSTEM DROP MMAP CACHE クエリによって手動でドロップすることもできます。

この設定はランタイム中に変更可能であり、即時に効果を発揮します。

タイプ: UInt64

デフォルト: 1000

restore_threads

RESTOREリクエストを実行するための最大スレッド数。

タイプ: UInt64

デフォルト: 16

show_addresses_in_stack_traces

これがtrueに設定されていると、スタックトレースにアドレスが表示されます。

タイプ: Bool

デフォルト: 1

shutdown_wait_unfinished_queries

trueに設定すると、ClickHouseはシャットダウン前に実行中のクエリが完了するのを待ちます。

タイプ: Bool

デフォルト: 0

table_engines_require_grant

trueに設定すると、特定のエンジンでテーブルを作成するためにユーザーに付与が要求されます。例: GRANT TABLE ENGINE ON TinyLog to user

注記

デフォルトでは、特定のテーブルエンジンを持つテーブルの作成は付与を無視しますが、これをtrueに設定することでこの動作を変更できます。

タイプ: Bool

デフォルト: false

temporary_data_in_cache

このオプションを使用すると、一時データが特定のディスクのキャッシュに保存されます。 このセクションでは、cacheタイプのディスク名を指定する必要があります。 その場合、キャッシュと一時データは同じスペースを共有し、ディスクキャッシュは一時データを作成するために追放されることがあります。

注記

一時データストレージの設定に使用できるオプションは1つだけです: tmp_path, tmp_policy, temporary_data_in_cache

local_diskのキャッシュと一時データは、ファイルシステム上の/tiny_local_cacheに保存され、tiny_local_cacheによって管理されます。

タイプ: String

デフォルト: ""

thread_pool_queue_size

グローバルスレッドプールにスケジュールできる最大ジョブ数。キューサイズを増やすと、メモリ使用量が増加します。この値は max_thread_pool_size に等しく保つことが推奨されます。

注記

0の値は無制限を意味します。

タイプ: UInt64

デフォルト: 10000

tmp_policy

一時データのためのストレージポリシー。詳細については、MergeTree テーブルエンジンのドキュメントを参照してください。

注記
  • 一時データストレージの設定に使用できるオプションは1つだけです: tmp_path, tmp_policy, temporary_data_in_cache
  • move_factor, keep_free_space_bytes, max_data_part_size_bytes は無視されます。
  • ポリシーはローカルディスクを持つ1つのボリュームを持つ必要があります。

/disk1が満杯のとき、一時データは/disk2に保存されます。

タイプ: String

デフォルト: ""

uncompressed_cache_policy

非圧縮キャッシュポリシー名。

タイプ: String

デフォルト: SLRU

uncompressed_cache_size

MergeTreeファミリーのテーブルエンジンで使用される非圧縮データの最大キャッシュサイズ(バイト単位)。

サーバーには1つの共有キャッシュがあります。メモリは需要に応じて割り当てられます。use_uncompressed_cacheオプションが有効の場合、キャッシュが使用されます。

非圧縮キャッシュは、特定のケースで非常に短いクエリに有利です。

注記

0の値は無効化を意味します。

この設定はランタイム中に変更可能であり、即時に効果を発揮します。

タイプ: UInt64

デフォルト: 0

uncompressed_cache_size_ratio

非圧縮キャッシュ内の保護キュー(SLRUポリシーの場合)のサイズは、キャッシュの総サイズに対する比率です。

タイプ: Double

デフォルト: 0.5

builtin_dictionaries_reload_interval

組み込み辞書を再ロードする前の秒数の間隔。

ClickHouseは毎x秒ごとに組み込み辞書を再ロードします。これにより、サーバーを再起動することなく、「オンザフライ」で辞書を編集することが可能になります。

タイプ: UInt64

デフォルト: 3600

compression

MergeTreeエンジンのテーブルに対するデータ圧縮設定。

注記

ClickHouseの使用を開始したばかりの場合は、これを変更しないことをお勧めします。

構成テンプレート:

<case>フィールド:

  • min_part_size – データパートの最小サイズ。
  • min_part_size_ratio – データパートサイズとテーブルサイズの比率。
  • method – 圧縮方法。受け入れ可能な値: lz4, lz4hc, zstd, deflate_qpl
  • level – 圧縮レベル。 Codecsを参照してください。
注記

複数の<case>セクションを構成できます。

条件を満たした場合のアクション:

  • データパートが条件セットに一致する場合、ClickHouseは指定された圧縮方法を使用します。
  • 複数の条件セットに一致する場合、ClickHouseは最初の一致した条件セットを使用します。
注記

データパートに対する条件が満たされない場合、ClickHouseはlz4圧縮を使用します。

encryption

暗号化コーデックで使用するキーを取得するためのコマンドを構成します。キー(またはキー群)は環境変数に書き込むか、設定ファイルに設定する必要があります。

キーは16バイトの長さを持つ16進数または文字列である必要があります。

設定からの読み込み:

注記

設定ファイルへのキーの保存は推奨されません。これは安全ではありません。キーを安全なディスクの別の設定ファイルに移動し、その設定ファイルへのシンボリックリンクをconfig.d/フォルダーに置くことができます。

設定からの読み込み、キーが16進数の場合:

環境変数からキーを読み込む:

ここで、current_key_idは暗号化のための現在のキーを設定し、指定されたすべてのキーは復号化に使用できます。

これらの方法は複数のキーに適用できます:

ここで、current_key_idは暗号化のための現在のキーを示します。

また、ユーザーは12バイトの長さのノンスを追加できます(デフォルトでは、暗号化および復号化プロセスは0バイトで構成されるノンスを使用します):

または、16進数で設定できます:

注記

上記のすべてのことはaes_256_gcm_sivにも適用できます(ただし、キーは32バイトの長さである必要があります)。

error_log

デフォルトでは無効になっています。

有効化

エラーヒストリーコレクション system.error_log を手動でオンにするには、次のコンテンツで /etc/clickhouse-server/config.d/error_log.xml を作成します:

無効化

error_log設定を無効化するには、次の内容で /etc/clickhouse-server/config.d/disable_error_log.xml を作成する必要があります:

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

custom_settings_prefixes

カスタム設定 のプレフィックスのリスト。プレフィックスはカンマで区切る必要があります。

参考

core_dump

コアダンプファイルサイズのソフトリミットを構成します。

注記

ハードリミットはシステムツールを介して構成されます。

デフォルト: 1073741824

database_atomic_delay_before_drop_table_sec

ドロップされたテーブルが UNDROP ステートメントを使用して復元可能な遅延時間。DROP TABLESYNC 修飾子で実行されている場合、この設定は無視されます。 デフォルト値は 480(8分)です。

デフォルト: 480

database_catalog_unused_dir_hide_timeout_sec

store/ ディレクトリからのゴミを掃除するタスクのパラメータ。 もしサブディレクトリがclickhouse-serverによって使用されておらず、このディレクトリが過去 database_catalog_unused_dir_hide_timeout_sec秒間変更されていない場合、そのタスクはこのディレクトリを「隠す」ことによってすべてのアクセス権を削除します。これは、clickhouse-serverがstore/内で見ないことを期待しているディレクトリにも機能します。

注記

0の値は「即時」を意味します。

デフォルト: 3600(1時間)

database_catalog_unused_dir_rm_timeout_sec

store/ ディレクトリからのゴミを掃除するタスクのパラメータ。 もしサブディレクトリがclickhouse-serverによって使用されておらず、そのディレクトリが以前に「隠されて」いた場合 (see database_catalog_unused_dir_hide_timeout_sec) このディレクトリが過去 database_catalog_unused_dir_rm_timeout_sec 秒間変更されていない場合、そのタスクはこのディレクトリを削除します。 これはclickhouse-serverがstore/内で見ないことを期待しているディレクトリにも機能します。

注記

0 の値は「決して」を意味します。デフォルトの値は30日です。

デフォルト: 2592000(30日)。

database_catalog_drop_error_cooldown_sec

テーブルの削除が失敗した場合、ClickHouseはこのタイムアウト期間を待ってから操作を再試行します。

タイプ: UInt64

デフォルト: 5

database_catalog_drop_table_concurrency

テーブルを削除するために使用されるスレッドプールのサイズ。

タイプ: UInt64

デフォルト: 16

database_catalog_unused_dir_cleanup_period_sec

store/ ディレクトリからのゴミを掃除するタスクのパラメータ。 タスクのスケジューリング期間を設定します。

注記

0 の値は「決して」を意味します。デフォルトの値は1日です。

デフォルト: 86400(1日)。

default_profile

デフォルトの設定プロファイル。設定プロファイルは、設定 user_config で指定されたファイルにあります。

default_replica_path

ZooKeeper内のテーブルへのパス。

default_replica_name

ZooKeeper内のレプリカ名。

dictionaries_config

辞書のための設定ファイルのパス。

パス:

  • 絶対パスまたはサーバー設定ファイルに対する相対パスを指定します。
  • パスにはワイルドカード * および ? を含めることができます。

参照:

user_defined_executable_functions_config

ユーザー定義関数のための設定ファイルのパス。

パス:

  • 絶対パスまたはサーバー設定ファイルに対する相対パスを指定します。
  • パスにはワイルドカード * および ? を含めることができます。

参照:

dictionaries_lazy_load

辞書の遅延ロード。

  • true の場合、各辞書は最初の使用時にロードされます。読み込みに失敗した場合、その辞書を使用している関数は例外をスローします。
  • false の場合、サーバーは起動時にすべての辞書をロードします。
注記

サーバーは、接続を受け取る前にすべての辞書の読み込みが完了するまでスタートアップ時に待機します(例外: wait_dictionaries_load_at_startupfalse に設定されている場合)。

format_schema_path

入力データのスキーマに対するディレクトリのパス、例えば CapnProto 形式のスキーマ。

graphite

Graphiteへのデータ送信。

設定:

  • host – Graphiteサーバー。
  • port – Graphiteサーバーのポート。
  • interval – 送信間隔(秒単位)。
  • timeout – データ送信のタイムアウト(秒単位)。
  • root_path – キーのプレフィックス。
  • metricssystem.metrics テーブルからデータを送信。
  • eventssystem.events テーブルからの時間経過に対するデータの変化を送信。
  • events_cumulativesystem.events テーブルから累積データを送信。
  • asynchronous_metricssystem.asynchronous_metrics テーブルからデータを送信。

複数の <graphite> 句を構成できます。例えば、異なる間隔で異なるデータを送信するために使用できます。

graphite_rollup

Graphite用のデータの薄化設定。

詳しくは、GraphiteMergeTreeを参照してください。

google_protos_path

Protobufタイプのためのプロトファイルを含むディレクトリを定義します。

http_handlers

カスタムHTTPハンドラの使用を許可します。 新しいhttpハンドラを追加するには、単に新しい <rule> を追加します。 ルールは、定義された上から下にチェックされ、最初の一致がハンドラを実行します。

以下の設定はサブタグで構成できます:

サブタグ定義
urlリクエストURLと一致させるために、'regex:' プレフィックスを使用して正規表現マッチを使用することができます(オプション)。
methodsリクエストメソッドと一致させるために、複数のメソッドマッチをカンマで区切ることができます(オプション)。
headersリクエストヘッダと一致させるために、各子要素(子要素名はヘッダ名)を一致させることができます。正規表現マッチを使用するために 'regex:' プレフィックスを使用できます(オプション)。
handlerリクエストハンドラ
empty_query_stringURLにクエリ文字列がないことを確認します

handler には次の設定がサブタグで構成できます:

サブタグ定義
urlリダイレクト先
typeサポートされるタイプ: static, dynamic_query_handler, predefined_query_handler, redirect
statusstaticタイプで使用し、レスポンスステータスコード
query_param_namedynamic_query_handlerタイプで使用し、HTTPリクエストパラメータ内の <query_param_name> に対応する値を抽出して実行します
querypredefined_query_handlerタイプで使用し、ハンドラが呼び出されたときにクエリを実行します
content_typestaticタイプで使用し、レスポンスコンテンツタイプ
response_contentstaticタイプで使用し、クライアントに送信されるレスポンスコンテンツ。 'file://' または 'config://' プレフィックスを使用すると、コンテンツがファイルまたは設定からクライアントに送信されます。

ルールのリストに加えて、すべてのデフォルトハンドラを有効にする <defaults/> を指定できます。

http_port/https_port

HTTP(s) 経由でサーバーに接続するためのポート。

  • https_port が指定されている場合は、OpenSSL を構成する必要があります。
  • http_port が指定されている場合、OpenSSLの設定は無視されます(設定されていても)。

http_server_default_response

ClickHouse HTTP(s) サーバーにアクセスした際にデフォルトで表示されるページ。 デフォルト値は "Ok."(末尾に改行あり)

http://localhost: http_port にアクセスすると https://tabix.io/ が開きます。

http_options_response

OPTIONS HTTPリクエストのレスポンスにヘッダーを追加するために使用されます。 OPTIONS メソッドは、CORSのプレフライトリクエストを行うために使用されます。

詳細については、OPTIONSを参照してください。

hsts_max_age

HSTSの有効期限(秒単位)。

注記

0の値はClickHouseがHSTSを無効にすることを意味します。正の数を設定すると、HSTSが有効になり、max-ageは設定した数になります。

mlock_executable

起動後に mlockall を実行し、最初のクエリの遅延を低下させ、クリックハウス実行可能ファイルが高いIO負荷の下でページアウトされないようにします。

注記

このオプションを有効にすることが推奨されますが、起動時間が数秒増加する可能性があります。この設定は「CAP_IPC_LOCK」機能がないと機能しません。

include_from

置換用のファイルのパス。XMLとYAML形式の両方がサポートされています。

詳細については、"構成ファイル" セクションを参照してください。

interserver_listen_host

ClickHouseサーバー間でデータを交換できるホストに対する制限。 Keeperが使用されている場合、異なるKeeperインスタンス間の通信にも同じ制限が適用されます。

注記

デフォルトでは、この値はlisten_host設定に等しくなります。

タイプ:

デフォルト:

interserver_http_port

ClickHouseサーバー間でデータを交換するためのポート。

interserver_http_host

他のサーバーがこのサーバーにアクセスする際に使用できるホスト名。

省略されると、hostname -f コマンドと同様に定義されます。

特定のネットワークインターフェースからの切り離しに便利です。

interserver_https_port

HTTPS経由でClickHouseサーバー間でデータを交換するためのポート。

interserver_https_host

interserver_http_hostと似ていますが、このホスト名は他のサーバーがこのサーバーにHTTPSでアクセスするために使用できます。

interserver_http_credentials

他のサーバーと接続するために使用されるユーザー名とパスワード、.レプリケーション中に。さらに、サーバーはこれらの資格情報を使用して他のレプリカを認証します。 したがって、interserver_http_credentialsはクラスタ内のすべてのレプリカで同じでなければなりません。

注記
  • デフォルトでは、interserver_http_credentialsセクションが省略されると、レプリケーション中に認証は使用されません。
  • interserver_http_credentialsの設定は、ClickHouseクライアントの資格情報の設定とは関係ありません。
  • これらの資格情報は、HTTPおよびHTTPSを介したレプリケーションで共通です。

次の設定はサブタグで構成できます。

  • user — ユーザー名。
  • password — パスワード。
  • allow_emptytrueの場合、資格情報が設定されていても、他のレプリカが認証なしで接続できることを許可します。falseの場合、認証なしの接続は拒否されます。デフォルト: false
  • old — 資格情報のローテーション中に使用された古いuserpasswordを含みます。複数のoldセクションを指定できます。

資格情報のローテーション

ClickHouseは、すべてのレプリカを同時に停止せずに動的なインタサーバー資格情報のローテーションをサポートします。資格情報は複数のステップで変更できます。

認証を有効にするには、interserver_http_credentials.allow_emptytrueに設定し、資格情報を追加します。これにより、認証および非認証での接続が可能になります。

すべてのレプリカを構成した後、allow_emptyfalseに設定するか、この設定を削除します。これにより、新しい資格情報での認証が必須となります。

既存の資格情報を変更するには、ユーザー名とパスワードをinterserver_http_credentials.oldセクションに移動し、userpasswordを新しい値で更新します。この時点で、サーバーは新しい資格情報を使用して他のレプリカに接続し、新しいまたは古い資格情報のいずれかでの接続を受け入れます。

新しい資格情報がすべてのレプリカに適用されたら、古い資格情報を削除できます。

keep_alive_timeout

ClickHouseが接続を閉じる前に、受信リクエストを待つ秒数。

max_keep_alive_requests

ClickHouseサーバーによって閉じられるまでの単一のキープアライブ接続を通じての最大リクエスト数。

ldap_servers

ここにLDAPサーバーのリストとその接続パラメータを記述します:

  • 'ldap'認証メカニズムが指定されている専用のローカルユーザーのために、それらを認証者として使用します。
  • リモートユーザーディレクトリとしてそれらを使用します。

次の設定はサブタグで構成できます。

設定説明
hostLDAPサーバーのホスト名またはIP。このパラメーターは必須であり、空にすることはできません。
portLDAPサーバーポート、enable_tlstrueの場合はデフォルト636、それ以外は389です。
bind_dnバインドに使用されるDNを構築するためのテンプレート。結果として得られるDNは、各認証試行中にテンプレートのすべての\{user_name\}部分文字列を実際のユーザー名で置き換えることによって構築されます。
user_dn_detectionバウンドユーザーの実際のユーザーDNを検出するためのLDAP検索パラメータを含むセクション。これは主に、サーバーがActive Directoryの場合にさらなるロールマッピングのための検索フィルターで使用されます。得られたユーザーDNは、許可されている場所で\{user_dn\}部分文字列を置き換える際に使用されます。デフォルトでは、ユーザーDNはバインドDNに等しく設定されますが、検索が実行されると、実際の検出されたユーザーDNの値で更新されます。
verification_cooldown成功したバインド試行の後、LDAPサーバーと接触せずにユーザーがすべての連続リクエストのために正常に認証されていると見なされる期間(秒単位)。キャッシュを無効にし、各認証リクエストのためにLDAPサーバーに接触させるには0(デフォルト)を指定します。
enable_tlsLDAPサーバーへの安全な接続をトリガーするフラグ。平文テキスト(ldap://)プロトコルのためにnoを指定します(推奨されません)。SSL/TLS経由のLDAP(ldaps://)プロトコルのためにはyesを指定します(推奨、デフォルト)。レガシーStartTLSプロトコル(平文テキスト(ldap://)プロトコルをTLSにアップグレード)にはstarttlsを指定します。
tls_minimum_protocol_versionSSL/TLSの最小プロトコルバージョン。受け入れられる値は:ssl2, ssl3, tls1.0, tls1.1, tls1.2(デフォルト)。
tls_require_certSSL/TLSピア証明書の検証動作。受け入れられる値は:never, allow, try, demand(デフォルト)。
tls_cert_file証明書ファイルへのパス。
tls_key_file証明書鍵ファイルへのパス。
tls_ca_cert_fileCA証明書ファイルへのパス。
tls_ca_cert_dirCA証明書を含むディレクトリへのパス。
tls_cipher_suite許可される暗号スイート(OpenSSL記法)。

user_dn_detectionの設定はサブタグで構成できます:

設定説明
base_dnLDAP検索のためのベースDNを構築するためのテンプレート。結果のDNは、LDAP検索中にテンプレートのすべての\{user_name\}および\{bind_dn\}部分文字列を、実際のユーザー名とバインドDNで置き換えることによって構築されます。
scopeLDAP検索のスコープ。受け入れられる値は:base, one_level, children, subtree(デフォルト)。
search_filterLDAP検索のための検索フィルターを構築するためのテンプレート。得られたフィルターは、LDAP検索中にテンプレートのすべての\{user_name\}\{bind_dn\}、および\{base_dn\}部分文字列を実際のユーザー名、バインドDN、およびベースDNで置き換えることによって構築されます。特殊文字はXMLで正しくエスケープされる必要があります。

例:

例(典型的なActive Directoryと、さらなるロールマッピングのためのユーザーDN検出が設定されています):

listen_host

リクエストが来ることができるホストの制限。サーバーがすべてに応答することを望む場合は、::を指定します。

例:

listen_try

IPv6またはIPv4ネットワークが利用できない場合でも、サーバーはリッスンしようとすると終了しません。

listen_reuse_port

複数のサーバーが同じアドレス:ポートでリッスンすることを許可します。リクエストはオペレーティングシステムによってランダムなサーバーにルーティングされます。この設定を有効にすることは推奨されません。

タイプ:

デフォルト:

listen_backlog

リッスンソケットのバックログ(保留中の接続のキューサイズ)。デフォルト値の4096は、linuxの5.4+)のものと同じです。

通常、この値は変更する必要がありません。なぜなら:

  • デフォルト値は十分に大きく、
  • クライアントの接続を受け入れるために、サーバーには別のスレッドがあります。

したがって、TcpExtListenOverflowsnstatから)の値がゼロでなく、このカウンターがClickHouseサーバーのために増加しても、この値を増加させる必要があるという意味ではありません。なぜなら:

  • 通常4096で十分でない場合は、何らかの内部のClickHouseのスケーリング問題を示しているので、問題を報告する方が良いです。
  • それはサーバーが後でより多くの接続を処理できるという保証にはならず(仮にそうだったとしても、その時点でクライアントは消えているか、切断されている可能性があります)。

logger

ログメッセージの場所と形式。

キー:

キー説明
levelログレベル。受け入れられる値:none(ロギングをオフ)、fatalcriticalerrorwarningnoticeinformationdebugtracetest
logログファイルのパス。
errorlogエラーログファイルのパス。
sizeローテーションポリシー:ログファイルの最大サイズ(バイト単位)。ログファイルサイズがこの閾値を超えると、名前が変更されてアーカイブされ、新しいログファイルが作成されます。
countローテーションポリシー:Clickhouseが保持する最大の古いログファイルの数。
stream_compressLZ4を使用してログメッセージを圧縮します。1またはtrueに設定して有効にします。
consoleログメッセージをログファイルに書き込むのではなく、コンソールに出力します。1またはtrueに設定して有効にします。デフォルトは、Clickhouseがデーモンモードで実行されていない場合は1、そうでない場合は0です。
console_log_levelコンソール出力のためのログレベル。デフォルトはlevelです。
formattingコンソール出力のためのログ形式。現在、jsonのみがサポートされています。
use_syslogログ出力をsyslogにも送り出します。
syslog_levelsyslogへのロギングのためのログレベル。

ログ形式の指定子

logおよびerrorLogパスのファイル名は、結果のファイル名のための下記の形式指定子をサポートしています(ディレクトリ部分はこれをサポートしていません)。

"例"列では、2023-07-06 18:32:07での出力を示します。

指定子説明
%%リテラル %%
%n改行文字
%t水平方向のタブ文字
%Y10進数の年、例: 20172023
%y年の最後の2桁の10進数(範囲[00,99])23
%C年の最初の2桁の10進数(範囲[00,99])20
%G4桁のISO 8601週ベースの年(指定された週を含む年)。通常、%Vと組み合わせてのみ便利です。2023
%gISO 8601週ベースの年の最後の2桁の、つまり指定された週を含む年。23
%b短縮形の月名、例: Oct(ロケールに依存)Jul
%h%bの同義語Jul
%B完全な月名、例: October(ロケールに依存)July
%m10進数の月番号(範囲[01,12])07
%U週の年の10進数の数(日曜日が週の最初の日)(範囲[00,53])27
%W週の年の10進数の数(月曜日が週の最初の日)(範囲[00,53])27
%VISO 8601週番号(範囲[01,53])27
%j年の日を10進数の数で(範囲[001,366])187
%d月の日を0埋めされた10進数で(範囲[01,31])。単一の数字はゼロで前置されます。06
%e月の日をスペースで埋め込まれた10進数(範囲[1,31])。単一の数字はスペースで前置されます。&nbsp; 6
%a短縮形の曜日名、例: Fri(ロケールに依存)Thu
%A完全な曜日名、例: Friday(ロケールに依存)Thursday
%w0から6の範囲で、日曜日が0の整数の曜日4
%u1から7の範囲で、月曜日が1の10進数の曜日(ISO 8601形式)4
%H24時間表記での10進数の時(範囲[00-23])18
%I12時間表記での10進数の時(範囲[01,12])06
%M10進数での分(範囲[00,59])32
%S10進数での秒(範囲[00,60])07
%c標準の日時文字列、例: Sun Oct 17 04:41:13 2010(ロケールに依存)Thu Jul 6 18:32:07 2023
%xローカライズされた日付表現(ロケールに依存)07/06/23
%Xローカライズされた時間表現、例: 18:40:20または6:40:20 PM(ロケールに依存)18:32:07
%D短縮MM/DD/YY日付、%m/%d/%yに相当07/06/23
%F短縮YYYY-MM-DD日付、%Y-%m-%dに相当2023-07-06
%rローカライズされた12時間制時計(ロケールに依存)06:32:07 PM
%R"%H:%M"に相当18:32
%T"%H:%M:%S"(ISO 8601時間形式)に相当18:32:07
%pローカライズされたAM/PMの指定(ロケールに依存)PM
%zISO 8601形式でのUTCからのオフセット(例:-0430)、またはタイムゾーン情報が利用できない場合は空の文字+0800
%Zロケール依存のタイムゾーン名または略称、またはタイムゾーン情報が利用できない場合は空の文字Z AWST

ログメッセージをコンソールのみで印刷するには:

レベルごとのオーバーライド

個別のログ名のログレベルはオーバーライドできます。例えば、"Backup"と"RBAC"のロガーのすべてのメッセージをミュートするには。

syslog

追加でログメッセージをsyslogに書き込むには:

<syslog>のキー:

キー説明
addresshost\[:port\]形式のsyslogのアドレス。省略すると、ローカルデーモンが使用されます。
hostnameログが送信されるホストの名前(オプション)。
facilitysyslogのファシリティキーワード 。大文字で"LOG_"プレフィックスを伴って指定する必要があります。例: LOG_USERLOG_DAEMONLOG_LOCAL3など。指定がない場合、addressが指定されている場合はLOG_USER、そうでない場合はLOG_DAEMONになります。
formatログメッセージの形式。可能な値:bsdsyslog

ログ形式

コンソールログに出力されるログ形式を指定できます。現在、JSONのみがサポートされています。

以下は出力JSONログの例です:

JSONロギングサポートを有効にするには、次のスニペットを使用します:

JSONログのキーの名前を変更する

キー名は<names>タグ内のタグ値を変更することで修正できます。例えば、DATE_TIMEMY_DATE_TIMEに変更するには、<date_time>MY_DATE_TIME</date_time>を使用します。

JSONログのキーを省略する

ログプロパティは、プロパティをコメントアウトすることで省略できます。例えば、query_idをログに出力したくない場合は、<query_id>タグをコメントアウトできます。

ssh_server

ホストキーの公開部分は、最初の接続時にSSHクライアント側のknown_hostsファイルに書き込まれます。

ホストキー設定はデフォルトで非アクティブです。ホストキー設定のコメントを外し、それらを有効にするためのそれぞれのsshキーのパスを指定します。

例:

tcp_ssh_port

SSHサーバーのポートで、ユーザーが埋め込みクライアントを使用してインタラクティブにクエリを実行できるようにします。

例:

storage_configuration

ストレージのマルチディスク設定を可能にします。

ストレージ構成は次の構造に従います:

ディスクの構成

disksの設定は、以下の構造に従います:

上記のサブタグは、disksのための以下の設定を定義しています:

設定説明
<disk_name_N>ディスクの名前。ユニークであるべきです。
pathサーバーデータが格納されるパス(dataおよびshadowカタログ)。/で終わる必要があります。
keep_free_space_bytesディスク上に予約された自由空間のサイズです。
注記

ディスクの順序は重要ではありません。

ポリシーの構成

上記のサブタグは、policiesのための以下の設定を定義しています:

設定説明
policy_name_Nポリシーの名前。ポリシー名はユニークでなければなりません。
volume_name_Nボリューム名。ボリューム名はユニークでなければなりません。
diskボリューム内に位置するディスク。
max_data_part_size_bytesこのボリューム内のディスクに存在できるデータチャンクの最大サイズ。マージがこのサイズを超えるチャンクを生成する場合、チャンクは次のボリュームに書き込まれます。基本的に、この機能は新しい/小さなチャンクをホット(SSD)ボリュームに保存し、大きなサイズに達すると冷たい(HDD)ボリュームに移動することを可能にします。このポリシーが1つのボリュームしか持たない場合、このオプションは使用しないでください。
move_factorボリューム上の利用可能な自由空間の割合。スペースが少なくなると、データは次のボリュームに移動し始めます。転送のため、チャンクはサイズの大きい順にソートされ、合計サイズがmove_factor条件を満たすチャンクが選択されます。合計サイズのすべてのチャンクが不十分な場合は、すべてのチャンクが移動します。
perform_ttl_move_on_insert挿入時に期限切れのTTLを持つデータを移動させなくします。デフォルト(有効の場合)では、期限が切れたデータを挿入すると、すぐに移動ルールで指定されたボリューム/ディスクに移動されます。これにより、ターゲットのボリューム/ディスクが遅い場合、挿入が著しく遅くなる可能性があります。無効にすると、期限切れのデータはデフォルトのボリュームに書き込まれ、その後、期限切れのTTLに指定されたボリュームにすぐに移動されます。
load_balancingディスクのバランシングポリシー、round_robinまたはleast_used
least_used_ttl_msすべてのディスクの使用可能な空間を更新するためのタイムアウト(ミリ秒単位)。0 - 常に更新、-1 - 決して更新しない。デフォルト値は60000です。このディスクがClickHouseだけで使用され、動的にファイルシステムのサイズ変更が行われない場合は、-1を使用できます。他のすべての場合では非推奨です。最終的には不正確な空間割り当てにつながる可能性があります。
prefer_not_to_mergeこのボリュームのデータのマージを無効にします。注意: これは潜在的に有害であり、パフォーマンスの低下を引き起こす可能性があります。この設定が有効にされている場合(実施しないでください)、このボリュームのデータのマージは禁止されます(これは良くありません)。ClickHouseが遅いディスクとどのように対話するかを制御できます。これをまったく使用しないことをお勧めします。
volume_priorityボリュームが満たされる優先度(順序)を定義します。値が小さいほど優先度は高くなります。パラメータ値は自然数で、1からN(Nは指定された最大値)までの範囲をカバーし、ギャップがないことが必要です。

volume_priorityについて:

  • すべてのボリュームがこのパラメータを持っている場合、指定された順序で優先されます。
  • 一部のボリュームのみがこのパラメータを持つ場合、持たないボリュームは最低の優先度を持ちます。持っているものはタグの値に従って優先され、他のものの優先度は構成ファイルに記載された順序によって決まります。
  • すべてのボリュームにこのパラメータが指定されていない場合、その順序は構成ファイル内の記載された順序によって決まります。
  • ボリュームの優先度が同じである必要はありません。

macros

レプリケートされたテーブルのためのパラメータ置換。

レプリケートされたテーブルが使用されていない場合は省略可能です。

詳しくは、レプリケートされたテーブルの作成に関するセクションを参照してください。

replica_group_name

レプリケートされたデータベースのレプリカグループの名前。

レプリケートされたデータベースによって作成されたクラスターは、同じグループ内のレプリカで構成されます。 DDLクエリは同じグループ内のレプリカの完了を待ちます。

デフォルトは空です。

タイプ: 文字列

デフォルト: ""

remap_executable

メモリを巨大ページを使用してマシンコード("テキスト")に再配分するための設定。

デフォルト: false

注記

この機能は非常に実験的です。

例:

max_open_files

最大オープンファイル数。

注記

このオプションはmacOSでの使用をお勧めします。なぜなら、getrlimit()関数が不正確な値を返すからです。

max_session_timeout

最大セッションタイムアウト(秒単位)。

デフォルト: 3600

例:

max_table_size_to_drop

テーブルの削除に関する制限。

MergeTreeテーブルのサイズがmax_table_size_to_drop(バイト単位)を超えると、DROPクエリやTRUNCATEクエリを使用して削除することができません。

注記

0の値は、すべてのテーブルを無制限に削除できることを意味します。

この設定を適用するためにClickHouseサーバーを再起動する必要はありません。制限を無効にする別の方法は、<clickhouse-path>/flags/force_drop_tableファイルを作成することです。

デフォルト: 50 GB。

background_pool_size

MergeTreeエンジンを持つテーブルのためにバックグラウンドマージとミューテーションを行うスレッドの数を設定します。

注記
  • この設定は、ClickHouseサーバー起動時の互換性のためにdefaultプロファイル設定からも適用される可能性があります。
  • 実行時にスレッドの数を増やすことができるだけです。
  • スレッドの数を減らしたい場合は、サーバーを再起動する必要があります。
  • この設定を調整することで、CPUとディスクの負荷を管理します。
危険

小さなプールサイズは、CPUとディスクリソースを少なく消費しますが、バックグラウンドプロセスの進行が遅くなる可能性があり、最終的にはクエリパフォーマンスに影響を与えることがあります。

変更する前に、次のような関連するMergeTree設定も確認してください:

タイプ:

デフォルト: 16。

merges_mutations_memory_usage_soft_limit

マージおよびミューテーション操作を実行するためのRAMの使用制限を設定します。 ClickHouseが設定された制限に達した場合、新しいバックグラウンドマージまたはミューテーション操作のスケジュールを行わず、すでにスケジュールされたタスクを実行し続けます。

注記

0の値は無制限を意味します。

merges_mutations_memory_usage_to_ram_ratio

デフォルトのmerges_mutations_memory_usage_soft_limit値は、memory_amount * merges_mutations_memory_usage_to_ram_ratioとして計算されます。

参照:

デフォルト: 0.5

async_load_databases

データベースとテーブルの非同期ロード。

  • trueの場合、OrdinaryAtomic、およびReplicatedエンジンを持つすべての非システムデータベースは、ClickHouseサーバーの起動後に非同期にロードされます。 system.asynchronous_loaderテーブル、tables_loader_background_pool_sizeおよびtables_loader_foreground_pool_sizeサーバー設定を参照してください。まだロードされていないテーブルにアクセスしようとするクエリは、そのテーブルが起動するのを正確に待ちます。ロードジョブが失敗した場合、クエリはエラーを再投げします(async_load_databases = falseの場合に全サーバーをシャットダウンするのではなく)。少なくとも1つのクエリによって待たれているテーブルは、より高い優先度でロードされます。データベースに対するDDLクエリは、そのデータベースが起動するのを正確に待ちます。待機クエリの総数の制限max_waiting_queriesを設定することも検討してください。
  • falseの場合、サーバー起動時にすべてのデータベースがロードされます。

デフォルト: false

async_load_system_database

システムテーブルの非同期ロード。systemデータベース内に多数のログテーブルやパーツがある場合に役立ちます。async_load_databases設定に依存しません。

  • trueに設定すると、OrdinaryAtomic、およびReplicatedエンジンを持つすべてのシステムデータベースは、ClickHouseサーバー起動後に非同期にロードされます。 system.asynchronous_loaderテーブル、tables_loader_background_pool_sizeおよびtables_loader_foreground_pool_sizeサーバー設定を参照してください。まだロードされていないシステムテーブルにアクセスしようとするクエリは、そのテーブルが正確に起動を待ちます。少なくとも1つのクエリによって待たれているテーブルは、より高い優先度でロードされます。待機クエリの総数の制限を設定するmax_waiting_queries設定も検討してください。
  • falseに設定すると、サーバー起動前にシステムデータベースがロードされます。

デフォルト: false

tables_loader_foreground_pool_size

フォアグラウンドプールでのロードジョブを実行するスレッドの数を設定します。フォアグラウンドプールは、サーバーがポートでリッスンを始める前にテーブルを同期的にロードし、待たれているテーブルをロードするために使用されます。フォアグラウンドプールはバックグラウンドプールよりも高い優先度を持ちます。したがって、フォアグラウンドプールにジョブが実行されている間、バックグラウンドプールではジョブが開始されません。

注記

0の値は、すべての使用可能なCPUが使用されることを意味します。

デフォルト: 0

tables_loader_background_pool_size

バックグラウンドプールでの非同期ロードジョブを実行するスレッドの数を設定します。バックグラウンドプールは、サーバー起動後にテーブルを非同期にロードするために使用され、テーブルを待つクエリがない場合に動作します。たくさんのテーブルがある場合は、バックグラウンドプールのスレッド数を低く保つと良いでしょう。これにより、同時クエリ実行のためのCPUリソースが予約されます。

注記

0の値は、すべての使用可能なCPUが使用されることを意味します。

デフォルト: 0

merge_tree

MergeTreeのテーブルに対する微調整。

詳細については、MergeTreeSettings.hヘッダーファイルを参照してください。

metric_log

デフォルトでは無効になっています。

有効化

メトリクス履歴収集system.metric_logを手動で有効にするには、次の内容で/etc/clickhouse-server/config.d/metric_log.xmlを作成します:

無効化

metric_log設定を無効にするには、次の内容でファイル/etc/clickhouse-server/config.d/disable_metric_log.xmlを作成する必要があります:

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

latency_log

デフォルトでは無効になっています。

有効化

レイテンシ履歴収集system.latency_logを手動で有効にするには、次の内容で/etc/clickhouse-server/config.d/latency_log.xmlを作成します:

無効化

latency_log設定を無効にするには、次の内容でファイル/etc/clickhouse-server/config.d/disable_latency_log.xmlを作成する必要があります:

replicated_merge_tree

ReplicatedMergeTreeのテーブルに対する微調整。この設定はより高い優先度を持ちます。

詳細については、MergeTreeSettings.hヘッダーファイルを参照してください。

opentelemetry_span_log

opentelemetry_span_logシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

例:

part_log

MergeTreeに関連するイベントのロギング。たとえば、データの追加やマージなど。ログを使用してマージアルゴリズムをシミュレーションし、その特性を比較できます。マージプロセスを視覚化することができます。

クエリはsystem.part_logテーブルにロギングされ、別のファイルにはロギングされません。このテーブルの名前はtableパラメータで設定できます(下記参照)。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

path

データを含むディレクトリへのパス。

注記

末尾のスラッシュは必須です。

processors_profile_log

processors_profile_logシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

デフォルトの設定は次のとおりです:

Prometheus

Prometheusからのデータ収集のためのメトリクスデータの公開。

設定:

  • endpoint – prometheusサーバによるメトリクス収集用のHTTPエンドポイント。'/'に始まります。
  • portendpointのポート。
  • metricssystem.metricsテーブルからメトリクスを公開します。
  • eventssystem.eventsテーブルからメトリクスを公開します。
  • asynchronous_metrics – 現在のメトリクス値をsystem.asynchronous_metricsテーブルから公開します。
  • errors - 最後のサーバの再起動以来発生したエラーコードによるエラー数を公開します。この情報はsystem.errorsからも取得できます。

確認(127.0.0.1はClickHouseサーバのIPアドレスまたはホスト名に置き換えてください):

query_log

log_queries=1設定で受信したクエリをロギングするための設定。

クエリはsystem.query_logテーブルにロギングされ、別のファイルにはロギングされません。このテーブルの名前はtableパラメータで変更可能です(下記参照)。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

テーブルが存在しない場合、ClickHouseはそれを作成します。ClickHouseサーバがアップデートされたときにクエリログの構造が変更された場合、古い構造のテーブルはリネームされ、新しいテーブルが自動的に作成されます。

query_metric_log

デフォルトでは無効になっています。

有効化

メトリクス履歴収集を手動で有効にするには、system.query_metric_log用に以下の内容で/etc/clickhouse-server/config.d/query_metric_log.xmlを作成します:

無効化

query_metric_log設定を無効にするには、次の内容のファイル/etc/clickhouse-server/config.d/disable_query_metric_log.xmlを作成します:

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

query_cache

Query cacheの構成。

利用可能な設定は次のとおりです:

設定説明デフォルト値
max_size_in_bytes最大キャッシュサイズ(バイト単位)。0はクエリキャッシュが無効であることを意味します。1073741824
max_entriesキャッシュに保存されるSELECTクエリ結果の最大数。1024
max_entry_size_in_bytesキャッシュに保存される可能性のあるSELECTクエリ結果の最大サイズ(バイト単位)。1048576
max_entry_size_in_rowsキャッシュに保存される可能性のあるSELECTクエリ結果の最大行数。30000000
注記
  • 設定を変更するとすぐに反映されます。
  • クエリキャッシュのデータはDRAMに割り当てられます。メモリが不足している場合は、max_size_in_bytesの値を小さく設定するか、クエリキャッシュ全体を無効にしてください。

query_thread_log

log_query_threads=1設定で受信したクエリスレッドのロギングのための設定。

クエリはsystem.query_thread_logテーブルにロギングされ、別のファイルにはロギングされません。このテーブルの名前はtableパラメータで変更可能です(下記参照)。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

テーブルが存在しない場合、ClickHouseはそれを作成します。ClickHouseサーバがアップデートされたときにクエリスレッドログの構造が変更された場合、古い構造のテーブルはリネームされ、新しいテーブルが自動的に作成されます。

query_views_log

log_query_views=1設定で受信したクエリに依存するビュー(ライブ、物化など)のロギングのための設定。

クエリはsystem.query_views_logテーブルにロギングされ、別のファイルにはロギングされません。このテーブルの名前はtableパラメータで変更可能です(下記参照)。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

テーブルが存在しない場合、ClickHouseはそれを作成します。ClickHouseサーバがアップデートされたときにクエリビューズログの構造が変更された場合、古い構造のテーブルはリネームされ、新しいテーブルが自動的に作成されます。

text_log

テキストメッセージのロギングのためのテキストログシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

追加の設定:

設定説明デフォルト値
levelテーブルに保存される最大メッセージレベル(デフォルトはTrace)。Trace

trace_log

trace_logシステムテーブル操作のための設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

デフォルトのサーバ構成ファイルconfig.xmlには次の設定セクションがあります:

asynchronous_insert_log

非同期挿入のロギングのためのasynchronous_insert_logシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

crash_log

crash_logシステムテーブル操作のための設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

デフォルトのサーバ構成ファイルconfig.xmlには次の設定セクションがあります:

custom_cached_disks_base_directory

この設定は、カスタム(SQLから作成された)キャッシュディスクのキャッシュパスを指定します。custom_cached_disks_base_directoryは、filesystem_caches_pathfilesystem_caches_path.xmlに存在)よりもカスタムディスクに対して優先され、前者が存在しない場合は後者が使用されます。ファイルシステムキャッシュ設定パスは、そのディレクトリ内に存在する必要があり、そうでない場合は例外がスローされ、ディスクの作成が防止されます。

注記

これにより、サーバがアップグレードされた古いバージョンで作成されたディスクには影響しません。この場合、例外がスローされず、サーバは正常に起動します。

例:

backup_log

BACKUPおよびRESTORE操作のロギングのためのbackup_logシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

blog_storage_log

blob_storage_logシステムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

例:

query_masking_rules

正規表現ベースのルールで、クエリおよびサーバーログに保存する前のすべてのログメッセージに適用されます。 system.query_logsystem.text_logsystem.processes テーブルや、クライアントに送信されるログで使用されます。これにより、SQLクエリからの名前、メールアドレス、個人識別情報、クレジットカード番号などの機密データの漏洩を防ぐことができます。

設定フィールド:

設定説明
nameルールの名前 (オプション)
regexpRE2互換の正規表現 (必須)
replace機密データの置換文字列 (オプションで、デフォルトは六つのアスタリスク)

マスキングルールは、誤った形式または解析不可能なクエリからの機密データの漏洩を防ぐために、クエリ全体に適用されます。

system.events テーブルには、クエリマスキングルールが適合した回数をカウントする QueryMaskingRulesMatch があります。

分散クエリでは、各サーバーを別々に構成する必要があります。そうしないと、他のノードに渡されたサブクエリはマスキングされずに保存されます。

remote_servers

Distributed テーブルエンジンおよび cluster テーブル関数によって使用されるクラスターの構成。

incl 属性の値については、"構成ファイル" セクションを参照してください。

関連情報

remote_url_allow_hosts

URL関連のストレージエンジンおよびテーブル関数で使用を許可されるホストのリスト。

\<host\> XML タグを使用してホストを追加する場合:

  • 正確にURLと同じように指定する必要があります。名前はDNS解決の前にチェックされます。 たとえば: <host>clickhouse.com</host>
  • URLにポートが明示的に指定されている場合、ホスト:ポート全体がチェックされます。 たとえば: <host>clickhouse.com:80</host>
  • ポートなしでホストが指定されている場合、そのホストの任意のポートが許可されます。 たとえば: <host>clickhouse.com</host> が指定されている場合、 clickhouse.com:20 (FTP)、clickhouse.com:80 (HTTP)、clickhouse.com:443 (HTTPS) などが許可されます。
  • ホストがIPアドレスとして指定されている場合、URLに指定されているとおりにチェックされます。 たとえば: [2a02:6b8:a::a]
  • リダイレクトがあり、リダイレクトのサポートが有効な場合は、すべてのリダイレクト (location フィールド) がチェックされます。

例:

timezone

サーバーのタイムゾーン。

UTCタイムゾーンまたは地理的位置のIANA識別子として指定されます (例: Africa/Abidjan)。

タイムゾーンは、DateTimeフィールドがテキスト形式に出力されるとき (画面またはファイルに印刷される)、および文字列からDateTimeを取得するときのStringとDateTime形式の間の変換に必要です。さらに、タイムゾーンは、入力パラメータでタイムゾーンを受け取っていない場合の日付や時間を扱う関数で使用されます。

関連情報

tcp_port

クライアントとのTCPプロトコルによる通信に使用するポート。

tcp_port_secure

クライアントとの安全な通信のためのTCPポート。 OpenSSL 設定と共に使用してください。

デフォルト値

mysql_port

MySQLプロトコルを介してクライアントと通信するためのポート。

注記
  • 正の整数はリッスンするポート番号を指定します。
  • 空の値はMySQLプロトコルを介したクライアントとの通信を無効にするために使用されます。

postgresql_port

PostgreSQLプロトコルを介してクライアントと通信するためのポート。

注記
  • 正の整数はリッスンするポート番号を指定します。
  • 空の値はMySQLプロトコルを介したクライアントとの通信を無効にするために使用されます。

tmp_path

大きなクエリを処理するための一時データをローカルファイルシステムに保存するパス。

注記
  • 一時データストレージを構成するために使用できるオプションは1つのみです: tmp_pathtmp_policytemporary_data_in_cache
  • 終了スラッシュは必須です。

url_scheme_mappers

短縮または記号的なURLプレフィックスを完全なURLに変換するための設定。

例:

user_files_path

ユーザーファイルが格納されるディレクトリ。テーブル関数 file()fileCluster() で使用されます。

user_scripts_path

ユーザースクリプトファイルが格納されるディレクトリ。実行可能なユーザー定義関数 実行可能なユーザー定義関数 に使用されます。

user_defined_path

ユーザー定義ファイルが格納されるディレクトリ。SQLユーザー定義関数 SQLユーザー定義関数 に使用されます。

users_config

ユーザー設定、アクセス権、設定プロファイル、クォータ設定が含まれるファイルのパス。

validate_tcp_client_information

クエリパケットを受信したときにクライアント情報の検証が有効かどうかを決定します。

デフォルトは false です:

access_control_improvements

アクセス制御システムのオプションの改善に関する設定。

設定説明デフォルト
users_without_row_policies_can_read_rows権限のある行ポリシーなしでユーザーが SELECT クエリを使用して行を読み取れるかどうかを設定します。例えば、ユーザーAとBがいて、行ポリシーがAにしか定義されていない場合、この設定がtrueであればユーザーBはすべての行を見ることができます。この設定がfalseであれば、ユーザーBは行を全く見えなくなります。true
on_cluster_queries_require_cluster_grantON CLUSTER クエリが CLUSTER 権限を必要とするかどうかを設定します。true
select_from_system_db_requires_grantSELECT * FROM system.<table> が任意の権限を必要とし、任意のユーザーが実行できるかどうかを設定します。trueに設定すると、このクエリは GRANT SELECT ON system.<table> を必要としますが、システムテーブルにのみアクセスできない例外があります。例外として、いくつかのシステムテーブル(tablescolumnsdatabases、および onecontributors などの定数テーブル)はすべてのユーザーがアクセス可能です。true
select_from_information_schema_requires_grantSELECT * FROM information_schema.<table> が任意の権限を必要とし、任意のユーザーが実行できるかどうかを設定します。trueに設定すると、このクエリは GRANT SELECT ON information_schema.<table> を必要とします。true
settings_constraints_replace_previous設定プロファイル内の設定に対する制約が、他のプロファイルで定義されたその設定の以前の制約のアクションをキャンセルするかどうかを設定します(新しい制約によって設定されていないフィールドも含む)。これにより、changeable_in_readonly 制約タイプも有効になります。true
table_engines_require_grant特定のテーブルエンジンでテーブルを作成する際に権限を必要とするかどうかを設定します。false
role_cache_expiration_time_secondsロールがロールキャッシュに保存される最後のアクセスからの秒数を設定します。600

例:

s3queue_log

s3queue_log システムテーブルの設定。

The following settings can be configured by sub-tags:

設定説明デフォルト注意
databaseデータベースの名前。
tableシステムテーブルの名前。
engineMergeTreeエンジン定義 システムテーブル用。partition_by または order_by が定義されている場合、使用できません。指定しない場合はデフォルトで MergeTree が選択されます。
partition_byカスタムパーティショニングキー システムテーブル用。システムテーブルに engine が指定されている場合、partition_by パラメータは engine 内に直接指定する必要があります。
ttlテーブルの TTL を指定します。システムテーブルに engine が指定されている場合、ttl パラメータは engine 内に直接指定する必要があります。
order_byカスタムソートキー システムテーブル用。 engine が定義されている場合は使用できません。システムテーブルに engine が指定されている場合、order_by パラメータは engine 内に直接指定する必要があります。
storage_policyテーブルに使用するストレージポリシーの名前(オプション)。システムテーブルに engine が指定されている場合、storage_policy パラメータは engine 内に直接指定する必要があります。
settingsMergeTreeの動作を制御する追加パラメータ(オプション)。システムテーブルに engine が指定されている場合、settings パラメータは engine 内に直接指定する必要があります。
flush_interval_millisecondsメモリ内のバッファからテーブルへデータをフラッシュする間隔。7500
max_size_rowsログの最大行数。フラッシュされていないログの数が max_size に達すると、ログはディスクにダンプされます。1048576
reserved_size_rowsログのための事前確保されたメモリサイズ(行)です。8192
buffer_size_rows_flush_threshold行数のしきい値。しきい値に達すると、バックグラウンドでログをディスクにフラッシュします。max_size_rows / 2
flush_on_crashクラッシュが発生した場合にログをディスクにダンプするかどうかを設定します。false

デフォルトの設定は以下の通りです:

wait_dictionaries_load_at_startup

この設定は、dictionaries_lazy_loadfalse の場合の動作を指定できるようにします。 ( dictionaries_lazy_loadtrue の場合はこの設定は何も影響を与えません。)

wait_dictionaries_load_at_startupfalse の場合、サーバーは起動時にすべての辞書の読み込みを開始し、その読み込みの間に接続を受け付けることができます。 辞書がクエリで初めて使用されるとき、その辞書がまだ読み込まれていない場合は、クエリは辞書が読み込まれるまで待機します。 wait_dictionaries_load_at_startupfalse に設定することで、ClickHouseはより早く起動しますが、一部のクエリの実行が遅くなる可能性があります(なぜなら、一部の辞書が読み込まれるのを待たなければならないからです)。

wait_dictionaries_load_at_startuptrue の場合、サーバーは起動時にすべての辞書の読み込みが完了するまで(成功または失敗に関わらず)接続を受け付けるのを待ちます。

デフォルト: true

zookeeper

ClickHouseが ZooKeeper クラスターと対話するための設定を含みます。 ClickHouseは、レプリケートされたテーブルを使用するときにレプリカのメタデータを保存するためにZooKeeperを使用します。 レプリケートされたテーブルを使用しない場合、このパラメータセクションは省略できます。

以下の設定はサブタグで構成できます:

設定説明
nodeZooKeeperエンドポイント。複数のエンドポイントを設定できます。例:<node index="1"><host>example_host</host><port>2181</port></node>index 属性は、ZooKeeperクラスターに接続しようとする際のノードの順序を指定します。
session_timeout_msミリ秒単位のクライアントセッションの最大タイムアウト。
operation_timeout_msミリ秒単位の1つの操作の最大タイムアウト。
root (オプション)ClickHouseサーバーによって使用されるznodeのルートとして使用されるznode。
fallback_session_lifetime.min (オプション)プライマリが利用できない場合にフォールバックノードへのZooKeeperセッションの寿命の最小制限 (負荷分散)。秒数で設定します。デフォルト: 3時間。
fallback_session_lifetime.max (オプション)プライマリが利用できない場合にフォールバックノードへのZooKeeperセッションの寿命の最大制限 (負荷分散)。秒数で設定します。デフォルト: 6時間。
identity (オプション)要求されるznodeにアクセスするためにZooKeeperによって要求されるユーザー名とパスワード。
use_compression (オプション)trueに設定するとKeeperプロトコルで圧縮を有効にします。

zookeeper_load_balancing 設定も利用可能です (オプション) で、ZooKeeperノード選択アルゴリズムを選択できます:

アルゴリズム名説明
randomZooKeeperノードの一つをランダムに選択します。
in_order最初のZooKeeperノードを選択し、利用できない場合は次のノードを選択します。
nearest_hostnameサーバーのホスト名に最も似ているZooKeeperノードを選択します。ホスト名は名前の接頭辞と比較されます。
hostname_levenshtein_distancenearest_hostnameと同様ですが、Levenshtein距離でホスト名を比較します。
first_or_random最初のZooKeeperノードを選択し、利用できない場合は残りのZooKeeperノードの一つをランダムに選択します。
round_robin最初のZooKeeperノードを選択し、再接続が発生した場合は次のノードを選択します。

例の設定

関連情報

use_minimalistic_part_header_in_zookeeper

ZooKeeperでのデータパートヘッダーのストレージ方法。この設定はMergeTree(/engines/table-engines/mergetree-family)ファミリーにのみ適用されます。指定することができます:

config.xmlmerge_treeセクション内でグローバルに設定

ClickHouseはサーバー上のすべてのテーブルに対して設定を使用します。設定はいつでも変更できます。設定が変更されると、既存のテーブルの動作が変わります。

各テーブルのために

テーブルを作成する際に、対応するエンジン設定を指定します。この設定を持つ既存のテーブルの動作は、グローバル設定が変更されても変化しません。

可能な値

  • 0 — 機能がオフになります。
  • 1 — 機能がオンになります。

use_minimalistic_part_header_in_zookeeper = 1 の場合、レプリケートされたテーブルは、データパートのヘッダーを単一のznodeを使用してコンパクトに保存します。テーブルに多くのカラムがある場合、このストレージ方法はZooKeeperに保存されるデータのボリュームを大幅に削減します。

注記

use_minimalistic_part_header_in_zookeeper = 1を適用した後、この設定をサポートしていないバージョンにClickHouseサーバーをダウングレードすることはできません。 クラスター内のサーバーでClickHouseをアップグレードする際は注意してください。すべてのサーバーを一度にアップグレードしない方が安全です。 ClickHouseの新しいバージョンをテスト環境で試験的に実施するか、クラスターの一部のサーバーでテストする方が安全です。

この設定で保存されたデータパートヘッダーは、以前の(非コンパクト)表現に復元されることはありません。

タイプ: UInt8

デフォルト: 0

distributed_ddl

クラスター上の分散DDLクエリCREATE, DROP, ALTER, RENAME)の実行を管理します。 ZooKeeperが有効な場合にのみ機能します。

<distributed_ddl>内で構成可能な設定は以下の通りです:

設定説明デフォルト値
pathDDLクエリの task_queue 用のKeeper内のパス
profileDDLクエリを実行する際に使用されるプロファイル
pool_size同時に実行可能なON CLUSTERクエリの数
max_tasks_in_queueキューに存在できるタスクの最大数1,000
task_max_lifetimeこの値を超える年齢のノードを削除します。7 * 24 * 60 * 60 (1週間を秒数で)
cleanup_delay_period清掃が行われたのが cleanup_delay_period 秒未満でないと、ノードイベントが受信された後に掃除が開始されます。60

access_control_path

ClickHouseサーバーがSQLコマンドによって作成されたユーザーおよびロール構成を保存するフォルダへのパス。

関連情報

タイプ: String

デフォルト: /var/lib/clickhouse/access/

allow_plaintext_password

平文パスワードタイプ(安全でない)の使用を許可するかどうかを設定します。

デフォルト: 1 (authType plaintext_passwordが許可されています)

allow_no_password

安全でないパスワードタイプのno_passwordを許可するかどうかを設定します。

デフォルト: 1 (authType no_passwordが許可されています)

allow_implicit_no_password

IDENTIFIED WITH no_password が明示的に指定されない限り、パスワードなしでユーザーを作成することを禁止します。

デフォルト: 1

default_session_timeout

デフォルトのセッションタイムアウト(秒単位)。

デフォルト: 60

default_password_type

CREATE USER u IDENTIFIED BY 'p' のようなクエリに対して自動的に設定されるパスワードタイプを設定します。

受け入れられる値:

  • plaintext_password
  • sha256_password
  • double_sha1_password
  • bcrypt_password

user_directories

構成ファイルのセクションで、次の設定が含まれます:

  • 予め定義されたユーザーを含む構成ファイルへのパス。
  • SQLコマンドによって作成されたユーザーが保存されるフォルダーへのパス。
  • SQLコマンドによって作成され、レプリケートされるユーザーのZooKeeperノードパス(実験的)。

このセクションが指定されると、users_config および access_control_path のパスは使用されません。

user_directories セクションには、任意の数のアイテムを含めることができ、アイテムの順序は優先順位を意味します(アイテムが高いほど優先順位が高くなります)。

ユーザー、ロール、行ポリシー、クォータ、およびプロファイルもZooKeeperに保存できます:

memory セクションを定義することもできます。これは、情報をメモリ内のみで保存し、ディスクに書き込まないことを意味します。また、ldap セクションは、情報をLDAPサーバーに保存します。

ローカルに定義されていないユーザーのリモートユーザーディレクトリとしてLDAPサーバーを追加するには、次の設定を含む単一の ldap セクションを定義します:

設定説明
serverldap_servers 構成セクションに定義されたLDAPサーバー名の1つ。このパラメータは必須であり、空にすることはできません。
roles各ユーザーにLDAPサーバーから取得されたロールのリストを割り当てるためにローカルに定義されたロールのセクション。ロールが指定されていない場合、ユーザーは認証後に何のアクションも実行できません。指定されたロールのいずれかが認証時にローカルで定義されていない場合、認証試行は失敗し、提供されたパスワードが正しくないかのように扱われます。

top_level_domains_list

各エントリが <name>/path/to/file</name> 形式のカスタムトップレベルドメインを追加するリストを定義します。

例えば:

参照:

  • 関数 cutToFirstSignificantSubdomainCustom およびそのバリエーションは、カスタムTLDリスト名を受け取り、最初の重要なサブドメインまでのトップレベルサブドメインを含むドメインの部分を返します。

total_memory_profiler_step

メモリサイズ(バイト単位)を設定します。これは、ピークアロケーションのステップごとのスタックトレースのために記録されます。データは、query_id が空の文字列に等しい system.trace_log システムテーブルに保存されます。

デフォルト値:4194304

total_memory_tracker_sample_probability

ランダムアロケーションとデアロケーションを収集し、指定された確率で MemorySample として system.trace_log システムテーブルに書き込むことを許可します。この確率は、アロケーションのサイズに関係なく、各アロケーションまたはデアロケーションに適用されます。追跡されていないメモリの量が、追跡されていないメモリの制限(デフォルト値は 4 MiB)を超えた場合のみサンプリングが行われます。この値は、total_memory_profiler_step が低くても低くできます。サンプリングを非常に細かくするために total_memory_profiler_step1 に設定できます。

可能な値:

  • 正の整数。
  • 0 — ランダムアロケーションとデアロケーションの system.trace_log システムテーブルへの書き込みが無効です。

デフォルト値:0

compiled_expression_cache_size

compiled expressions のためのキャッシュサイズ(バイト単位)を設定します。

デフォルト値:134217728

compiled_expression_cache_elements_size

compiled expressions のためのキャッシュサイズ(要素単位)を設定します。

デフォルト値:10000

display_secrets_in_show_and_select

テーブル、データベース、テーブル関数、および辞書に対する SHOW および SELECT クエリでの秘密の表示を有効または無効にします。

秘密を表示したいユーザーは、 format_display_secrets_in_show_and_select 設定をオンにし、 displaySecretsInShowAndSelect 権限を持っている必要があります。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

デフォルト値:0

proxy

HTTPおよびHTTPSリクエストのためのプロキシサーバーを定義します。これは現在、S3ストレージ、S3テーブル関数、およびURL関数でサポートされています。

プロキシサーバーを定義する方法は3つあります:

  • 環境変数
  • プロキシリスト
  • リモートプロキシレゾルバ

特定のホストに対するプロキシサーバーのバイパスも no_proxy を使用してサポートされています。

環境変数

http_proxy および https_proxy 環境変数を使用して、特定のプロトコルのプロキシサーバーを指定できます。システムで設定されている場合、シームレスに動作するはずです。

これは、特定のプロトコルに対して1つのプロキシサーバーがある場合、およびそのプロキシサーバーが変更されない場合、最も簡単なアプローチです。

プロキシリスト

このアプローチでは、プロトコルに対して1つまたは複数のプロキシサーバーを指定できます。複数のプロキシサーバーが定義されている場合、ClickHouseはラウンドロビン方式で異なるプロキシを使用し、サーバー間で負荷をバランスさせます。これは、プロトコルに対して複数のプロキシサーバーが存在し、プロキシサーバーのリストが変更されない場合、最も簡単なアプローチです。

構成テンプレート

以下のタブで親フィールドを選択して、その子を表示します:

フィールド説明
<http>1つ以上のHTTPプロキシのリスト
<https>1つ以上のHTTPSプロキシのリスト

リモートプロキシレゾルバ

プロキシサーバーが動的に変更される可能性があります。その場合、レゾルバのエンドポイントを定義できます。ClickHouseは、そのエンドポイントに空のGETリクエストを送信し、リモートレゾルバがプロキシホストを戻すべきです。ClickHouseは、次のテンプレートを使用してプロキシURIを形成します: \{proxy_scheme\}://\{proxy_host\}:{proxy_port}

構成テンプレート

以下のタブで親フィールドを選択して、その子を表示します:

フィールド説明
<http>1つ以上のレゾルバのリスト*
<https>1つ以上のレゾルバのリスト*

優先順位

プロキシ設定は次の順序で決定されます:

順序設定
1.リモートプロキシレゾルバ
2.プロキシリスト
3.環境変数

ClickHouseは、リクエストプロトコルに対する最も高い優先度のレゾルバタイプをチェックします。定義されていない場合は、次の優先度のレゾルバタイプをチェックし続け、環境レゾルバに到達します。これにより、レゾルバタイプの混合も使用できます。

disable_tunneling_for_https_requests_over_http_proxy

デフォルトでは、トンネリング(つまり、HTTP CONNECT)は HTTP プロキシを介して HTTPS リクエストを行うために使用されます。この設定を使用して、これを無効にできます。

no_proxy

デフォルトでは、すべてのリクエストはプロキシを介して行われます。特定のホストに対してこれを無効にするには、no_proxy 変数を設定する必要があります。これは、リストおよびリモートレゾルバの <proxy> 条項内で設定することができ、環境レゾルバの場合は環境変数として設定できます。IPアドレス、ドメイン、サブドメイン、フルバイパスのための '*' ワイルドカードをサポートしています。先頭のドットはcurlが行うように削除されます。

以下の構成は、clickhouse.cloud とそのすべてのサブドメイン(例、auth.clickhouse.cloud)へのプロキシ要求をバイパスします。 GitLabにも同様が適用されます。先頭にドットが付いていても、gitlab.comabout.gitlab.com の両方がプロキシをバイパスします。

max_materialized_views_count_for_table

テーブルにアタッチされるマテリアライズドビューの数の制限。

注記

ここでは直接依存するビューのみが考慮され、ビューの上に別のビューを作成することは考慮されません。

デフォルト:0

format_alter_operations_with_parentheses

true に設定されている場合、フォーマットされたクエリでは変更操作が括弧で囲まれます。これにより、フォーマットされた変更クエリの解析が曖昧さが少なくなります。

タイプ:Bool

デフォルト:0

ignore_empty_sql_security_in_create_view_query

true の場合、ClickHouseは CREATE VIEW クエリの空のSQLセキュリティステートメントにデフォルトを記述しません。

注記

この設定は移行期間中のみに必要であり、24.4でobsoleteになります。

タイプ:Bool

デフォルト:1

merge_workload

マージと他のワークロードの間でリソースがどのように利用され、共有されるかを調整するために使用します。指定された値は、すべてのバックグラウンドマージの workload 設定値として使用されます。マージツリー設定によって上書きされることがあります。

タイプ:String

デフォルト:default

参照

mutation_workload

変更と他のワークロードの間でリソースがどのように利用され、共有されるかを調整するために使用します。指定された値は、すべてのバックグラウンドミューテーションの workload 設定値として使用されます。マージツリー設定によって上書きされることがあります。

参照

タイプ:String

デフォルト:default

throw_on_unknown_workload

'workload' クエリ設定のアクセスで不明なワークロードに対する動作を定義します。

  • true の場合、RESOURCE_ACCESS_DENIED例外が不明なワークロードにアクセスしようとするクエリからスローされます。これは、WORKLOAD階層が確立され、WORKLOADデフォルトが含まれている後に、すべてのクエリのリソーススケジューリングを強制するために便利です。
  • false(デフォルト)の場合、不明なWORKLOADを指す workload 設定を持つクエリには、リソーススケジューリングなしで無制限のアクセスが提供されます。これは、WORKLOADの階層を設定する際、WORKLOADデフォルトが追加される前に重要です。

参照

タイプ:String

デフォルト:false

workload_path

すべての CREATE WORKLOAD および CREATE RESOURCE クエリのストレージとして使用されるディレクトリ。デフォルトではサーバーの作業ディレクトリの /workload/ フォルダーが使用されます。

参照

workload_zookeeper_path

すべての CREATE WORKLOAD および CREATE RESOURCE クエリのストレージとして使用されるZooKeeperノードへのパス。一貫性のために、すべてのSQL定義はこの単一のznodeの値として保存されます。デフォルトでは、ZooKeeperは使用されず、定義はディスクに保存されます。

参照

use_legacy_mongodb_integration

レガシーMongoDB統合実装を使用します。非推奨。

タイプ:Bool

デフォルト:true

max_authentication_methods_per_user

ユーザーが作成または変更できる認証メソッドの最大数。 この設定を変更しても既存のユーザーには影響しません。制限を超える認証関連のクエリは失敗し、非認証の作成/変更クエリは成功します。

注記

0 の値は無制限を意味します。

タイプ:UInt64

デフォルト:100

allow_feature_tier

ユーザーが異なる機能レベルに関連する設定を変更できるかどうかを制御します。

  • 0 - すべての設定の変更が許可されます(実験的、ベータ、製品)。
  • 1 - ベータと製品の機能設定への変更のみが許可されます。実験的設定への変更は拒否されます。
  • 2 - 製品設定への変更のみが許可されます。実験的またはベータ設定への変更は拒否されます。

これは、すべての EXPERIMENTAL / BETA 機能に対する読み取り専用制約を設定することと同等です。

注記

0 の値は、すべての設定が変更可能であることを意味します。

タイプ:UInt32

デフォルト:0