Skip to main content
これらの設定はClickHouseサーバーを構成するもので、ClickHouseのソースから自動生成されています。

abort_on_logical_error

LOGICAL_ERROR 例外が発生すると、サーバーをクラッシュさせます。上級者向けです。

allowed_disks_for_table_engines

Iceberg で使用できるディスクの一覧

auth_use_forwarded_address

プロキシ経由で接続するクライアントの認証に、接続元アドレスを使用します。
  • デフォルト: false
転送されたアドレスは容易に偽装できるため、この設定の使用には特に注意が必要です。この認証を受け付けるサーバーには直接アクセスせず、必ず信頼できるプロキシ経由でのみアクセスするようにしてください。

bcrypt_workfactor

Bcrypt algorithm を使用する bcrypt_password 認証方式のワークファクターです。 ワークファクターは、ハッシュの計算とパスワードの検証に必要な計算量と時間を定義します。
  • デフォルト: 12
高頻度で認証を行うアプリケーションでは、 ワークファクター が高い bcrypt では 計算負荷が大きくなるため、 別の認証方式の利用を検討してください。

blob_storage_log

blob_storage_log システムテーブルに関する設定。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
例:

builtin_dictionaries_reload_interval

組み込みDictionaryを再読み込みするまでの間隔 (秒) 。 ClickHouse は x 秒ごとに組み込みDictionaryを再読み込みします。これにより、サーバーを再起動せずにDictionaryをその場で編集できます。 例

cache_size_to_ram_max_ratio

cache サイズの RAM に対する最大比率を設定します。メモリ容量の少ないシステムで、cache サイズを小さくできるようにします。

cannot_allocate_thread_fault_injection_probability

テスト目的です。

cgroups_memory_usage_observer_wait_time

cgroups 内の対応するしきい値に基づいて server の最大許容メモリ消費量を調整する間隔 (秒) 。 cgroup オブザーバーを無効にするには、この値を 0 に設定します。

圧縮

MergeTree エンジンのテーブルに対するデータ圧縮の設定です。
ClickHouse を使い始めたばかりの場合は、これを変更しないことをおすすめします。
設定テンプレート:
<case> フィールド:
  • min_part_size – data part の最小サイズ。
  • min_part_size_ratio – data part のサイズとテーブルサイズの比率。
  • method – 圧縮方式。有効な値: lz4, lz4hc, zstd,deflate_qpl。
  • level – 圧縮レベル。Codecs を参照してください。
<case> セクションは複数設定できます。
条件を満たした場合の動作:
  • data part が条件セットに一致した場合、ClickHouse は指定された圧縮方式を使用します。
  • data part が複数の条件セットに一致した場合、ClickHouse は最後に一致した条件セットを使用します (<case> セクションは順に評価され、一致するたびに前の選択が上書きされます) 。
data part がどの条件にも一致しない場合、ClickHouse はサイズに応じた組み込みのデフォルトを使用します。100 MB 未満では LZ4、それ以上では ZSTD(3) です。上記の min_part_size の条件と同様に、ここでのサイズはコーデックを選択する時点、つまりデータが書き込まれる前に判明しているサイズです。挿入直後のパーツでは 0、マージやミューテーションではソースパーツのサイズになります。したがって、TTL DELETE や折りたたみマージのように入力より小さくなる書き換えは入力サイズに基づいて分類され、しきい値を下回るサイズでありながら ZSTD(3) となるパーツが生成されることがあります。
例

設定ファイル

サーバーの設定ファイルを指します。

config_reload_interval_ms

ClickHouse が設定を再読み込みし、新たな変更があるかどうかを確認する頻度

core_dump

コアダンプファイルのサイズのソフト上限を設定します。
ハード上限はシステムツールで設定します
例

crash_log

crash_log システムテーブルの動作に関する設定です。 以下の設定はサブタグで構成できます。 既定のサーバー設定ファイル config.xml には、次の設定セクションが含まれています。

create_union_system_log_tables

システムログテーブルと同じ場所に all_... テーブル (system.query_log に対する system.all_query_log、system.text_log に対する system.all_text_log など) を作成します。このテーブルは、対応するログテーブル、そのローテーション後のバージョン (query_log_0、query_log_1、…) 、および/またはクラスター内のすべてのレプリカにある同一テーブルをユニオンしたもので、clusterAllReplicas(default, merge(system, '^query_log')) のような構文を覚えなくても、まとめてクエリできます。 このセクションは任意です。指定する場合は、以下の設定の少なくとも 1 つを指定する必要があります。 両方の設定を指定した場合、このテーブルはクラスター内のすべてのレプリカにまたがるローテーション後のテーブルをユニオンしたものになります。 このオプションはすべてのシステムログテーブルに適用され、システムログごとに異なる設定を指定することはできません。各テーブルは、各ログの初回フラッシュ時にシステムログテーブルと同じデータベースに作成され、ログテーブルの構造が変更されると (ローテーション時に) 自動的に再作成されます。状態を持たないため、いつでも安全に削除できます。作成がサポートされるのは、Atomic、Replicated、Shared データベースエンジンのみです。
cluster 設定を使用する場合、テーブル定義はクラスターを参照するため、テーブルを読み込むにはそのクラスターが存在している必要があります。設定からクラスターを削除する場合は、all_... テーブルも削除してください (次回のフラッシュ時に新しい設定に従って再作成されます) 。
例

database_atomic_delay_before_drop_table_sec

UNDROP ステートメントを使用して、削除されたテーブルを復元できる期間です。DROP TABLE が SYNC 修飾子付きで実行された場合、この設定は無視されます。 この設定のデフォルト値は 480 (8 分) です。

dead_letter_queue

‘dead_letter_queue’ システムテーブルの設定です。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
デフォルト設定は次のとおりです。

dictionary_background_reconnect_interval

background_reconnect が有効な Failed 状態の MySQL および Postgres の Dictionary に対する、再接続試行の間隔 (ミリ秒) 。

disk_transaction_wait_for_blob_removal

ディスクごとの wait_for_blob_removal 設定のデフォルト値です。 有効にすると、server は操作を完了として通知する前に、バックグラウンドでのブロブ削除が完了するまで待機します。

display_secrets_in_show_and_select

テーブル、データベース、テーブル関数、および Dictionaries に対する SHOW クエリと SELECT クエリでシークレットを表示するかどうかを有効または無効にします。 シークレットを表示するには、ユーザーに加えて format_display_secrets_in_show_and_select フォーマット設定 が有効になっており、 displaySecretsInShowAndSelect 権限 も付与されている必要があります。 設定可能な値:
  • 0 — 無効。
  • 1 — 有効。

dns_max_consecutive_failures

ホスト名の DNS cache の更新がこの回数だけ連続して失敗すると、それ以降は更新を試行しません。情報自体は引き続き DNS cache に残ります。ゼロは無制限を意味します。 関連項目

dynamic_user_defined_executable_functions_path

ドライバーによって動的に作成された実行可能 UDF の設定ファイルを保存するためのディレクトリです (CREATE FUNCTION ... ENGINE = DriverName(...) を参照) 。 サーバーの再起動時には、このディレクトリ内の設定ファイルがスキャンされ、対応する UDF がドライバーを再度呼び出すことなく読み込まれます。 例

暗号化

暗号化コーデックで使用する秘密鍵を取得するコマンドを設定します。秘密鍵は環境変数に記述するか、設定ファイルで設定する必要があります。 秘密鍵には、16バイト長の16進数表現または文字列を指定できます。 例 config から読み込む場合:
秘密鍵を設定ファイルに保存することは推奨されません。安全ではないためです。秘密鍵は安全なディスク上の別の設定ファイルに移し、その設定ファイルへのシンボリックリンクを config.d/ フォルダーに配置できます。
秘密鍵が16進数の場合に設定から読み込む例:
環境変数から秘密鍵を読み込む:
ここで、current_key_id は暗号化に使用する現在の秘密鍵を設定し、指定したすべての秘密鍵を復号に使用できます。 これらの各方法は、複数の秘密鍵に適用できます。
ここで current_key_id は、暗号化に使用中の現在の秘密鍵を示します。 また、ユーザーは長さが12バイトの nonce を追加できます (デフォルトでは、暗号化および復号の処理にはゼロバイトのみで構成された nonce が使用されます) :
また、16進数で設定することもできます:
前述の内容はすべて aes_256_gcm_siv にも適用できます (ただし、秘密鍵の長さは 32 バイトである必要があります) 。

enforce_keeper_component_tracking

有効にすると、すべてのZooKeeperリクエストで Coordination::setCurrentComponent を使ってコンポーネント名を設定する必要があります。コンポーネント名が設定されていない場合は、LOGICAL_ERROR 例外をスローします。

error_log

デフォルトでは無効です。 有効化 system.error_log への error history の収集を手動で有効にするには、次の内容で /etc/clickhouse-server/config.d/error_log.xml を作成します。
無効化 error_log 設定を無効にするには、以下の内容で /etc/clickhouse-server/config.d/disable_error_log.xml ファイルを作成します。
以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。

filesystem_caches_path

この設定では、cache のパスを指定します。 例

google_protos_path

Protobuf 型の proto ファイルが含まれるディレクトリを指定します。 例

handshake_timeout_milliseconds

TCP ハンドシェイク全体 (Hello + Addendum) に対する、ミリ秒単位の実時間タイムアウトです。認証前の接続がスレッドを占有できる時間を制限します。無効にするには 0 に設定します。

hdfs.libhdfs3_conf

libhdfs3 が設定ファイルの正しい場所を参照するようにします。

hsts_max_age

HSTS の有効期間 (秒) 。
値が 0 の場合、ClickHouse は HSTS を無効にします。正の数を設定すると、HSTS が有効になり、max-age には設定した値が使用されます。
例

iceberg_background_schedule_pool_size

リモートのIcebergカタログから最新のメタデータを非同期で取得するためのスレッドプールのサイズです。このプールは、アクティブなすべてのテーブルで共有されます。

iceberg_manifest_decode_thread_pool_queue_size

Iceberg のデータマニフェストファイルをデコードするスレッドプールにスケジュールできるジョブの最大数です。

ignore_empty_sql_security_in_create_view_query

true の場合、DEFINER と SQL SECURITY のいずれも指定しない CREATE VIEW または CREATE MATERIALIZED VIEW クエリは、記述されたとおりに保存され、ビューの SQL security type は空になります。DEFINER のみを指定した場合は SQL SECURITY DEFINER と見なされるため、このようなクエリはこの設定の影響を受けません。SQL security type が空の normal view は、呼び出し元の権限で実行されます。ターゲットテーブルを明示的に指定した materialized view では、ターゲットテーブルに対するアクセスチェックはスキップされます。ソーステーブルへの insert にターゲットテーブルに対する INSERT privilege は必要なく、ビューからの読み取りにもターゲットテーブルに対する SELECT privilege は必要ありません。 false の場合、作成時に default_normal_view_sql_security、default_materialized_view_sql_security、default_view_definer 設定のデフォルト値が view definition に書き込まれます。これらの設定のデフォルト値では、いずれの clause も指定せずに作成された materialized view は、作成ユーザーを definer として記録し、そのユーザーの権限で実行されます。 リフレッシャブルmaterialized view には、この設定にかかわらず常にデフォルト値が適用されます。
この設定を変更しても、その後に作成されるビューにのみ影響し、既存のビューの保存済み定義は変更されません。

include_from

置換を含むファイルのパス。XML と YAML の両方のフォーマットがサポートされています。 詳細については、設定ファイルのセクションを参照してください。 デフォルトでは空です。つまり、置換ファイルは使用されません。バージョン 26.8 より前は、ファイル /etc/metrika.xml が存在する場合、暗黙的に使用されていました。これに依存している場合は、パスを明示的に指定してください。 メインのサーバー設定とは別に読み込まれる設定ファイル、つまりユーザー設定 (メインファイルに含まれていない場合の users.xml など) および XML Dictionary 設定では、include_from 要素はサーバー設定ではなく各ファイル自身の内容から読み取られます。置換を使用するこのような各ファイルには、それぞれ独自の include_from 要素が必要です。 例

insert_deduplication_version

非推奨の移行ガードです。ClickHouse バージョン 26.7 以降でサポートされる統一された挿入の重複排除ハッシュは new_unified_hash のみであり、この設定がそれ以外の値 (old_separate_hashes や compatible_double_hashes など) で指定されている場合、サーバーは起動を拒否します。アップグレード前に、前のバージョンで compatible_double_hashes (legacy ハッシュと統一ハッシュの両方を書き込みます) を実行し、重複排除の移行を完了してください。レプリケートテーブルでは、少なくとも replicated_deduplication_window_seconds (デフォルトでは 1 時間) の間これを実行してください。デフォルトの window は、その期間内のすべての insert の統一ハッシュを保持するため、insert の再試行ループをカバーするには十分と見なされます。non_replicated_deduplication_window > 0 の非レプリケートテーブルでは、window は時間ベースではなく件数ベースになるため、アップグレード前に少なくともその件数の insert に対して compatible_double_hashes を実行してください。

io_thread_pool_queue_size

I/O スレッドプールでスケジュールできるジョブの最大数。
0 は無制限を意味します。

keep_alive_timeout

ClickHouse が接続を閉じるまでに、HTTPプロトコルで到着するリクエストを待機する秒数です。 例

ldap_servers

ここでは、接続パラメータとともに LDAP サーバーを列挙します。用途は次のとおりです。
  • 'password' ではなく 'ldap' 認証メカニズムが指定された専用のローカルユーザーに対して、authenticator として使用する
  • リモートの user directories として使用する。
以下の設定はサブタグで構成できます。 user_dn_detection 設定はサブタグで構成できます。 例:
例 (一般的な Active Directory で、後続のロールマッピング用にユーザー DN の検出が設定されている場合) :

logger

ログメッセージの出力先とフォーマット。 キー: ログフォーマット指定子 log および errorLog のパス内のファイル名では、生成されるファイル名に対して以下のフォーマット指定子を使用できます (ディレクトリ部分では使用できません) 。 「Example」カラムは、2023-07-06 18:32:07 時点での出力を示します。 例
ログメッセージのみをコンソールに出力するには:
レベル別のオーバーライド 個々のログ名ごとにログレベルをオーバーライドできます。たとえば、ロガー “Backup” と “RBAC” のすべてのメッセージを抑制するには、次のようにします。
syslog ログメッセージを syslog にも追加で書き込むには:
<syslog> のキー: ログフォーマット コンソールログに出力するログフォーマットを指定できます。現在サポートされているのは JSON のみです。 例 以下は、出力される JSON ログの例です。
JSONロギングを有効にするには、次のスニペットを使用します。
JSONログのキー名を変更する キー名は、<names> タグ内の各タグの値を変更することで変えられます。たとえば、DATE_TIME を MY_DATE_TIME に変更するには、<date_time>MY_DATE_TIME</date_time> を使用します。 JSONログのキーを省略する ログのプロパティは、該当するプロパティをコメントアウトすることで省略できます。たとえば、ログに query_id を出力したくない場合は、<query_id> タグをコメントアウトします。

logger.count

ローテーションポリシー: ClickHouse が保持する過去のログファイルの最大数を指定します。

logger.errorlog

エラーログファイルのパス。

logger.formatting.type

コンソール出力のログフォーマット。現在サポートされているのは <json> のみです。

logger.level

ログレベル。有効な値: <none> (ログを無効化) 、<fatal>、<critical>、<error>、<warning>、<notice>、<information>、<debug>、<trace>、<test>。

logger.log

ログファイルのパス。

logger.rotation

ローテーションポリシー: ログファイルをローテーションするタイミングを制御します。ローテーションは、サイズ、時間、またはその両方の組み合わせに基づいて実行できます。例: 100M, daily, 100M,daily。ログファイルが指定したサイズを超えるか、指定した時間間隔に達すると、ファイルはリネームされてアーカイブされ、新しいログファイルが作成されます。

logger.shutdown_level

サーバーのシャットダウン時にルートロガーのレベルを設定するために使用されます。

logger.size

ローテーションポリシー: ログファイルの最大サイズ (バイト単位) 。ログファイルのサイズがこのしきい値を超えると、ファイルはリネームされてアーカイブされ、新しいログファイルが作成されます。

logger.startup_level

Startup levelは、サーバー起動時にルートロガーのレベルを設定するために使用されます。起動後、ログレベルは <level> の設定に戻ります。

logger.stream_compress

LZ4 を使用してログメッセージを圧縮します。有効にするには、<1> または <true> に設定します。

logger.syslog_level

syslog へのログ出力のログレベル。

logger.use_syslog

ログ出力を syslog にも転送します。

マクロ

レプリケートテーブル用のパラメータ置換。 レプリケートテーブルを使用しない場合は省略できます。 詳しくは、レプリケートテーブルの作成のセクションを参照してください。 例

message_queue_disable_insertion

メッセージキューエンジン (Kafka、RabbitMQ、NATS) から、アタッチされたmaterialized viewへの挿入を無効にします

metric_log

デフォルトでは無効です。 有効化 メトリクス履歴の収集 system.metric_log を手動で有効にするには、以下の内容で /etc/clickhouse-server/config.d/metric_log.xml を作成します。
無効化 metric_log 設定を無効にするには、以下の内容で /etc/clickhouse-server/config.d/disable_metric_log.xml ファイルを作成してください。
以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。

mmap_cache_size

この設定により、頻繁な open/close 呼び出し (それに伴うページフォールトのため非常に高コスト) を回避し、複数のスレッドやクエリ間でマッピングを再利用できます。設定値は、マップされた領域の数です (通常はマップされたファイル数と同じです) 。 マップされたファイル内のデータ量は、次のシステムテーブルで以下のメトリクスを使って監視できます。
マップされたファイル内のデータ量はメモリを直接消費せず、クエリやサーバーのメモリ使用量にも計上されません。これは、このメモリが OS page cache と同様に破棄できるためです。MergeTree family のテーブルでは、古いパーツが削除されるとこの cache は自動的に破棄され (ファイルはクローズされます) 、SYSTEM DROP MMAP CACHE クエリで手動で破棄することもできます。この設定は実行時に変更でき、すぐに反映されます。

mutation_workload

ミューテーションと他のワークロード間でのリソースの利用と共有を制御するために使用します。指定した値は、すべてのバックグラウンドミューテーションの workload 設定値として使用されます。MergeTree 設定で上書きできます。 関連項目

named_collections_storage.type

named collections のストレージタイプです。設定可能な値は local、local_encrypted、keeper、 keeper_encrypted、zookeeper、zookeeper_encrypted です。 named_collections_storage.type として設定します (XML では <named_collections_storage><type>) 。

oom_score

Linux システムでは、OOM killer の動作を制御できます。

openSSL

SSL クライアント/サーバーの設定。 SSL のサポートは libpoco ライブラリによって提供されています。利用可能な設定オプションについては SSLManager.h で説明されています。デフォルト値は SSLManager.cpp で確認できます。 certificateFile、privateKeyFile、caConfig が参照するファイルは、変更された場合や SYSTEM RELOAD CONFIG の実行時に、再起動なしで再読み込みされます。新しい接続では再読み込みされた証明書が使用され、確立済みの接続には影響しません。 サーバー/クライアント設定のキー: 設定例:

openSSL.client.caConfig

信頼された CA証明書 が格納されているファイルまたはディレクトリへのパスです。ファイルを指す場合は、PEMフォーマットである必要があり、複数の CA証明書 を含めることができます。ディレクトリを指す場合は、CA証明書ごとに 1 つの .pem ファイルが含まれている必要があります。ファイル名は、CA の subject name のハッシュ値に基づいて検索されます。詳細については、SSL_CTX_load_verify_locations の man ページを参照してください。CA証明書 は、ファイルが変更されたとき、または SYSTEM RELOAD CONFIG 実行時に、再起動なしで再読み込みされます。新しい接続は、再読み込みされた証明書に対して検証されます。

openSSL.client.cacheSessions

セッションのキャッシュを有効または無効にします。<sessionIdContext>と組み合わせて使用する必要があります。有効な値: <true>, <false>.

openSSL.client.certificateFile

PEMフォーマットのクライアントまたはサーバー証明書ファイルへのパスです。<privateKeyFile> に証明書が含まれている場合は、省略できます。

openSSL.client.cipherList

サポートされている OpenSSL の暗号スイート。

openSSL.client.disableProtocols

使用できないプロトコル。

openSSL.client.extendedVerification

有効にすると、証明書の CN または SAN がピアのホスト名と一致することを検証します。

openSSL.client.fips

OpenSSL の FIPS モードを有効にします。ライブラリの OpenSSL バージョンが FIPS をサポートしている場合に利用できます。

openSSL.client.invalidCertificateHandler.name

無効な証明書を検証するクラス (CertificateHandler のサブクラス) 。例: <<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>。

openSSL.client.loadDefaultCAFile

デフォルトの CA 証明書を使用するかどうかを決定します。ClickHouse は、ファイル </etc/ssl/cert.pem> (またはディレクトリ </etc/ssl/certs>) 、環境変数 <SSL_CERT_FILE> (または <SSL_CERT_DIR>) で指定されたファイル (またはディレクトリ) 、および各種ディストリビューションのその他の既知の場所からこれらを探します。ファイルシステム上に CA 証明書が見つからず、明示的に caConfig が設定されておらず、かつバイナリが埋め込み CA 証明書を含むようにビルドされている場合 (これはデフォルトで、ENABLE_EMBEDDED_CA_CERTIFICATES ビルドオプションで制御されます) 、代わりに埋め込み証明書が使用されます。これにより、たとえば「from scratch」からビルドされたコンテナーのようにファイルが一切ない最小限の環境でも TLS が機能します。埋め込み CA 証明書を含まないビルドでは、この場合にエラーをスローします。

openSSL.client.preferServerCiphers

クライアントが優先するサーバー暗号スイート。

openSSL.client.privateKeyFile

PEM証明書の秘密鍵を含むファイルへのパスです。このファイルには、秘密鍵と証明書の両方を含めることもできます。

openSSL.client.privateKeyPassphraseHandler.name

秘密鍵へのアクセスに必要なパスフレーズを要求するクラス (PrivateKeyPassphraseHandler のサブクラス) です。例: <<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.client.verificationDepth

検証チェーンの最大長です。証明書チェーンの長さが設定値を超えると、検証は失敗します。

openSSL.client.verificationMode

node の 証明書を検証する方法です。詳細は Context クラスの説明を参照してください。設定可能な値: <none>, <relaxed>, <strict>, <once>.

openSSL.server.caConfig

信頼された CA 証明書が格納されているファイルまたはディレクトリへのパスです。ファイルを指定する場合は、PEMフォーマットである必要があり、複数の CA 証明書を含めることができます。ディレクトリを指定する場合は、CA 証明書ごとに 1 つの .pem ファイルが含まれている必要があります。ファイル名は、CA の subject name のハッシュ値を基に検索されます。詳細については、SSL_CTX_load_verify_locations の man ページを参照してください。CA 証明書は、ファイルが変更されたときや SYSTEM RELOAD CONFIG の実行時に、再起動なしで再読み込みされます。新しい接続は、再読み込みされた証明書を用いて検証されます。

openSSL.server.cacheSessions

セッションのcacheを有効または無効にします。<sessionIdContext>と組み合わせて使用する必要があります。有効な値: <true>, <false>。

openSSL.server.certificateFile

PEMフォーマットのクライアント/サーバー証明書ファイルへのパスです。<privateKeyFile> に証明書が含まれている場合は、省略できます。

openSSL.server.cipherList

暗号スイート。

openSSL.server.disableProtocols

使用できないプロトコル。

openSSL.server.extendedVerification

有効にすると、証明書の CN または SAN がピアのホスト名と一致することを検証します。

openSSL.server.fips

OpenSSL の FIPS モードを有効にします。ライブラリの OpenSSL バージョンが FIPS をサポートしている場合に利用できます。

openSSL.server.invalidCertificateHandler.name

無効な証明書を検証するためのクラス (CertificateHandler のサブクラス) です。例: <<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>.

openSSL.server.loadDefaultCAFile

デフォルトの CA 証明書を使用するかどうかを決定します。ClickHouse は、ファイル </etc/ssl/cert.pem> (またはディレクトリ </etc/ssl/certs>) 、環境変数 <SSL_CERT_FILE> (または <SSL_CERT_DIR>) で指定されたファイル (またはディレクトリ) 、および各種ディストリビューションで一般的に使用されるその他の場所から証明書を検索します。ファイルシステム上に CA 証明書がなく、明示的な caConfig が設定されておらず、かつバイナリが埋め込み CA 証明書付きでビルドされている場合 (デフォルトであり、ENABLE_EMBEDDED_CA_CERTIFICATES ビルドオプションで制御されます) 、代わりに埋め込み証明書が使用されます。これにより、たとえば「from scratch」からビルドされたコンテナーのようにファイルが一切ない最小限の環境でも、TLS を利用できます。埋め込み CA 証明書を含まないビルドでは、この場合にエラーがスローされます。

openSSL.server.preferServerCiphers

クライアントが優先するサーバー暗号スイート。

openSSL.server.privateKeyFile

PEM証明書の秘密鍵を含むファイルのパスです。このファイルには、秘密鍵と証明書の両方を含めることもできます。

openSSL.server.privateKeyPassphraseHandler.name

秘密鍵へのアクセスに必要なパスフレーズの入力を求めるクラス (PrivateKeyPassphraseHandler のサブクラス) 。例: <<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.server.sessionCacheSize

server が cache するセッションの最大数です。値が 0 の場合、セッション数は無制限です。

openSSL.server.sessionIdContext

サーバーが生成する各識別子に付加される、一意のランダムな文字列です。文字列の長さは <SSL_MAX_SSL_SESSION_ID_LENGTH> を超えてはいけません。サーバーがセッションをcacheする場合にも、クライアントがcacheを要求した場合にも問題の回避に役立つため、このパラメーターは常に設定することを推奨します。

openSSL.server.sessionTimeout

サーバーでセッションをcacheしておく時間 (時間単位) 。

openSSL.server.verificationDepth

検証チェーンの最大長です。証明書チェーンの長さが設定値を超えると、検証に失敗します。

openSSL.server.verificationMode

ノードの証明書の検証方法です。詳細は Context クラスの説明を参照してください。設定可能な値: <none>, <relaxed>, <strict>, <once>.

opentelemetry_span_log

opentelemetry_span_log システムテーブルの設定です。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
例:

part_log

MergeTree に関連するイベントを記録します。たとえば、データの追加やマージなどです。このログを使ってマージ アルゴリズムをシミュレートし、その特性を比較できます。マージ処理を可視化することも可能です。 クエリは別個のファイルではなく、system.part_log テーブルに記録されます。このテーブル名は table パラメータで設定できます (以下を参照) 。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
例

path

データが格納されているディレクトリのパスです。
末尾のスラッシュは必須です。
例

per_cpu_untracked_memory_thread_buffer

各スレッドが、共有の CPU ごとの予算に触れることなく保持できる未追跡メモリの量 (バイト単位) 。これは、小さな割り当てにおける CPU ごとの管理コストを償却するもので、最悪の場合には max_per_cpu_untracked_memory * number_of_cpus に上乗せされる余裕分でもあります。値を 0 にすると、この余裕分はなくなります。つまり、各割り当てで共有の CPU ごとのカウンターが更新されます (最も正確ですが、競合は増えます) 。Linux のみ。

point_in_polygon_cache_size

定数のポリゴン引数を持つ関数 pointInPolygon で使用される、前処理済みポリゴンの cache の最大サイズ (バイト単位) です。 制限を超えたエントリは、最も長く使われていないものから順に追い出されます。 これを 0 に設定すると cache は無効になります。つまり、cache 済みのポリゴンはすべて追い出され、その後の各クエリでは定数ポリゴンが毎回あらためて前処理されます。 この制限値を変更しなくても、SYSTEM DROP POINT IN POLYGON CACHE クエリを使って手動で cache をクリアすることもできます。
この設定は実行時に変更でき、すぐに有効になります。

prefixes_deserialization_thread_pool_thread_pool_queue_size

プレフィックスのデシリアライゼーション用 スレッドプール にスケジュール可能なジョブの最大数。
0 は無制限を意味します。

prepare_system_log_tables_on_startup

true の場合、ClickHouse は起動前に設定されている system.*_log テーブルをすべて作成します。一部の起動スクリプトがこれらのテーブルに依存している場合に便利です。

process_query_plan_packet

この設定では、QueryPlan パケットの読み取りを有効にできます。このパケットは、serialize_query_plan が有効になっている場合に、分散クエリで送信されます。 クエリプランのバイナリデシリアライゼーションにおける bug に起因する可能性のあるセキュリティ上の問題を避けるため、デフォルトでは無効になっています。 例

processors_profile_log

processors_profile_log システムテーブルの設定。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
デフォルトの設定は次のとおりです。

prometheus

Prometheus によるスクレイピング用にメトリクスデータを公開します。 設定:
  • endpoint – Prometheus server がメトリクスをスクレイピングするための HTTP エンドポイント。’/’ で始めます。
  • port – endpoint のポート。
  • metrics – system.metrics テーブルのメトリクスを公開します。
  • events – system.events テーブルのメトリクスを公開します。
  • asynchronous_metrics – system.asynchronous_metrics テーブルの現在のメトリクス値を公開します。キー・バリューのメトリクス (CPU core、block device、network interface、または disk ごとに分割されるもの) は、キーごとに 1 つのサンプルとして公開され、キーはラベルとして付与されます: ClickHouseAsyncMetrics_BlockReadBytes{device="sda"}。asynchronous_metrics_key_values_mode server setting を使用すると、代わりに 26.8 より前のマングルされた名前 (ClickHouseAsyncMetrics_BlockReadBytes_sda) で公開したり、両方の形式で同時に公開したりできます。
  • errors - 前回の server 再起動以降に発生した、error codes ごとの error 数を公開します。この情報は system.errors からも取得できます。
  • labels – 公開されるすべてのメトリクスに追加される定数ラベル。各子要素が 1 つのラベルを定義します。要素名がラベル名 ([a-zA-Z_][a-zA-Z0-9_]* に一致する必要があります) 、要素値がラベル値です。ラベル値では、from_env 属性などの標準的な config substitutions を使用できます。ラベル名が __ で始まる場合 (Prometheus によって予約済み) 、または有効なセクションのいずれかでこのエンドポイントがすでに書き込んでいるラベルと競合する場合は拒否されます。そうでない場合、サンプルに同じラベル名が 2 回含まれることになります。したがって、予約されるラベル名はエンドポイントのアクティブなエクスポート対象に応じて決まります。histograms が有効な場合は le、info が有効な場合は ClickHouse_Info のラベル (name、version、version_describe、version_major、version_minor、version_patch) 、asynchronous_metrics が有効で、かつそれらがキー・バリュー形式で公開されている場合 (asynchronous_metrics_key_values_mode server setting により決定されます) はキー・バリューの asynchronous metrics のキーラベル (channel、cpu、device、disk、interface、mc、sensor) 、さらに histograms/dimensional_metrics が有効な場合は公開される histogram または dimensional metric family で使用される任意のラベル (例: group、direction、operation_type) です。エンドポイントが実際に公開する内容に依存するため、あるエンドポイントでは有効な名前でも、別のエンドポイントでは拒否されることがあります。たとえば、Keeper の keeper_metrics_only エンドポイントは keeper_* family のみを公開するため、server family でのみ使用されるラベルはそこで受け入れられます。定数ラベルは、SYSTEM RELOAD CONFIG を含め、configuration が読み込まれる際に同じルールで検証されます。定数ラベルが競合することになる reload (そのようなラベルを追加する場合や、asynchronous_metrics_key_values_mode を変更してキーラベルが書き込まれるようになる場合) は、同じラベルを 2 回公開する代わりに、適用される前に全体として拒否されます。モードの変更が受け入れられた場合は、メトリクスを公開するエンドポイントが再作成され、同じ configuration の新しい形式とラベルが一緒に公開されます。
例
確認してください (127.0.0.1 はご使用の ClickHouse server の IP アドレスまたはホスト名に置き換えてください) :

prometheus.keeper_metrics_only

Keeper 関連のメトリクスを公開します

proxy

HTTP および HTTPS のリクエスト用のプロキシサーバーを定義します。現在サポートされているのは、S3 storage、S3 table functions、および URL 関数です。 プロキシサーバーを定義する方法は 3 つあります。
  • 環境変数
  • プロキシリスト
  • リモートプロキシリゾルバ。
また、no_proxy を使用して特定のホストに対するプロキシサーバーの使用を回避することもできます。 環境変数 http_proxy および https_proxy 環境変数を使用すると、指定した プロトコル用のプロキシサーバーを指定できます。これらがシステムで設定されていれば、そのまま問題なく動作するはずです。 これは、あるプロトコルに対して プロキシサーバーが 1 つしかなく、そのプロキシサーバーが変わらない場合に最も簡単な方法です。 プロキシリスト この方法では、プロトコルごとに 1 つ以上の プロキシサーバーを指定できます。複数のプロキシサーバーが定義されている場合、 ClickHouse はそれらをラウンドロビン方式で使用し、 各サーバーに負荷を分散します。これは、あるプロトコルに対して 複数のプロキシサーバーがあり、そのリストが変わらない場合に最も簡単な方法です。 設定テンプレート
子フィールドを表示するには、以下のタブで親フィールドを選択します。
リモートプロキシリゾルバ プロキシサーバーが動的に変わる場合があります。その場合は、リゾルバのエンドポイントを定義できます。ClickHouse はそのエンドポイントに空の GET リクエストを送信し、リモートリゾルバはプロキシホストを返す必要があります。 ClickHouse はそれを使用して、次のテンプレートでプロキシ URI を構築します: \{proxy_scheme\}://\{proxy_host\}:{proxy_port} 設定テンプレート
以下のタブで親フィールドを選択すると、対応する子要素を確認できます。
優先順位 プロキシ設定は、次の順序で決定されます。 ClickHouse は、リクエストのプロトコルに対して最も優先度の高い種類のリゾルバを確認します。定義されていない場合は、 環境リゾルバに達するまで、次に優先度の高い種類のリゾルバを順に確認します。 これにより、複数の種類のリゾルバを組み合わせて使用することもできます。

remap_executable

巨大ページを使用して機械語 (“text”) 用のメモリを再割り当てする設定です。
この機能はきわめて実験的です。
例

replica_group_name

Replicated データベースのレプリカグループ名です。 Replicated データベースによって作成されるクラスターは、同じグループ内のレプリカで構成されます。 DDL クエリは、同じグループ内のレプリカのみを待機します。
  • デフォルト: ""
例

replicated_merge_tree

ReplicatedMergeTree テーブル向けの詳細な設定です。この設定が優先されます。 詳細は、MergeTreeSettings.h ヘッダーファイルを参照してください。 例

restore_threads

RESTORE リクエストの実行に使用するスレッドの最大数。

send_crash_reports

ClickHouse コア開発チームにクラッシュレポートを送信するための設定です。 特に本番前環境では、これを有効にしていただけると大変助かります。 キー: 推奨される使用方法

series_keeper_path

generateSerialID 関数によって生成される、自動インクリメント番号を持つ Keeper 内のパスです。各 series はこのパス配下の node として作成されます。

ssh_server

ホスト鍵の公開鍵は、初回接続時にSSHクライアント側の known_hosts ファイルへ書き込まれます。 ホスト鍵の設定は、デフォルトで無効になっています。 ホスト鍵の設定をアンコメントし、それぞれのSSH鍵へのパスを指定して有効にします。 例:

table_engines_require_grant

true に設定すると、特定のエンジンを使用するテーブルを作成する際に grant が必要になります (例: GRANT TABLE ENGINE ON TinyLog to user) 。
  • 既定値: false
既定では、後方互換性のため、特定の table engine を使用するテーブルの作成時には grant は無視されます。ただし、これを true に設定することでこの動作を変更できます。

tcp_ssh_port

ユーザーが PTY 経由で埋め込みクライアントを使用し、対話的に接続してクエリを実行できる SSH サーバーのポートです。 例:

text_log

テキストメッセージを記録するための text_log システムテーブルの設定です。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
さらに: 例

thread_pool_queue_size

グローバルスレッドプールにスケジュールできるジョブの最大数です。キューサイズを大きくすると、メモリ使用量も増加します。この値は max_thread_pool_size と同じにしておくことを推奨します。
0 は無制限を意味します。
例

throw_on_unknown_workload

クエリ設定 ‘workload’ で未知の WORKLOAD にアクセスした場合の動作を定義します。
  • true の場合、未知の WORKLOAD へのアクセスを試みるクエリで RESOURCE_ACCESS_DENIED 例外がスローされます。WORKLOAD の階層が確立され、WORKLOAD default が含まれるようになった後、すべてのクエリに対してリソーススケジューリングを強制するのに役立ちます。
  • false (デフォルト) の場合、‘workload’ 設定が未知の WORKLOAD を指しているクエリには、リソーススケジューリングなしで無制限のアクセスが許可されます。これは、WORKLOAD default を追加する前に WORKLOAD の階層を設定している段階で重要です。
例
関連項目

timezone

サーバーのタイムゾーンです。 UTC のタイムゾーンまたは地理的な場所を表す IANA 識別子 (例: Africa/Abidjan) として指定します。 タイムゾーンは、DateTime フィールドをテキストフォーマットに出力する場合 (画面やファイルに出力する場合) や、文字列から DateTime を取得する場合に、String と DateTime の間で変換を行うために必要です。また、時刻や日付を扱う関数で、入力パラメータとしてタイムゾーンが渡されなかった場合にも使用されます。 例
関連項目

trace_log

trace_log システムテーブルの動作用設定です。 以下の設定はサブタグで設定できます。 さらに、次のサーバーレベル設定は、すべてのシステムログテーブルに対するデフォルトのフラッシュポリシーを制御します。
デフォルトのサーバー設定ファイル config.xml には、次の設定セクションがあります。

url_scheme_mappers

短縮されたURLプレフィックスや記号的なURLプレフィックスを完全なURLに変換するための設定です。 例:

validate_tcp_client_information

Query パケット受信時にクライアント情報の検証を有効にするかどうかを指定します。 デフォルトでは false です。

wait_dictionaries_load_at_startup

この設定では、dictionaries_lazy_load が false の場合の動作を指定できます。 (dictionaries_lazy_load が true の場合、この設定は何にも影響しません。) wait_dictionaries_load_at_startup が false の場合、サーバーは起動時にすべての Dictionary のロードを開始し、そのロードと並列に接続を受け付けます。 Dictionary がクエリで初めて使用されたとき、まだロードされていなければ、そのクエリは Dictionary のロードが完了するまで待機します。 wait_dictionaries_load_at_startup を false に設定すると ClickHouse はより速く起動できますが、一部のクエリは実行が遅くなる可能性があります (これは、一部の Dictionary のロード完了を待つ必要があるためです) 。 wait_dictionaries_load_at_startup が true の場合、サーバーは起動時に すべての Dictionary のロードが完了するまで (成功・失敗を問わず) 待機し、その後で接続を受け付けます。 例

webassembly_udf_engine

WebAssembly UDF を実行するためのエンジンです。サポートされる値は ‘wasmtime’ のみです。

webterminal_allowed_origins

/webterminal WebSocket セッションを開くことを許可する完全なオリジン (スキーム + ホスト + 任意のポート) のカンマ区切りリストです。空の場合、同一オリジンポリシーが厳密に適用されます (Origin はリクエストのスキーム、ホスト、ポートと一致している必要があります) 。ブラウザーは https を使用しているにもかかわらず request.isSecure() が false になる、TLS 終端を行うリバースプロキシ配下のデプロイ環境では、これを設定してください。例: https://example.com,https://app.example.com:8443。
最終更新日 2026年9月26日