Skip to main content
これらの設定は system.settings で確認でき、ソースコード から自動生成されています。

apply_deleted_mask

論理削除された行を除外するフィルタリングを有効にします。無効にすると、クエリでそれらの行も読み取れるようになります。これは、デバッグや「削除取り消し」のシナリオで役立ちます

apply_mutations_on_fly

true の場合、data part にまだ反映されていない mutations (UPDATE と DELETE) は、SELECT 時に適用されます。

apply_prewhere_after_final

有効にすると、ReplacingMergeTree および類似のエンジンで、PREWHERE 条件が FINAL 処理の後に適用されます。 これは、PREWHERE が重複する行ごとに値が異なる可能性のあるカラムを参照しており、 フィルタリング前に FINAL で採用される行を確定させたい場合に役立ちます。無効な場合、PREWHERE は読み取り時に適用されます。 注: apply_row_level_security_after_final が有効で、かつ行ポリシーがソートキー以外のカラムを使用している場合、正しい実行順序を維持するため、PREWHERE も 遅延されます (行ポリシーは PREWHERE より前に適用する必要があります) 。

apply_row_policy_after_final

有効にすると、*MergeTree テーブルでは、行ポリシーと PREWHERE は FINAL の処理後に適用されます。 (特に ReplacingMergeTree) 無効にすると、行ポリシーは FINAL の前に適用されるため、ポリシーによって ReplacingMergeTree や同様のエンジンで重複排除に使われるべき行が除外される場合、結果が異なる可能性があります。 行ポリシーの式が ORDER BY 内のカラムのみに依存している場合は、最適化のため、引き続き FINAL の前に適用されます。 そのようなフィルタリングは重複排除の結果に影響しないためです。 設定可能な値:
  • 0 — 行ポリシーと PREWHERE は FINAL の前に適用されます (デフォルト) 。
  • 1 — 行ポリシーと PREWHERE は FINAL の後に適用されます。

apply_settings_from_server

クライアントがサーバーから設定を受け入れるかどうかを指定します。 これはクライアント側で実行される操作にのみ影響します。特に、INSERT 入力データのパースとクエリ結果のフォーマットに影響します。クエリ実行の大部分はサーバー側で行われるため、この設定の影響は受けません。 通常、この設定はクライアント経由 (client のコマンドライン引数、SET クエリ、または SELECT クエリの SETTINGS セクション) ではなく、ユーザープロファイル (users.xml または ALTER USER のようなクエリ) で設定する必要があります。クライアント経由では false に変更できますが、true には変更できません (ユーザープロファイルで apply_settings_from_server = false になっている場合、サーバーは設定を送信しないためです) 。 なお、当初 (24.12) はサーバー設定 (send_settings_to_client) がありましたが、使い勝手を向上させるため、後にこのクライアント設定に置き換えられました。
最終更新日 2026年7月23日