これらの設定は system.settings で確認でき、ソースコード から自動生成されています。
s3_base
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.8 | s3テーブル関数およびS3テーブルエンジンで相対URLを解決するためのベースURLを指定する新しい設定。 |
s3テーブル関数およびS3テーブルエンジン、ならびにこれらと設定を共有するテーブル関数 (s3Cluster、gcs、oss) で相対URLを解決する際に使用するベースURLです。
設定すると、スキームを含まないURLは、url_baseと同じルールに従って、RFC 3986に基づきs3_baseを基準に解決されます。すでにスキームを含むURLは、そのまま使用されます。
たとえば、s3_baseがs3://clickhouse-public-datasets/の場合、s3('hits_compatible/hits.csv')はs3://clickhouse-public-datasets/hits_compatible/hits.csvを読み取ります。
ベースURLには、s3テーブル関数で受け入れられる任意の形式を使用できます。たとえば、s3://bucket/、https://bucket.s3.amazonaws.com/、https://endpoint/bucket/です。
s3_check_objects_after_upload
アップロードが正常に完了したことを確認するため、S3 にアップロードされた各オブジェクトを HEAD リクエストで確認します
s3_connect_timeout_ms
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.3 | 1000 | S3 接続タイムアウト専用の新しい設定を追加 |
S3 ディスクのホストへの接続タイムアウト。
s3_create_new_file_on_insert
S3エンジンテーブルで、各 insert ごとに新しいファイルを作成するかどうかを有効または無効にします。有効にすると、insert のたびに、次のようなパターンでキー付きの新しい S3 オブジェクトが作成されます。
initial: data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gz, など。
設定可能な値:
- 0 —
INSERTクエリは新しいファイルを作成します。ファイルがすでに存在し、s3_truncate_on_insert が設定されていない場合は失敗します。 - 1 —
INSERTクエリは、s3_truncate_on_insert が設定されていない場合、各 insert ごとに接尾辞を使用して新しいファイルを作成します (2 回目以降) 。
詳細はこちらを参照してください。
s3_disable_checksum
ファイルを S3 に送信する際にチェックサムを計算しません。これにより、ファイルに対する過剰な処理パスを避け、書き込みを高速化できます。MergeTree テーブルのデータはどうせ ClickHouse 側でチェックサムが計算されるため、通常は問題ありません。また、S3 へのアクセスに HTTPS を使用している場合は、ネットワーク経由での転送中の整合性は TLS レイヤーですでに確保されます。ただし、S3 で追加のチェックサムを使用すると、多層防御になります。
s3_ignore_file_doesnt_exist
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.6 | 0 | S3 table engine で、要求されたファイルが存在しない場合に例外をスローする代わりに 0 行を返せるようにします |
特定のキーの読み込み時に、ファイルが存在しない場合はその不在を無視します。
設定可能な値:
- 1 —
SELECTは空の結果を返します。 - 0 —
SELECTは例外をスローします。
s3_list_object_keys_size
ListObject リクエストで一度に返されるファイルの最大数
s3_min_upload_part_size
S3 へのマルチパートアップロード時にアップロードする各パートの最小サイズです。
s3_path_filter_limit
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.12 | 1000 | 新しい設定 |
glob による一覧取得の代わりにファイルの反復処理で使用するため、クエリフィルターから抽出できる _path 値の最大数です。
0 は無効を意味します。
s3_request_timeout_ms
S3 との間でデータを送受信する際のアイドルタイムアウトです。1 回の TCP read または write 呼び出しがこの時間以上ブロックされると、失敗します。
s3_skip_empty_files
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.11 | 1 | UX の向上が期待されます |
S3 エンジンテーブルで、空のファイルをスキップする機能を有効または無効にします。
設定可能な値:
- 0 — 空のファイルが要求されたフォーマットと互換性がない場合、
SELECTは例外をスローします。 - 1 — 空のファイルに対して、
SELECTは空の結果を返します。
s3_slow_all_threads_after_network_error
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | 1 | 新しい設定 |
true に設定すると、同じバックアップ用エンドポイントへの S3 リクエストを実行しているすべてのスレッドは、
いずれか 1 つの S3 リクエストでソケットタイムアウトなどの再試行可能なネットワークエラーが発生した後、
すべて速度が抑制されます。
false に設定すると、各スレッドは他のスレッドとは独立して S3 リクエストのバックオフを処理します。
s3_strict_upload_part_size
S3 への マルチパートアップロード 時にアップロードする パート の厳密なサイズです (実装によっては、可変サイズの パート をサポートしていません) 。
s3_throw_on_zero_files_match
ListObjects リクエストで一致するファイルが1つもない場合、エラーを発生させます
s3_truncate_on_insert
S3 エンジンテーブルで、INSERT 前に truncate するかどうかを有効または無効にします。無効な場合、S3 オブジェクト がすでに存在していると、INSERT を試行した際に例外がスローされます。
設定可能な値:
- 0 —
INSERTクエリは新しいファイルを作成します。ファイルがすでに存在し、s3_create_new_file_on_insert が設定されていない場合は失敗します。 - 1 —
INSERTクエリは、ファイルの既存の内容を新しいデータで置き換えます。
詳しくはこちらを参照してください。
s3_uri_style
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.4 | auto | 新しい設定 |
S3エンドポイントのスタイルを強制します。設定可能な値: auto、virtual_hosted、path。
s3_use_adaptive_timeouts
true に設定すると、すべての S3 リクエストで、最初の 2 回の試行は短い送信/受信タイムアウトで実行されます。
false に設定すると、すべての試行が同一のタイムアウトで実行されます。