Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة الأخرى

تتوفّر هذه الإعدادات في system.settings، وهي مُولَّدة تلقائيًا من المصدر.

adaptive_aggregator_freeze_threshold

النوع
UInt64
القيمة الافتراضية
16384
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.816384إعداد جديد لتحديد عدد المفاتيح الذي عنده يجمّد المُجمِّع التكيفي (`enable_adaptive_aggregator`) جدول التجزئة المحلي الخاص بالخيط.

عدد المفاتيح الذي عنده يجمّد المُجمِّع التكيفي جدول التجزئة المحلي الخاص بالخيط (راجع enable_adaptive_aggregator). تُبقي القيم الأصغر الجداول المجمّدة ضمن الذاكرة المخبئية، بينما تتيح القيم الأكبر لها استيعاب قدر أكبر من المفاتيح المتكررة. تؤدي القيمة 0 إلى تجميد الجداول عند أول فرصة، مما يجعل الخوارزمية تعمل بصورة مشابهة للمُجمِّع المُجزّأ (enable_sharding_aggregator): يُوجَّه كل مفتاح وفقًا لتجزئته ويُجمَّع لدى مالك واحد، لكن يُؤجَّل ذلك إلى مرحلة الدمج بدلًا من تبادله بين الخيوط أثناء الفحص.

adaptive_aggregator_freeze_threshold_bytes

النوع
UInt64
القيمة الافتراضية
4194304
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.94194304إعداد جديد يقيّد حجم الجداول المحلية المجمّدة للمُجمِّع التكيفي بالبايتات؛ يُطبَّق الحد الذي يُبلَغ أولًا بين هذا الحد وعتبة عدد المفاتيح؛ وتؤدي القيمة 0 إلى تعطيل حد البايتات.

حجم الذاكرة الذي عنده يُجمِّد المُجمِّع التكيفي جدول التجزئة المحلي لخيط (انظر enable_adaptive_aggregator). يُجمَّد الجدول عند بلوغ أيٍّ من هذه القيمة وadaptive_aggregator_freeze_threshold أولًا. الحجم هو عدد البايتات التي خصصها الجدول المحلي نفسه (مخزن جدول التجزئة وساحاته)، ويُتحقق منه بين الكتل. يصبح حد البايتات مهمًا عندما تكون المفاتيح أو حالات التجميع عريضة، إذ إن عتبة عدد المفاتيح وحدها قد تسمح لهذه الجداول بتجاوز سعة ذاكرات التخزين المؤقت في CPU. عند القيمة الافتراضية، تستمر الجداول ذات عروض المفاتيح والحالات العادية في التجميد وفقًا لعدد المفاتيح. تعطل القيمة 0 حد البايتات، لذا تحدد عتبة عدد المفاتيح وحدها وقت التجميد.

add_http_cors_header

النوع
Bool
القيمة الافتراضية
0

كتابة ترويسة CORS لـ HTTP.

analyze_index_with_space_filling_curves

النوع
Bool
القيمة الافتراضية
1

إذا كان فهرس جدول ما يتضمن منحنىً مالئًا للفراغ، مثل ORDER BY mortonEncode(x, y) أو ORDER BY hilbertEncode(x, y)، وكان الاستعلام يتضمن شروطًا على وسائطه، مثل x >= 10 AND x <= 20 AND y >= 20 AND y <= 30، فسيُستخدم المنحنى المالئ للفراغ في تحليل الفهرس.

analyzer_inline_views

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.40إعداد جديد

عند تمكينه، يستبدل analyzer طرق العرض العادية (غير المُجسَّدة وغير المعلَّمة بمعلمات) بالاستعلامات الفرعية التي تعرّفها، مما يتيح تحسينات عابرة للحدود مثل دفع عبارات التصفية وتشذيب الأعمدة.

any_join_distinct_right_table_keys

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
19.140تعطيل ANY RIGHT وANY FULL JOIN افتراضيًا لتجنب عدم الاتساق

يُمكّن السلوك القديم لخادم ClickHouse في عمليات ANY INNER|LEFT JOIN.

عندما يكون السلوك القديم مُمكّنًا:

  • لا تتطابق نتائج العمليتين t1 ANY LEFT JOIN t2 وt2 ANY RIGHT JOIN t1 لأن ClickHouse يستخدم منطق ربط مفاتيح الجداول من اليسار إلى اليمين بعلاقة متعدد إلى واحد.
  • تحتوي نتائج عمليات ANY INNER JOIN على جميع صفوف الجدول الأيسر، كما هو الحال في عمليات SEMI LEFT JOIN.

عندما يكون السلوك القديم معطّلًا:

  • تتطابق نتائج العمليتين t1 ANY LEFT JOIN t2 وt2 ANY RIGHT JOIN t1 لأن ClickHouse يستخدم منطقًا يوفّر ربطًا للمفاتيح بعلاقة واحد إلى متعدد في عمليات ANY RIGHT JOIN.
  • تحتوي نتائج عمليات ANY INNER JOIN على صف واحد لكل مفتاح من الجدولين الأيسر والأيمن.

القيم الممكنة:

  • 0 — السلوك القديم معطّل.
  • 1 — السلوك القديم مُمكّن.

انظر أيضًا:

archive_adaptive_buffer_max_size_bytes

النوع
UInt64
القيمة الافتراضية
8388608
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.18388608إعداد جديد

يحدّد الحجم الأقصى للمخزن المؤقت المتكيّف المستخدم عند الكتابة إلى ملفات الأرشيف (على سبيل المثال، أرشيفات tar

arrow_flight_request_descriptor_type

النوع
ArrowFlightDescriptorType
القيمة الافتراضية
path
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.11pathإعداد جديد. نوع الواصف المستخدم لطلبات Arrow Flight: ‏'path' أو ‏'command'. يتطلب Dremio القيمة ‏'command'.

نوع الواصف المستخدم لطلبات Arrow Flight. يرسل ‏'path' اسم مجموعة البيانات كواصف path. ويرسل ‏'command' استعلام SQL كواصف command (وهو مطلوب لـ Dremio).

القيم الممكنة:

  • 'path' — استخدم FlightDescriptor::Path (الافتراضي، ويعمل مع معظم خوادم Arrow Flight)
  • 'command' — استخدم FlightDescriptor::Command مع استعلام SELECT (مطلوب لـ Dremio)

backup_slow_all_threads_after_retryable_s3_error

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.80إعداد جديد
25.60إعداد جديد
25.100تعطيل الإعداد افتراضيًا

عند ضبطه على true، يتم إبطاء جميع الخيوط التي تنفّذ طلبات S3 إلى نقطة نهاية النسخة الاحتياطية نفسها إذا واجه أي طلب S3 واحد خطأ S3 قابلاً لإعادة المحاولة، مثل 'Slow Down'. وعند ضبطه على false، يتعامل كل خيط مع التراجع بين محاولات طلبات S3 بشكل مستقل عن الخيوط الأخرى.

cache_warmer_threads

متاح فقط في ClickHouse Cloud
النوع
UInt64
القيمة الافتراضية
4

لا يكون لهذا الإعداد تأثير إلا في ClickHouse Cloud. عدد الخيوط الخلفية المخصّصة لتنزيل أجزاء البيانات الجديدة استباقيًا إلى ذاكرة التخزين المؤقت لنظام الملفات عند تمكين cache_populated_by_fetch. استخدم القيمة صفر للتعطيل.

calculate_text_stack_trace

النوع
Bool
القيمة الافتراضية
1

احسب تتبّع المكدس النصي عند حدوث استثناءات أثناء تنفيذ الاستعلام. هذا هو السلوك الافتراضي. ويتطلب ذلك عمليات بحث عن الرموز، ما قد يبطئ اختبارات التشويش عند تنفيذ عدد كبير جدًا من الاستعلامات الخاطئة. وفي الحالات العادية، ينبغي ألا تعطّل هذا الخيار.

cancel_http_readonly_queries_on_client_close

النوع
Bool
القيمة الافتراضية
0

يلغي استعلامات HTTP للقراءة فقط (مثل SELECT) عند إغلاق العميل للاتصال دون انتظار الاستجابة.

القيمة الافتراضية في Cloud: 1.

checksum_on_read

النوع
Bool
القيمة الافتراضية
1

تحقّق من قيم التحقّق عند القراءة. يكون هذا الإعداد مفعّلًا افتراضيًا، ويجب أن يظل مفعّلًا دائمًا في بيئة الإنتاج. لا يُرجى توقّع أي فائدة من تعطيل هذا الإعداد. وقد يُستخدم فقط لأغراض التجربة واختبارات الأداء. لا ينطبق هذا الإعداد إلا على الجداول من عائلة MergeTree. أمّا في محركات الجداول الأخرى، وعند تلقّي البيانات عبر الشبكة، فيُجرى دائمًا التحقّق من قيم التحقّق.

الضغط

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لتطبيق ضغط عام على جسم الاستجابة.

يطبّق ضغطًا عامًا على جسم الاستجابة، مثل compression=gz. لاحظ أن هذا مستقل عن Content-Encoding (ضغط HTTP) وعن المعلمة القديمة compress (ضغط ClickHouse الأصلي). ويعادل ذلك تحديد امتداد ملف مضغوط في مسار URL.

هذا إعداد لتشكيل الاستجابة ضمن واجهة HTTP: يُطبَّق قبل تنفيذ الاستعلام (إذ تُعَدّ مخازن الاستجابة المؤقتة مسبقًا)، لذا يجب توفيره عبر معلمة HTTP URL، أو امتداد الملف في مسار URL، أو ملف تعريف المستخدم، وليس عبر عبارة SETTINGS داخل الاستعلام (إذ لا يكون لها أي تأثير ويُرفَض استخدامها).

connection_pool_max_wait_ms

النوع
مللي ثانية
القيمة الافتراضية
0

زمن الانتظار بالمللي ثانية للحصول على اتصال عندما يكون مجمّع الاتصالات ممتلئًا.

القيم الممكنة:

  • عدد صحيح موجب.
  • 0 — مهلة انتظار لا نهائية.

connections_with_failover_max_tries

النوع
UInt64
القيمة الافتراضية
3

الحد الأقصى لعدد محاولات الاتصال بكل نسخة متماثلة لمحرك الجدول Distributed.

convert_query_to_cnf

النوع
Bool
القيمة الافتراضية
0

عند ضبطه على true، سيُحوَّل استعلام SELECT إلى الصيغة العادية الاقترانية (CNF). في بعض الحالات، قد يؤدي إعادة كتابة الاستعلام بصيغة CNF إلى تنفيذ أسرع (راجع مشكلة Github للاطلاع على الشرح).

على سبيل المثال، لاحظ كيف لا يُعدَّل استعلام SELECT التالي (وهو السلوك الافتراضي):

EXPLAIN SYNTAX
SELECT *
FROM
(
    SELECT number AS x
    FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = false;

الناتج هو:

┌─explain────────────────────────────────────────────────────────┐
│ SELECT x                                                       │
│ FROM                                                           │
│ (                                                              │
│     SELECT number AS x                                         │
│     FROM numbers(20)                                           │
│     WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15)) │
│ ) AS a                                                         │
│ WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))     │
│ SETTINGS convert_query_to_cnf = 0                              │
└────────────────────────────────────────────────────────────────┘

لنضبط convert_query_to_cnf على true ونرَ ما الذي سيتغير:

EXPLAIN SYNTAX
SELECT *
FROM
(
    SELECT number AS x
    FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = true;

لاحظ أن عبارة WHERE أُعيدت كتابتها إلى صيغة CNF، لكن مجموعة النتائج هي نفسها تمامًا — فالمنطق البولياني لم يتغير:

┌─explain───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ SELECT x                                                                                                              │
│ FROM                                                                                                                  │
│ (                                                                                                                     │
│     SELECT number AS x                                                                                                │
│     FROM numbers(20)                                                                                                  │
│     WHERE ((x <= 15) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x >= 10) OR (x >= 1)) │
│ ) AS a                                                                                                                │
│ WHERE ((x >= 10) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x <= 15) OR (x <= 5))     │
│ SETTINGS convert_query_to_cnf = 1                                                                                     │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

القيم الممكنة: true, false

count_matches_stop_at_empty_match

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.60إعداد جديد.

يتوقف العدّ بمجرد أن يطابق النمط طولًا صفريًا في الدالة countMatches.

cross_to_inner_join_rewrite

النوع
UInt64
القيمة الافتراضية
1

استخدم INNER JOIN بدلًا من الربط بالفاصلة/‏CROSS JOIN إذا كانت هناك تعبيرات ربط في قسم WHERE. القيم: 0 - بدون إعادة كتابة، 1 - طبّق ذلك عند الإمكان على الربط بالفاصلة/‏CROSS JOIN، 2 - افرض إعادة كتابة جميع عمليات الربط بالفاصلة، وCROSS JOIN عند الإمكان

data_type_default_nullable

النوع
Bool
القيمة الافتراضية
0

يسمح بأن تكون أنواع البيانات في تعريفات الأعمدة التي لا تتضمن مُعدِّلات صريحة NULL or NOT NULL من النوع Nullable.

القيم الممكنة:

  • 1 — تُضبط أنواع البيانات في تعريفات الأعمدة على Nullable افتراضيًا.
  • 0 — تُضبط أنواع البيانات في تعريفات الأعمدة على أنها غير Nullable افتراضيًا.

decimal_check_overflow

النوع
Bool
القيمة الافتراضية
1

التحقق من تجاوز السعة في عمليات الحساب/المقارنة العشرية

deduplicate_blocks_in_dependent_materialized_views

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.21تمكين إزالة التكرار للعروض المادية التابعة افتراضيًا.

يُفعِّل أو يعطِّل التحقق من إزالة التكرار للعروض المادية التي تتلقى البيانات من جداول Replicated*.

القيم الممكنة:

  • 0 — معطّل.
  • 1 — مفعّل.

عند التمكين، يُجري ClickHouse إزالة التكرار للكتل في العروض المادية التي تعتمد على جداول Replicated*. يفيد هذا الإعداد في ضمان عدم احتواء العروض المادية على بيانات مكررة عند إعادة محاولة عملية الإدراج بسبب حدوث فشل.

انظر أيضًا

defer_partition_pruning_after_final

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.51إعداد أُضيف حديثًا في 26.5 لضبط سلوك تقليم الأقسام في FINAL، والذي طُرح بصمت في 26.3 (https://github.com/ClickHouse/ClickHouse/pull/98242). وقد سُجِّل التغيير الدلالي المهم ضمن قسم 26.3 بحيث إن `compatibility = '26.2'` يتراجع عنه؛ وهذا الإدخال موجود لكي يقبل فحص الترقية من 26.4 الاسم المُضاف حديثًا.
26.31يضبط هذا الإعداد تخطّي المُخطِّط في FINAL لتقليم الأقسام بشكل غير مشروط عندما لا يكون عمود مفتاح القسم ضمن مفتاح الفرز. وقد طُرح تغيير السلوك نفسه بصمت في 26.3 عبر https://github.com/ClickHouse/ClickHouse/pull/98242؛ وهذا الإدخال يوثّقه بأثر رجعي بحيث إن `compatibility = '26.2'` يستعيد السلوك السابق للتراجع (0 = تقليم قبل FINAL، أسرع؛ 1 = تأجيل التقليم، آمن من ناحية الصحة).

عند التمكين (وهو الإعداد الافتراضي)، يتم تخطّي تقليم الأقسام في استعلامات FINAL على الجداول التي لا تكون أعمدة مفتاح القسم فيها جزءًا من مفتاح الفرز. وهذا هو السلوك الآمن من ناحية الصحة الذي أُدخل في 26.3: فقد يحتاج FINAL إلى إزالة تكرار الصفوف التي تشترك في مفتاح أساسي واحد لكنها موجودة في أقسام مختلفة، وسيؤدي تقليم الأقسام إلى استبعاد مثل هذه الصفوف بصمت من مدخلات إزالة التكرار.

عند التعطيل، يُطبَّق تقليم الأقسام حتى مع FINAL، مما يعيد سلوك ما قبل 26.3. وقد يكون هذا أسرع بكثير للاستعلامات التي تحتوي على شروط WHERE على عمود القسم، لكنه يكون صحيحًا فقط عندما يستحيل وجود صفوف لها المفتاح الأساسي نفسه في أقسام مختلفة — مثل جداول سجل الأحداث التي يُحدَّد فيها عمود القسم وقت insert ولا يتغير مطلقًا.

لا يؤثر هذا الإعداد إلا في الجداول المُقسَّمة التي لا تكون أعمدة مفتاح القسم فيها مُتضمَّنة ضمن مفتاح الفرز؛ أما في الجداول الأخرى، فيُطبَّق تقليم الأقسام دائمًا.

القيم الممكنة:

  • 0 — طبّق تقليم الأقسام قبل FINAL (سلوك ما قبل 26.3، أسرع لكنه غير آمن في الحالة العامة).
  • 1 — أجّل تقليم الأقسام إلى ما بعد FINAL (الافتراضي، آمن من ناحية الصحة).

describe_compact_output

النوع
Bool
القيمة الافتراضية
0

إذا كانت القيمة true، فأدرِج فقط أسماء الأعمدة وأنواعها في نتيجة الاستعلام DESCRIBE

dialect

النوع
Dialect
القيمة الافتراضية
clickhouse

اللهجة المستخدمة لتحليل الاستعلام.

القيم المدعومة:

  • clickhouse (افتراضي) — ClickHouse SQL القياسية.
  • kusto — Kusto Query Language. يتطلب الإعداد التجريبي allow_experimental_kusto_dialect.
  • prql — PRQL. يتطلب الإعداد التجريبي allow_experimental_prql_dialect.
  • polyglot — يترجم SQL من لهجات أخرى، مثل MySQL وPostgreSQL، إلى ClickHouse SQL. يتطلب الإعداد التجريبي allow_experimental_polyglot_dialect.
  • promql — PromQL (لغة استعلام Prometheus)، ويُقيَّم على جدول TimeSeries ويُضبط من خلال الإعدادات promql_database وpromql_table وpromql_evaluation_time.
  • clickhouse_json — بدلًا من نص SQL، يُفسَّر الاستعلام على أنه JSON AST (ناتج parseQueryToJSON). يظل استعلام SET معروفًا بصيغته العادية، بحيث يمكن التبديل مجددًا إلى لهجة أخرى. يتطلب الإعداد التجريبي enable_json_ast_dialect.

discard_query_data

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.70إعداد جديد لتجاوز إرسال صفوف نتيجة الاستعلام إلى العميل عبر بروتوكول TCP الأصلي.

إذا كان مُمكّنًا، يتجاوز الخادم إرسال صفوف نتيجة الاستعلام إلى العميل. ومع ذلك، يظل الاستعلام يُنفَّذ ويُسجَّل بالكامل على الخادم، كما يواصل العميل تلقي الحزم الأخرى.

يُستخدم لحركة المرور الظلية، واختبارات الأداء، والتشويش.

ليس له أي تأثير على الاستعلامات الثانوية.

يؤثر فقط في بروتوكول TCP الأصلي.

distinct_overflow_mode

النوع
OverflowMode
القيمة الافتراضية
throw

يحدّد ما يحدث عند تجاوز كمية البيانات أحد الحدود.

القيم الممكنة:

  • throw: رفع استثناء (الافتراضي).
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية، كما لو أن بيانات المصدر قد نفدت.

do_not_merge_across_partitions_select_final

النوع
Bool
القيمة الافتراضية
0

حسّن أداء استعلامات FINAL بتجنّب عمليات الدمج عبر أقسام مختلفة.

عند تفعيل هذا الإعداد، لن تُدمَج الأجزاء من أقسام مختلفة معًا أثناء استعلامات SELECT FINAL. وبدلًا من ذلك، سيقتصر الدمج على الأجزاء داخل كل قسم على حدة. ويمكن أن يحسّن ذلك أداء الاستعلام بشكل كبير عند العمل مع الجداول المُقسّمة.

dynamic_throw_on_type_mismatch

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.41إعداد جديد للتحكم في سلوك عدم تطابق الأنواع في التنفيذ الافتراضي لـ Dynamic

عند تطبيق دالة على عمود Dynamic باستخدام التنفيذ الافتراضي، يحدد هذا الإعداد ما يحدث للصفوف التي يكون نوعها الفعلي غير متوافق مع الدالة:

  • true (الافتراضي) — طرح استثناء.
  • false — إرجاع NULL لتلك الصفوف بدلًا من ذلك.

enforce_strict_identifier_format

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.100إعداد جديد.

عند تمكينه، يُسمح فقط بالمعرّفات التي تحتوي على أحرف وأرقام وشرطات سفلية.

engine_url_skip_empty_files

النوع
Bool
القيمة الافتراضية
0

يفعّل أو يعطّل تخطي الملفات الفارغة في الجداول التي تستخدم محرك URL.

القيم الممكنة:

  • 0 — يُطلق SELECT استثناءً إذا كان الملف الفارغ غير متوافق مع التنسيق المطلوب.
  • 1 — يعيد SELECT نتيجة فارغة للملف الفارغ.

exact_rows_before_limit

النوع
Bool
القيمة الافتراضية
0

عند تفعيل هذا الإعداد، سيقدّم ClickHouse قيمة دقيقة لإحصائية rows_before_limit_at_least، ولكن سيكون ذلك على حساب ضرورة قراءة البيانات التي تسبق الحد بالكامل

except_default_mode

النوع
SetOperationMode
القيمة الافتراضية
ALL

يضبط الوضع الافتراضي في استعلام EXCEPT. القيم الممكنة: سلسلة فارغة، 'ALL'، 'DISTINCT'. إذا كانت فارغة، فسيؤدي الاستعلام من دون وضع إلى إطلاق استثناء.

exclude_materialize_skip_indexes_on_insert

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.10إعداد جديد.

يستثني فهارس التخطي المحددة من بنائها وتخزينها أثناء عمليات INSERT. وستظل فهارس التخطي المستثناة تُبنى وتُخزَّن أثناء عمليات الدمج أو من خلال استعلام MATERIALIZE INDEX صريح.

لا يكون له أي تأثير إذا كانت materialize_skip_indexes_on_insert مضبوطة على false.

مثال:

CREATE TABLE tab
(
    a UInt64,
    b UInt64,
    INDEX idx_a a TYPE minmax,
    INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple();

SET exclude_materialize_skip_indexes_on_insert='idx_a'; -- idx_a will be not be updated upon insert
--SET exclude_materialize_skip_indexes_on_insert='idx_a, idx_b'; -- neither index would be updated on insert

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- only idx_b is updated

-- since it is a session setting it can be set on a per-query level
INSERT INTO tab SELECT number, number / 50 FROM numbers(100, 100) SETTINGS exclude_materialize_skip_indexes_on_insert='idx_b';

ALTER TABLE tab MATERIALIZE INDEX idx_a; -- this query can be used to explicitly materialize the index

SET exclude_materialize_skip_indexes_on_insert = DEFAULT; -- reset setting to default

execute_exists_as_scalar_subquery

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.81إعداد جديد

نفِّذ استعلامات EXISTS الفرعية غير المرتبطة باعتبارها استعلامات فرعية ذات القيمة المفردة. وكما هو الحال في الاستعلامات الفرعية ذات القيمة المفردة، تُستخدم الذاكرة المؤقتة ويُطبَّق طيّ الثوابت على النتيجة.

القيمة الافتراضية في Cloud: 0.

explain_query_plan_default

النوع
ExplainQueryPlanDefault
القيمة الافتراضية
pretty
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.7prettyاعتبارًا من الإصدار 26.7، يصبح `EXPLAIN PLAN` افتراضيًا `actions=1, compact=1, pretty=1`. اضبط هذا على `legacy` لاستعادة المخرجات المستخدمة قبل 26.7.

التنسيق الافتراضي الذي يستخدمه EXPLAIN PLAN.

القيم الممكنة:

  • pretty (الافتراضي منذ 26.7) — تكون actions وcompact وpretty مضبوطة افتراضيًا على true، ما ينتج مخططًا موجزًا ومنسقًا ومشروحًا بالإجراءات.
  • legacy — المخرجات المستخدمة قبل 26.7.

يؤدي تحديد الخيارات actions أو compact أو pretty صراحةً في تعليمة EXPLAIN (على سبيل المثال، EXPLAIN actions = 0, compact = 0, pretty = 0 SELECT ...) دائمًا إلى تجاوز هذا الإعداد.

يحتفظ EXPLAIN PLAN مع json = 1 أو distributed = 1 بالقيم الافتراضية القديمة (قبل 26.7) بغض النظر عن هذا الإعداد، ما لم يتم ضبط actions أو compact أو pretty صراحةً. ولا يمكن لمخرجات pretty تمثيل نتائج JSON أو المخططات الموزعة لكل shard، لذا لا تُعرض هذه الأوضاع بشكل صحيح إلا بصيغة legacy.

explain_syntax_single_record

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81اعتبارًا من الإصدار 26.8، يعيد `EXPLAIN SYNTAX` الاستعلام المُعاد تنسيقه كسجل واحد (يتضمن أسطرًا جديدة مضمنة) بدلًا من سجل لكل سطر. اضبط هذا الإعداد على `false` لاستعادة المخرجات السابقة للإصدار 26.8، بسجل لكل سطر.

أعد مخرجات EXPLAIN SYNTAX كسجل واحد (يتضمن أسطرًا جديدة مضمنة) بدلًا من سجل لكل سطر، لتكون النتيجة صفًا واحدًا يمكن استرجاعه (على سبيل المثال، يعيد SELECT count() FROM (EXPLAIN SYNTAX ...) القيمة 1).

يؤدي تحديد الخيار single_record صراحةً في عبارة EXPLAIN SYNTAX (على سبيل المثال، EXPLAIN SYNTAX single_record = 0 SELECT ...) إلى تجاوز هذا الإعداد دائمًا.

اضبطه على false لاستعادة المخرجات السابقة للإصدار 26.8، بسجل لكل سطر، أو اضبط compatibility على أي إصدار أقدم من 26.8.

extract_key_value_pairs_max_pairs_per_row

الأسماء البديلة: extract_kvp_max_pairs_per_row

النوع
UInt64
القيمة الافتراضية
1000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.21000الحد الأقصى لعدد الأزواج التي يمكن أن تُنتجها الدالة `extractKeyValuePairs`. يُستخدم كإجراء احترازي لمنع استهلاك قدر كبير جدًا من الذاكرة.

الحد الأقصى لعدد الأزواج التي يمكن أن تُنتجها الدالة extractKeyValuePairs. يُستخدم كإجراء احترازي لمنع استهلاك قدر كبير جدًا من الذاكرة.

extremes

النوع
Bool
القيمة الافتراضية
0

ما إذا كان سيتم احتساب القيم القصوى (القيم الصغرى والكبرى في أعمدة نتيجة استعلام). يقبل 0 أو 1. القيمة الافتراضية هي 0 (معطّل). لمزيد من المعلومات، راجع قسم "القيم القصوى".

fallback_to_stale_replicas_for_distributed_queries

النوع
Bool
القيمة الافتراضية
1

يفرض توجيه الاستعلام إلى نسخة متماثلة قديمة إذا لم تكن البيانات المحدَّثة متاحة. راجع Replication.

يختار ClickHouse أكثر النسخ المتماثلة القديمة صلةً بالجدول.

يُستخدم عند تنفيذ SELECT من distributed table تشير إلى replicated tables.

افتراضيًا، 1 (مُمكّن).

file_like_engine_default_partition_strategy

النوع
FileLikeEngineDefaultPartitionStrategy
القيمة الافتراضية
hive
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.6hiveتغيير استراتيجية التقسيم الافتراضية لمحركات الجداول المشابهة للملفات (S3 وAzureBlobStorage وما إلى ذلك) من `wildcard` إلى `hive` عند عدم توفير `partition_strategy`.

استراتيجية التقسيم الافتراضية للمحركات المشابهة للملفات. تُطبّق فقط على استعلامات CREATE التي يكون مسارها خاليًا من نمط glob وعنصر النائب {_partition_id}. يستخدم المسار الذي يحتوي على {_partition_id} استراتيجية wildcard دائمًا. أما المسار الذي يحتوي على نمط glob آخر، فلا يستخدم أي استراتيجية تقسيم ويتجاهل PARTITION BY. إذا كان هذا الإعداد هو wildcard ولم يحتوِ المسار على {_partition_id}، فلن تُستخدم أي استراتيجية تقسيم؛ وترفض محركات الجداول التي لا تستطيع حفظ هذا القرار في وسيطات محركها (مثل HDFS) استعلام CREATE هذا.

filesystem_prefetches_limit

النوع
UInt64
القيمة الافتراضية
200

الحد الأقصى لعمليات الجلب المسبق. يشير الصفر إلى عدم وجود حد. ويُوصى باستخدام الإعداد filesystem_prefetches_max_memory_usage بدلًا من ذلك إذا كنت تريد تقييد عدد عمليات الجلب المسبق

filter

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لإضافة عبارة `WHERE` حول استعلام.

يضيف عبارة WHERE إلى الاستعلام ضمن استعلام فرعي مغلّف. تُدمج عوامل التصفية المتعددة باستخدام AND. تتيح واجهة HTTP استخدام عدة معاملات URL باسم filter، تُدمج بالترتيب باستخدام AND ومع قيمة هذا الإعداد.

هذا إعداد لإنشاء الاستعلامات يطبّقه المحرك على الاستعلام المُحلَّل، وذلك بلفّه كجدول مشتق؛ لذا فهو يتكامل مع الاستعلام الحالي ويعمل عبر جميع البروتوكولات. ويمكن تمريره عبر معامل URL لـ HTTP، أو عبارة SETTINGS داخل الاستعلام، أو ملف تعريف المستخدم.

يؤثر في استعلامات SELECT / UNION التي تُنتج نتائج. أما في استعلامات الكتابة (INSERT … SELECT، CREATE … AS SELECT)، فلا يسري إلا إذا تضمّنه SELECT المصدر في عبارة SETTINGS الخاصة به؛ أما القيمة الموروثة من ملف تعريف أو جلسة، أو المضبوطة في تعليمة INSERT / CREATE نفسها، فلا تُنقل إلى SELECT المصدر — وهي قاعدة عدم النقل نفسها التي تنطبق على أي إعداد آخر.

final

النوع
Bool
القيمة الافتراضية
0

يطبّق المُعدِّل FINAL تلقائيًا على جميع الجداول في الاستعلام التي يمكن تطبيق FINAL عليها، بما في ذلك الجداول المنضمّة والجداول في الاستعلامات الفرعية والجداول الموزعة.

القيم الممكنة:

  • 0 - معطّل
  • 1 - مُمكّن

مثال:

CREATE TABLE test
(
    key Int64,
    some String
)
ENGINE = ReplacingMergeTree
ORDER BY key;

INSERT INTO test FORMAT Values (1, 'first');
INSERT INTO test FORMAT Values (1, 'second');

SELECT * FROM test;

finalize_projection_parts_synchronously

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.40إعداد جديد لإنهاء أجزاء الإسقاط بشكل متزامن أثناء INSERT لتقليل استخدام الذاكرة عند الذروة.

عند تمكين هذا الإعداد، تُنهى أجزاء الإسقاط بشكل متزامن أثناء INSERT، مما يقلل استخدام الذاكرة عند الذروة، ولكن على حساب تقليل توازي الرفع إلى S3. افتراضيًا، يظل تدفق المخرجات لكل إسقاط نشطًا إلى أن يُنهى الجزء بالكامل (بما في ذلك جميع الإسقاطات)، مما يتيح تداخل عمليات الرفع إلى S3، لكنه يزيد استخدام الذاكرة عند الذروة بما يتناسب مع عدد الإسقاطات. لا يؤثر هذا الإعداد إلا في مسار INSERT؛ أما الدمج وعمليات mutation فتُنهي الإسقاطات بشكل متزامن بالفعل.

flatten_nested

النوع
Bool
القيمة الافتراضية
1

يضبط تنسيق البيانات لأعمدة Nested.

القيم الممكنة:

  • 1 — يُسطَّح عمود Nested إلى مصفوفات منفصلة.
  • 0 — يبقى عمود Nested مصفوفة واحدة من قيم Tuple.

الاستخدام

إذا ضُبط هذا الإعداد على 0، يمكن استخدام أي مستوى من التعشيق.

أمثلة

الاستعلام:

SET flatten_nested = 1;
CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();

SHOW CREATE TABLE t_nest;

النتيجة:

┌─statement───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
    `n.a` Array(UInt32),
    `n.b` Array(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

الاستعلام:

SET flatten_nested = 0;

CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();

SHOW CREATE TABLE t_nest;

النتيجة:

┌─statement──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
    `n` Nested(a UInt32, b UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

format

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لتجاوز FORMAT الاستعلام لكلٍّ من الإدخال والإخراج.

يتجاوز FORMAT الاستعلام لكلٍّ من الإدخال والإخراج. وله أولوية على التنسيق المحدد في الاستعلام وفي امتداد الملف. وتكون لإعدادات input_format وoutput_format الأكثر تحديدًا أولوية على إعداد format العام هذا، كلٌّ في اتجاهه المعني.

framing_output_format

ميزة Beta
النوع
String
القيمة الافتراضية
None
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8Noneإعداد جديد لاختيار تنسيق تأطير يضم حزم البيانات والإجماليات والقيم القصوى والتقدم والسجلات وأحداث التنميط في دفق إخراج واحد عبر HTTP.

يتيح ضم أجزاء مختلفة من استجابة الاستعلام في دفق واحد: фрагменты البيانات، والإجماليات والقيم القصوى، وحزم التقدم، وأحداث التنميط (المقاييس)، وسجلات الخادم — أي كل ما يدعمه البروتوكول الأصلي.

تكون تنسيقات التأطير مستقلة عن تنسيقات الإخراج: فهي تغلف البايتات التي ينتجها أي تنسيق إخراج، وذلك بفصل фрагменты البايتات هذه وترميزها عند الحاجة. إن تسلسل حمولات جميع حزم data وtotals وextremes يطابق تمامًا ما كان سينتجه تنسيق الإخراج من دون تأطير. وتُمثَّل الحزم المساعدة (التقدم والسجلات وأحداث التنميط والاستثناءات) بصيغة JSON.

يوجد استثناء مقصود واحد: فتنسيق الإخراج الذي يحذف الإجماليات والقيم القصوى من مخرجاته العادية لأنه لا يستطيع تمثيلها (عائلة JSONCompactEachRow) يُخرجها ضمن التأطير في حزمتَي totals وextremes. بالنسبة إلى هذه التنسيقات، يكون تسلسل حزم data وحدها مطابقًا تمامًا للإخراج غير المؤطر، بينما تحمل حزمتا totals وextremes صفوفًا إضافية لا يحتويها الإخراج غير المؤطر.

تُضمَّن سجلات الخادم إذا كان الإعداد send_logs_level مضبوطًا، وتُضمَّن أحداث التنميط إذا كان الإعداد send_profile_events مفعّلًا (وتُرسل بحد أقصى مرة واحدة كل interactive_delay ميكروثانية، كما تُقيَّد حزم التقدم أيضًا بواسطة interactive_delay).

ينتهي الدفق الناجح بحزمة progress نهائية تحمل العدادات النهائية (result_rows وresult_bytes وmemory_usage)، وتُكتب بعد حزم log وprofile_events الختامية التي يصدرها تسجيل اكتمال الاستعلام، تمامًا مثل حزمة التقدم النهائية في البروتوكول الأصلي. عند الفشل، تكون حزمة exception هي الحزمة الأخيرة بدلًا من ذلك — مع استثناء واحد: عندما يحدث الفشل بعد إنتاج جزء من دفق الحزم بالفعل ضمن الاستجابة، بحيث لا يعود بالإمكان تجاهله (مثل فشل كتابة حزمة في منتصفها، أو فشل تسليم حزمة exception نفسها، أو فشل دفق الاستجابة أثناء تفريغه أو إغلاقه)، يفشل التأطير بطريقة مغلقة — يُنهى الدفق دون حزمة exception ختامية، ويرى العميل استجابة مقتطعة واتصال HTTP مُجهضًا بدلًا من حزمة ختامية قابلة للتحليل. لا يُلحق أي شيء مطلقًا بعد دفق حزم جزئي، ولذلك لا يُخلط معه نص خطأ HTTP عادي.

أي شيء لا يفعّله الاستعلام إلا من خلال عبارة SETTINGS الخاصة به — مثل تنسيق التأطير أو send_logs_level أو send_profile_events — لا يُعرف إلا بعد تحليل الاستعلام، لذا لا تُلتقط السجلات وأحداث التنميط المقابلة إلا بدءًا من تنفيذ الاستعلام. ولا تُلتقط السجلات وأحداث التنميط الخاصة بمرحلة التحليل والتخطيط والتحليل الدلالي إلا عندما يأتي الإعداد من الجلسة أو URL. على سبيل المثال، الاستعلام الذي يفشل أثناء التحليل الدلالي (مثل الإشارة إلى جدول غير معروف) ويُفعّل send_logs_level في عبارة SETTINGS الخاصة به فقط، لا يسلّم سوى حزمة exception دون سجلات مرحلة التحليل الدلالي؛ اضبط send_logs_level على الجلسة أو URL لالتقاط تلك السجلات.

ينطبق التحذير نفسه المتعلق بالاكتشاف المتأخر على send_logs_source_regexp: إذ تصفي قائمة انتظار السجلات الإدخالات حسب المصدر عند التقاط كل إدخال، لذلك لا يسري التعبير النمطي المضبوط في عبارة SETTINGS الخاصة بالاستعلام إلا بدءًا من تنفيذ الاستعلام. تُصفّى حزم log الخاصة بمراحل التحليل والتخطيط والتحليل الدلالي وفق قيمة الإعداد في الجلسة أو URL (وتكون غير مفلترة إذا لم يكن مضبوطًا هناك)، لذا قد تتضمن مصادر لا تطابق التعبير النمطي على مستوى الاستعلام؛ وبالعكس، لا يستعيد تعبير نمطي أوسع على مستوى الاستعلام الإدخالات التي أسقطها تعبير نمطي أضيق في الجلسة أو URL. اضبط send_logs_source_regexp على الجلسة أو URL لتصفية دورة حياة الاستعلام كاملةً.

ينطبق الإعداد حاليًا على بروتوكول HTTP ويُتجاهل في الواجهات الأخرى.

القيم الممكنة:

  • None - يمرّر بشفافية كل ما ينطبق (البيانات، الإجماليات، القيم القصوى، التقدم) إلى تنسيق الإخراج، ويتجاهل ما لا ينطبق (المقاييس، السجلات)، لذا يعمل كل شيء كما هو افتراضيًا.
  • EventStream - يؤطّر الحزم كأحداث HTTP يرسلها الخادم (text/event-stream). تُرسل كل حزمة كحدث بالاسم المقابل: data، totals، extremes، progress، log، profile_events، exception. تُرسل حزم التقدم والحزم المساعدة الأخرى بتنسيق JSON. ولأن الأحداث التي يرسلها الخادم بروتوكول نصي يتعامل مع فواصل الأسطر (بما فيها محارف إرجاع العربة، \r) كمحددات، تُرمَّز كتلة البيانات المنسقة بترميز base64 ضمن حقل data واحد في الحدث، ويُفك ترميزها إلى الحمولة المنسقة بالكامل بكل أسطرها الجديدة؛ وتحمل Content-Type المعلمة payload=base64 للإشارة إلى ذلك. يمكن نقل أي تنسيق إخراج بهذه الطريقة مع الحفاظ التام على البايتات، سواء أكان نصيًا أم ثنائيًا.
  • JSONEachPacketBase64 - كل حزمة كائن JSON في سطر منفصل، وتُرمَّز البيانات المنسقة بترميز base64، مثلًا: {"packet":"data","data":"eyJ4IjoxfQo="}. مناسب لتنسيقات الإخراج الثنائية.
  • JSONEachPacketString - كل حزمة كائن JSON في سطر منفصل، وتوضع البيانات المنسقة في سلسلة نصية، مثلًا: {"packet":"data","data":"{\"x\":1}\n"}.

يضع JSONEachPacketString بايتات الحمولة في سلسلة JSON دون التحقق منها أو إعادة ترميزها. يمكن للأعمدة String وFixedString احتواء بايتات عشوائية، لذا قد تُخرج تنسيقات الإخراج النصية (مثل JSONEachRow أو TSV أو CSV) UTF-8 غير صالح لهذه القيم، تمامًا كما يفعل JSONEachRow في ClickHouse مع الإعداد الافتراضي output_format_json_validate_utf8 = 0، وعندئذٍ لا يُضمن أن يكون تدفق NDJSON الناتج صالحًا بتشفير UTF-8. استخدم JSONEachPacketBase64 لنقل البايتات العشوائية مع الحفاظ التام على البايتات.

مثال:

curl "http://localhost:8123/?framing_output_format=JSONEachPacketString" -d "SELECT number FROM numbers(3) FORMAT JSONEachRow"

النتيجة:

{"packet":"data","data":"{\"number\":\"0\"}\n{\"number\":\"1\"}\n{\"number\":\"2\"}\n"}
{"packet":"profile_events","profile_events":[{"host_name":"localhost","current_time":"2026-07-11 00:00:00","thread_id":"0","type":"increment","name":"SelectedRows","value":"3"}]}
{"packet":"progress","progress":{"read_rows":"3","read_bytes":"24","total_rows_to_read":"3","result_rows":"3","result_bytes":"24","elapsed_ns":"1265958"}}

fsync_metadata

النوع
Bool
القيمة الافتراضية
1

يؤدي إلى تمكين fsync أو تعطيله عند كتابة ملفات .sql. ويكون مفعّلًا افتراضيًا.

قد يكون من المنطقي تعطيله إذا كان لدى الخادم ملايين الجداول الصغيرة التي تُنشأ وتُحذف باستمرار.

functions_h3_default_if_invalid

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.20إعداد جديد للسلوك القديم للسماح بتمرير مُدخلات غير صالحة إلى دوال h3

إذا كانت القيمة false، فستُصدر دوال h3، مثل h3CellAreaM2، استثناءً إذا كان الإدخال غير صالح. وإذا كانت القيمة true، فستُرجع 0 أو القيمة الافتراضية.

geo_distance_returns_float64_on_float64_arguments

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.31زيادة الدقة الافتراضية.

إذا كانت الوسيطات الأربع للدوال geoDistance وgreatCircleDistance وgreatCircleAngle كلها من النوع Float64، فستُرجِع Float64 وتستخدم دقة مضاعفة في العمليات الحسابية الداخلية. في إصدارات ClickHouse السابقة، كانت هذه الدوال تُرجِع دائمًا Float32.

geotoh3_argument_order

ميزة Beta
النوع
GeoToH3ArgumentOrder
القيمة الافتراضية
lat_lon
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.5lat_lonإعداد جديد للسلوك القديم لتحديد ترتيب الوسيطتين lon وlat

تقبل الدالة 'geoToH3' ‎(lon, lat)‎ إذا ضُبطت على 'lon_lat'، و‎(lat, lon)‎ إذا ضُبطت على 'lat_lon'.

glob_expansion_max_elements

النوع
UInt64
القيمة الافتراضية
1000

الحد الأقصى لعدد العناوين المسموح بها (مثل وحدات التخزين الخارجية ودوال الجداول وغيرها).

h3togeo_lon_lat_result_order

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.10إعداد جديد

تعيد الدالة 'h3ToGeo' القيمة ‎(lon, lat) إذا كانت القيمة true، وإلا فتُعيد ‎(lat, lon).

handshake_timeout_ms

النوع
مللي ثانية
القيمة الافتراضية
10000

مهلة الانتظار بالمللي ثانية لاستلام حزمة Hello من النسخ المتماثلة أثناء المصافحة.

hedged_connection_timeout_ms

النوع
مللي ثانية
القيمة الافتراضية
50
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
23.450ابدأ اتصالًا جديدًا في طلبات Hedged بعد 50 مللي ثانية بدلًا من 100، ليتوافق ذلك مع مهلة الاتصال السابقة

مهلة الاتصال لإنشاء اتصال مع نسخة متماثلة لطلبات Hedged

highlight_max_matches_per_row

النوع
UInt64
القيمة الافتراضية
10000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.410000إعداد جديد للحد من عدد المطابقات المبرزة في كل صف، للحماية من الإفراط في استخدام الذاكرة.

يحدد الحد الأقصى لعدد المطابقات المبرزة في كل صف في الدالة highlight. استخدمه للحماية من الإفراط في استخدام الذاكرة عند إبراز الأنماط كثيرة التكرار في النصوص الكبيرة.

القيم الممكنة:

  • عدد صحيح موجب.
النوع
UInt64
القيمة الافتراضية
256
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.10256إعداد جديد. سابقًا، كانت القيمة تُحدَّد اختياريًا في CREATE INDEX، وكانت القيمة الافتراضية 64.

حجم قائمة المرشحين الديناميكية عند البحث في فهرس تشابه المتجهات، ويُعرف أيضًا باسم 'ef_search'.

hsts_max_age

النوع
UInt64
القيمة الافتراضية
0

مدة انتهاء صلاحية HSTS. تعني القيمة 0 تعطيل HSTS.

idle_connection_timeout

النوع
UInt64
القيمة الافتراضية
3600

مهلة إغلاق اتصالات TCP الخاملة بعد عدد الثواني المحدد.

القيم الممكنة:

  • عدد صحيح موجب (0 - إغلاق فوري، بعد 0 ثانية).

inject_random_order_for_select_without_order_by

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.100إعداد جديد

إذا كان مُمكّنًا، فسيُدرج 'ORDER BY rand()' في استعلامات SELECT التي لا تحتوي على بند ORDER BY. يُطبَّق هذا فقط عندما يكون عمق الاستعلام الفرعي = 0. ولا تتأثر الاستعلامات الفرعية ولا INSERT INTO … SELECT. إذا كان التركيب على المستوى الأعلى هو UNION، فسيُدرج 'ORDER BY rand()' في جميع الفروع بشكل مستقل. هذا مفيد فقط لأغراض الاختبار والتطوير (إذ إن غياب ORDER BY يُعدّ مصدرًا لنتائج استعلام غير حتمية).

input_format

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لتجاوز تنسيق الإدخال للاستعلام.

يتجاوز تنسيق الإدخال للاستعلام، وله الأولوية على التنسيق المحدد فيه.

interactive_delay

النوع
UInt64
القيمة الافتراضية
100000

الفاصل الزمني بالميكروثانية للتحقق مما إذا كان تنفيذ الطلب قد أُلغي وإرسال معلومات التقدّم.

intersect_default_mode

النوع
SetOperationMode
القيمة الافتراضية
ALL

يُعيّن الوضع الافتراضي في استعلام INTERSECT. القيم الممكنة: سلسلة فارغة، 'ALL'، 'DISTINCT'. إذا كانت القيمة فارغة، فسيؤدي الاستعلام بدون وضع إلى إثارة استثناء.

least_greatest_legacy_null_behavior

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.120إعداد جديد

إذا كان هذا الإعداد ممكّنًا، فستُرجِع الدالتان 'least' و 'greatest' القيمة NULL إذا كانت إحدى وسيطاتهما NULL.

legacy_column_name_of_tuple_literal

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
21.70أضِف هذا الإعداد لأسباب التوافق فقط. من المنطقي ضبطه على 'true' أثناء إجراء تحديث متدرّج للعنقود من إصدار أقل من 21.7 إلى إصدار أعلى

أدرِج أسماء جميع عناصر قيم Tuple الحرفية الكبيرة في أسماء الأعمدة بدلًا من hash. هذا الإعداد موجود فقط لأسباب التوافق. من المنطقي ضبطه على 'true' أثناء إجراء تحديث متدرّج للعنقود من إصدار أقل من 21.7 إلى إصدار أعلى.

limit

النوع
Double
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80وُسّع النوع من UInt64 إلى Float لدعم القيم السالبة والكسرية، وتمريرها إلى دعم ClickHouse الأصلي للقيم السالبة/الكسرية في `LIMIT`.

يحدد الحد الأقصى لعدد الصفوف التي يمكن الحصول عليها من نتيجة الاستعلام. يضبط القيمة التي تعيّنها عبارة LIMIT. تُمرر القيمة إلى LIMIT، وتقبل كل ما تقبله LIMIT، بما في ذلك القيم السالبة (للعد من نهاية النتيجة) والكسور ضمن (0, 1) (وتُفسَّر على أنها نسبة من النتيجة).

القيم الممكنة:

  • 0 — عدد الصفوف غير محدود.
  • عدد صحيح موجب — العدد الدقيق للصفوف.
  • عدد صحيح سالب — إرجاع آخر N صفوف.
  • عدد حقيقي ضمن النطاق المفتوح (0, 1) — إرجاع تلك النسبة من النتيجة.

يؤثر هذا الإعداد في استعلامات SELECT / UNION التي تُنتج نتائج. بالنسبة إلى استعلام كتابة (INSERT … SELECT، CREATE … AS SELECT)، لا يسري مفعوله إلا إذا تضمّنه SELECT المصدر في عبارة SETTINGS الخاصة به؛ أما القيمة الموروثة من ملف تعريف أو جلسة، أو المعيّنة في تعليمة INSERT / CREATE نفسها، فلا تُنقل إلى SELECT المصدر — وهي قاعدة عدم النقل نفسها التي تنطبق على أي إعداد آخر.

load_marks_asynchronously

النوع
Bool
القيمة الافتراضية
0

تحميل علامات MergeTree بصورة غير متزامنة

القيمة الافتراضية في Cloud: 1.

lock_acquire_timeout

النوع
Seconds
القيمة الافتراضية
120

يحدّد عدد الثواني التي ينتظرها طلب القفل قبل أن يفشل.

تُستخدم مهلة القفل للحماية من حالات التوقف المتبادل أثناء تنفيذ عمليات القراءة والكتابة على الجداول. وعند انتهاء المهلة وفشل طلب القفل، يرفع خادم ClickHouse الاستثناء "Locking attempt timed out! Possible deadlock avoided. Client should retry." مع رمز الخطأ DEADLOCK_AVOIDED.

القيم الممكنة:

  • عدد صحيح موجب (بالثواني).
  • 0 — لا توجد مهلة للقفل.

low_priority_query_wait_time_ms

ميزة Beta
النوع
مللي ثانية
القيمة الافتراضية
1000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.41000إعداد جديد.

عند استخدام آلية تحديد أولويات الاستعلامات (راجع الإعداد priority)، تنتظر الاستعلامات منخفضة الأولوية حتى تنتهي الاستعلامات ذات الأولوية الأعلى. يحدّد هذا الإعداد مدة هذا الانتظار.

make_distributed_plan

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.50إعداد تجريبي جديد.

إنشاء خطة استعلام موزعة.

يؤدي تمكينه إلى ضبط الإعدادات التي تتحكم في الميزات التي لا تدعمها خطط الاستعلامات الموزعة بعد تلقائيًا:

  • enable_parallel_replicas = 0 وautomatic_parallel_replicas_mode = 0 — تتولى الخطة الموزعة توزيع العمل بنفسها؛
  • correlated_subqueries_use_in_memory_buffer = 0;
  • use_skip_indexes_on_data_read = 0;
  • compile_expressions = 0;
  • query_plan_direct_read_from_text_index = 0.

merge_table_max_tables_to_look_for_schema_inference

النوع
UInt64
القيمة الافتراضية
1000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.11000إعداد جديد

عند إنشاء جدول Merge من دون مخطط صريح، أو عند استخدام دالة الجدول merge، يُستنتج المخطط باعتباره اتحادًا لما لا يزيد على العدد المحدد من الجداول المطابقة. إذا كان عدد الجداول أكبر من ذلك، فسيُستنتج المخطط من أول عدد محدد من الجداول.

mongodb_throw_on_unsupported_query

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.91إعداد جديد.
24.101إعداد جديد.

إذا كان هذا الخيار مُمكّنًا، فستُرجِع جداول MongoDB خطأً عند تعذّر إنشاء استعلام MongoDB. وإلا، فسيقرأ ClickHouse الجدول بالكامل ويعالجه محليًا. لا ينطبق هذا الخيار عند تعيين 'allow_experimental_analyzer=0'.

multiple_joins_try_to_keep_original_names

النوع
Bool
القيمة الافتراضية
0

لا تُضِف أسماءً مستعارة إلى قائمة التعبيرات على المستوى الأعلى عند إعادة كتابة عمليات الربط المتعددة

normalize_function_names

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
21.31تطبيع أسماء الدوال إلى صيغها القياسية، وكان ذلك مطلوبًا لتوجيه استعلامات projection

تطبيع أسماء الدوال إلى صيغها القياسية

offset

النوع
Double
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80وُسِّع النوع من UInt64 إلى Float لدعم القيم السالبة والكسرية، وتُمرَّر القيمة كما هي إلى دعم ClickHouse الأصلي للقيم السالبة والكسرية في `OFFSET`.

يحدد عدد الصفوف التي يجب تخطيها قبل بدء إرجاع صفوف الاستعلام. يضبط الإزاحة التي تحددها عبارة OFFSET. تُمرَّر القيمة كما هي إلى OFFSET، وتقبل كل ما يقبله OFFSET، بما في ذلك القيم السالبة والكسور ضمن (0, 1).

القيم الممكنة:

  • 0 — لا يتم تخطي أي صفوف.
  • عدد صحيح موجب.
  • عدد صحيح سالب.
  • عدد حقيقي ضمن النطاق المفتوح (0, 1) — تُتخطى تلك النسبة من النتيجة.

مثال

جدول الإدخال:

CREATE TABLE test (i UInt64) ENGINE = MergeTree() ORDER BY i;
INSERT INTO test SELECT number FROM numbers(500);

استعلام:

SET limit = 5;
SET offset = 7;
SELECT * FROM test LIMIT 10 OFFSET 100;

النتيجة:

┌───i─┐
│ 107 │
│ 108 │
│ 109 │
└─────┘

يؤثر هذا الإعداد في استعلامات SELECT / UNION التي تُنتج نتائج. بالنسبة إلى استعلام كتابة (INSERT … SELECT, CREATE … AS SELECT)، لا يسري مفعوله إلا إذا تضمّنه SELECT المصدر في عبارة SETTINGS الخاصة به؛ أما القيمة الموروثة من ملف تعريف أو جلسة، أو المضبوطة في عبارة INSERT / CREATE نفسها، فلا تُنقل إلى SELECT المصدر — وهي قاعدة عدم النقل نفسها المطبقة على أي إعداد آخر.

order

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لإضافة عبارة `ORDER BY` حول استعلام.

يضيف عبارة ORDER BY إلى الاستعلام في صورة استعلام فرعي مُغلِّف. ويقبل قائمة من التعبيرات الاعتباطية.

هذا إعداد لبناء الاستعلامات يطبّقه المحرك على الاستعلام المُحلَّل، وذلك بتغليفه كجدول مشتق. لذلك يتوافق مع الاستعلام الحالي ويعمل مع جميع البروتوكولات: يمكن تمريره عبر معلمة HTTP URL، أو عبارة SETTINGS داخل الاستعلام، أو ملف تعريف مستخدم.

يؤثر في استعلامات SELECT / UNION التي تُنتج نتائج. أما في استعلامات الكتابة (INSERT … SELECT وCREATE … AS SELECT)، فلا يسري مفعوله إلا إذا تضمّن SELECT المصدر هذا الإعداد في عبارة SETTINGS الخاصة به. ولا يُنقل إلى SELECT المصدر أيٌّ من القيم الموروثة من ملف تعريف أو جلسة، أو المضبوطة في عبارة INSERT / CREATE نفسها، وهي قاعدة عدم النقل ذاتها التي تنطبق على أي إعداد آخر.

output_format

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لتجاوز تنسيق إخراج الاستعلام.

يتجاوز تنسيق إخراج الاستعلام، ويكون له الأولوية على التنسيق المحدد في الاستعلام أو امتداد الملف أو عبر default_format.

صفحة

النوع
Double
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80إعداد جديد لاستجابات HTTP المُقسَّمة إلى صفحات، وهو مكافئ لـ offset = limit * (page - 1). من النوع Float، لذا يمكنه استيعاب قيم سالبة أو كسرية (تُمرَّر إلى SQL `LIMIT`/`OFFSET`).

يعيّن رقم الصفحة للنتائج المُقسَّمة إلى صفحات. وهو مكافئ لـ offset = limit * (page - 1). لا يمكن تحديده إلا عند تعيين limit وعدم تعيين offset. تبدأ فهرسة الصفحات من 1. ويدعم القيم السالبة والكسرية كما في limit وoffset.

هذا إعداد لبناء الاستعلامات يطبّقه المحرّك على الاستعلام المُحلَّل، عبر تغليفه كجدول مشتق، لذا يتكامل مع الاستعلام الحالي ويعمل مع جميع البروتوكولات. ويمكن تمريره عبر معلمة URL لـ HTTP، أو عبارة SETTINGS داخل الاستعلام، أو ملف تعريف مستخدم.

ويؤثر في استعلامات SELECT / UNION التي تُنتج نتائج. أما في استعلامات الكتابة (INSERT … SELECT وCREATE … AS SELECT)، فلا يسري إلا إذا تضمّن SELECT المصدر هذا الإعداد في عبارة SETTINGS الخاصة به؛ إذ لا تُنقل القيمة الموروثة من ملف تعريف أو جلسة، أو المعيّنة في عبارة INSERT / CREATE نفسها، إلى SELECT المصدر — وهي قاعدة عدم النقل ذاتها المطبقة على أي إعداد آخر.

paimon_target_snapshot_id

ميزة تجريبية
النوع
Int64
القيمة الافتراضية
-1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.5-1إعداد جديد.

قراءة لقطة مستهدفة على مستوى الاستعلام لوضع Paimon التزايدي. عند القيمة >0، سيجلب القارئ فقط دلتا للـ snapshot_id المحدد دون تقديم المؤشر المائي المعتمد. القيمة الافتراضية: -1 (معطّل)

parallelize_output_from_storages

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
23.51السماح بالتوازي عند تنفيذ الاستعلامات التي تقرأ من file/URL/S3/etc. وقد يؤدي ذلك إلى إعادة ترتيب الصفوف.

موازاة المخرجات في خطوة القراءة من وحدات التخزين. يتيح هذا إجراء معالجة الاستعلامات بالتوازي مباشرةً بعد القراءة من وحدة التخزين، إذا أمكن ذلك

partial_result_on_first_cancel

النوع
Bool
القيمة الافتراضية
0

يسمح بإرجاع نتيجة جزئية للاستعلام بعد الإلغاء.

per_part_index_stats

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.80إعداد جديد.

يسجّل إحصاءات الفهرس لكل جزء

poll_interval

النوع
UInt64
القيمة الافتراضية
10

يُعلّق التنفيذ في حلقة انتظار الاستعلام على الخادم لعدد الثواني المحدد.

polyglot_dialect

ميزة تجريبية
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.3إعداد جديد لتحديد لهجة SQL المصدر لمحوّل polyglot.

لهجة SQL المصدر لمحوّل polyglot (مثل: 'sqlite' و'mysql' و'postgresql' و'snowflake' و'duckdb').

postgresql_fault_injection_probability

النوع
Float
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.20إعداد جديد

الاحتمال التقريبي لفشل استعلامات PostgreSQL الداخلية (المستخدمة في النسخ المتماثل). القيمة الصالحة ضمن النطاق [0.0f, 1.0f]

predicate_statistics_sample_rate

النوع
UInt64
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.50إعداد جديد لجمع إحصاءات انتقائية عبارات الشرط في system.predicate_statistics_log

يجمع إحصاءات انتقائية عبارات الشرط في system.predicate_statistics_log. عند تعيينه إلى N > 0، تُؤخذ عيّنة من نحو 1/N من الاستعلامات (استنادًا إلى معرّف الاستعلام). 0 يعني تعطيله.

prefetch_buffer_size

النوع
UInt64
القيمة الافتراضية
1048576

الحد الأقصى لحجم مخزن الجلب المسبق المؤقت المستخدم للقراءة من نظام الملفات. تُقيَّد القيم التي تتجاوز 256 MiB عند 256 MiB، لأن مخزن القراءة المؤقت لا يحتاج مطلقًا إلى حجم أكبر.

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.11تجربة مستخدم أفضل.

يسمح بعرض أسماء الأنواع المتداخلة بعمق بصورة منسقة مع مسافات بادئة في query DESCRIBE وفي الدالة toTypeName().

مثال:

CREATE TABLE test (a Tuple(b String, c Tuple(d Nullable(UInt64), e Array(UInt32), f Array(Tuple(g String, h Map(String, Array(Tuple(i String, j UInt64))))), k Date), l Nullable(String))) ENGINE=Memory;
DESCRIBE TABLE test FORMAT TSVRaw SETTINGS print_pretty_type_names=1;
a   Tuple(
    b String,
    c Tuple(
        d Nullable(UInt64),
        e Array(UInt32),
        f Array(Tuple(
            g String,
            h Map(
                String,
                Array(Tuple(
                    i String,
                    j UInt64
                ))
            )
        )),
        k Date
    ),
    l Nullable(String)
)

priority

النوع
UInt64
القيمة الافتراضية
0

priority الاستعلام. 1 هي الأعلى، وكلما زادت القيمة انخفضت priority؛ 0 يعني عدم استخدام الأولويات.

push_external_roles_in_interserver_queries

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.111إعداد جديد.

تمكين تمرير أدوار المستخدم من العقدة المُرسِلة إلى العُقد الأخرى أثناء تنفيذ استعلام.

query_metric_log_interval

النوع
Int64
القيمة الافتراضية
-1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.10-1إعداد جديد.

الفاصل الزمني، بالمللي ثانية، الذي تُجمع عنده بيانات query_metric_log لكل استعلام على حدة.

إذا ضُبطت هذه القيمة على أي قيمة سالبة، فستأخذ قيمة collect_interval_milliseconds من إعداد query_metric_log، أو ستُستخدم القيمة الافتراضية 1000 إذا لم تكن موجودة.

لتعطيل جمع البيانات لاستعلام واحد، اضبط query_metric_log_interval على 0.

القيمة الافتراضية: -1

queue_max_wait_ms

النوع
ميلي ثانية
القيمة الافتراضية
0

مدة الانتظار في قائمة انتظار الطلبات، إذا تجاوز عدد الطلبات المتزامنة الحد الأقصى.

rabbitmq_max_wait_ms

النوع
مللي ثانية
القيمة الافتراضية
5000

مدة الانتظار لقراءة البيانات من RabbitMQ قبل إعادة المحاولة.

readonly

النوع
UInt64
القيمة الافتراضية
0

0 - لا توجد أي قيود على وضع القراءة فقط. 1 - يُسمح فقط بطلبات القراءة، وكذلك بتغيير الإعدادات المسموح بها صراحةً. 2 - يُسمح فقط بطلبات القراءة، وكذلك بتغيير الإعدادات، باستثناء الإعداد 'readonly'.

recursive_cte_max_steps_in_type_inference

النوع
UInt64
القيمة الافتراضية
10
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.510الحد الأقصى لعدد التكرارات لاستنتاج أنواع الأعمدة في تعبيرات الجدول الشائعة التعاودية باستخدام `getLeastSupertype` بشكل تكراري

الحد الأقصى لعدد التكرارات لاستنتاج أنواع الأعمدة في تعبيرات الجدول الشائعة التعاودية. تُحدَّد أنواع الأعمدة عبر تطبيق getLeastSupertype تكراريًا على الطرفين غير التعاودي والتعاودي من UNION ALL حتى الوصول إلى حالة الاستقرار. اضبط القيمة على 0 لتعطيل توسيع الأنواع والاكتفاء بالأنواع من الجزء غير التعاودي فقط.

regexp_max_matches_per_row

النوع
UInt64
القيمة الافتراضية
1000

يحدّد الحد الأقصى لعدد المطابقات لتعبير نمطي واحد في كل صف. استخدمه للحماية من الاستهلاك المفرط للذاكرة عند استخدام تعبير نمطي جشع في الدالة extractAllGroupsHorizontal.

القيم الممكنة:

  • عدد صحيح موجب.

reject_expensive_hyperscan_regexps

النوع
Bool
القيمة الافتراضية
1

استبعِد الأنماط التي يُحتمل أن يكون تقييمها مكلفًا باستخدام hyperscan (بسبب التضخم في حالات NFA)

remerge_sort_lowered_memory_bytes_ratio

النوع
Float
القيمة الافتراضية
2

إذا لم ينخفض استهلاك الذاكرة بعد إعادة الدمج بهذه النسبة، فسيتم تعطيل إعادة الدمج.

remote_read_min_bytes_for_seek

النوع
UInt64
القيمة الافتراضية
4194304

الحد الأدنى من البايتات المطلوب للقراءة عن بُعد (URL، S3) لإجراء seek بدلًا من القراءة مع ignore.

rename_files_after_processing

  • النوع: String

  • القيمة الافتراضية: سلسلة فارغة

يتيح هذا الإعداد تحديد نمط لإعادة تسمية الملفات التي تعالجها دالة الجدول file. عند تعيين هذا الخيار، ستُعاد تسمية جميع الملفات التي تقرؤها دالة الجدول file وفقًا للنمط المحدد باستخدام العناصر النائبة، وذلك فقط إذا تمت معالجة الملفات بنجاح.

العناصر النائبة

  • %a — اسم الملف الأصلي كاملًا (على سبيل المثال، "sample.csv").
  • %f — اسم الملف الأصلي بدون امتداد (على سبيل المثال، "sample").
  • %e — امتداد الملف الأصلي متضمّنًا النقطة (على سبيل المثال، ".csv").
  • %t — الطابع الزمني (بالميكروثانية).
  • %% — علامة النسبة المئوية ("%").

مثال

  • الخيار: --rename_files_after_processing="processed_%f_%t%e"

  • الاستعلام: SELECT * FROM file('sample.csv')

إذا تمت قراءة sample.csv بنجاح، فسيُعاد تسمية الملف إلى processed_sample_1683473210851438.csv

replication_wait_for_inactive_replica_timeout

النوع
Int64
القيمة الافتراضية
120

يحدّد مدة الانتظار (بالثواني) حتى تنفّذ النسخ المتماثلة غير النشطة استعلامات ALTER أو OPTIMIZE أو TRUNCATE.

القيم الممكنة:

  • 0 — عدم الانتظار.
  • عدد صحيح سالب — الانتظار لمدة غير محدودة.
  • عدد صحيح موجب — عدد الثواني المطلوب انتظارها.

reserve_memory

ميزة تجريبية
النوع
UInt64
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.70إعداد جديد لحجز الذاكرة لعبء عمل محدد قبل بدء استعلام.

يُستخدم هذا الإعداد في جدولة أعباء العمل. وهو الحد الأدنى من RAM المحجوزة لاستخدامها لتشغيل استعلام على خادم واحد. ويُجرى الحجز عبر التسلسل الهرمي لـ WORKLOAD باستخدام قيمة إعداد الاستعلام workload. إذا لم تكن هناك ذاكرة كافية متاحة لعبء العمل، فسيُمنع الاستعلام من البدء وينتظر في حالة pending إلى أن يمكن تلبية الحجز. تعني القيمة 0 عدم وجود حجز. لا يسري هذا الإعداد إلا إذا تم إنشاء مورد MEMORY RESERVATION.

restore_replicated_merge_tree_to_shared_merge_tree

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.20إعداد جديد.

استبدال محرك الجدول من ReplicatedMergeTree إلى SharedMergeTree أثناء RESTORE.

القيمة الافتراضية في Cloud: 1.

result_overflow_mode

النوع
OverflowMode
القيمة الافتراضية
throw

يحدّد ما يجب فعله إذا تجاوز حجم النتيجة أحد الحدود.

القيم الممكنة:

  • throw: يرفع استثناءً (الافتراضي).
  • break: يوقف تنفيذ الاستعلام ويُرجع نتيجة جزئية، كما لو أن البيانات المصدرية قد نفدت.

يشبه استخدام 'break' استخدام LIMIT. ولا يوقف Break التنفيذ إلا على مستوى الكتلة. وهذا يعني أن عدد الصفوف المُعادة يكون أكبر من max_result_rows، ومن مضاعفات max_block_size ويعتمد على max_threads.

مثال

Querysql
SET max_threads = 3, max_block_size = 3333;
SET max_result_rows = 3334, result_overflow_mode = 'break';

SELECT *
FROM numbers_mt(100000)
FORMAT Null;
Resulttext
6666 rows in set. ...

resumable_backup_from_snapshot

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80إعداد تجريبي جديد لتمكين `BACKUP FROM SNAPSHOT` القابل للاستئناف.

يتيح BACKUP FROM SNAPSHOT القابل للاستئناف: إذ يمكن إعادة تشغيل محاولة فاشلة دون إعادة نسخ إدخالات الدفعات التي اكتملت بالفعل. يتوفر فقط في ClickHouse Cloud، لوجهات S3 وAzureBlobStorage بنمط الدليل. يؤدي تمكينه في إصدارات ClickHouse مفتوحة المصدر، حيث لا يتوفر BACKUP FROM SNAPSHOT نفسه، إلى فشل BACKUP مع WRONG_BACKUP_SETTINGS.

rows_before_aggregation

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.80يوفّر قيمة دقيقة لإحصائية rows_before_aggregation، التي تمثل عدد الصفوف المقروءة قبل التجميع

عند التمكين، يوفّر ClickHouse قيمة دقيقة لإحصائية rows_before_aggregation، التي تمثل عدد الصفوف المقروءة قبل التجمي

run_query_in_background

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80إعداد جديد لتشغيل استعلام في الخلفية، منفصلًا عن الاتصال الذي أرسله، مع تجاهل النتيجة.

عند تفعيله، يجدول الخادم الاستعلام في الخلفية، ويُرجع فورًا نتيجة نجاح فارغة، ثم يشغّل الاستعلام حتى اكتماله بغض النظر عما يحدث للاتصال.

لا يستمر الاستعلام الذي يعمل في الخلفية بعد إعادة تشغيل الخادم. وعند إيقاف التشغيل، تنطبق عليه إعدادات الخادم نفسها المطبقة على الاستعلامات التي تعمل في المقدمة: يحدد shutdown_wait_unfinished_queries ما إذا كان سيُلغى أو سيُنتظر حتى اكتماله (وتُهمل الإدخالات الموجودة في قائمة الانتظار في كلتا الحالتين، من دون إدخال في system.query_log)، بينما يحد shutdown_wait_unfinished المدة التي ينتظرها الخادم.

تتبّع الاستعلام باستخدام query_id الخاص به: في system.processes أثناء تشغيله، وفي system.query_log بعد انتهائه وتفريغ إدخال سجل الاستعلام.

ينطبق على الاستعلامات المستلمة عبر بروتوكولي TCP الأصلي وHTTP. وعبر HTTP، مرّر الإعداد كمعلمة URL. لا يمكن تغييره باستخدام SET؛ فعّله لكل استعلام، أو على مستوى المستخدم أو ملف التعريف.

حالة الاستخدام الرئيسية هي عملية INSERT ... SELECT طويلة يجب ألا تضيع عند انقطاع اتصال العميل.

secondary_indices_enable_bulk_filtering

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.51خوارزمية جديدة للتصفية بواسطة فهارس تخطي البيانات

يُفعِّل خوارزمية التصفية المجمّعة للفهارس. ومن المتوقع أن تكون أفضل دائمًا، لكن هذا الإعداد متاح لأغراض التوافق والتحكم.

select

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لتغليف استعلام داخل `SELECT <expr_list> FROM (<query>)`.

يغلّف الاستعلام كاستعلام فرعي بقائمة تعبيرات SELECT صريحة. وعندما لا يكون فارغًا، يُغلَّف الاستعلام الذي يُنتج النتائج على النحو التالي: SELECT <expr_list> FROM (<query>).

هذا إعداد لبناء الاستعلامات يطبّقه المحرك على الاستعلام المُحلَّل، عبر تغليفه كجدول مشتق. لذلك، فهو يتكامل مع الاستعلام الحالي ويعمل عبر جميع البروتوكولات؛ إذ يمكن تمريره عبر معلمة HTTP URL، أو عبارة SETTINGS داخل الاستعلام، أو ملف تعريف المستخدم.

يحدّد بنية استعلامات SELECT / UNION التي تُنتج نتائج. أما في استعلامات الكتابة (INSERT … SELECT، CREATE … AS SELECT)، فلا يسري إلا إذا تضمّنه SELECT المصدر في عبارة SETTINGS الخاصة به. ولا تُنقل إلى SELECT المصدر قيمة موروثة من ملف تعريف أو جلسة، أو قيمة محددة في عبارة INSERT / CREATE نفسها، وهي قاعدة عدم النقل ذاتها التي تنطبق على أي إعداد آخر.

select_sequential_consistency

النوع
UInt64
القيمة الافتراضية
0

يمكّن أو يعطّل الاتساق التسلسلي لاستعلامات SELECT. ويتطلب ذلك تعطيل insert_quorum_parallel (وهو مُمكَّن افتراضيًا).

القيم الممكنة:

  • 0 — معطّل.
  • 1 — مُمكَّن.

الاستخدام

عند تمكين الاتساق التسلسلي، لا يسمح ClickHouse للعميل بتنفيذ استعلام SELECT إلا على النسخ المتماثلة التي تحتوي على بيانات جميع استعلامات INSERT السابقة المُنفَّذة باستخدام insert_quorum. وإذا أشار العميل إلى نسخة متماثلة غير مكتملة، فسينشئ ClickHouse استثناءً. ولن يتضمن استعلام SELECT البيانات التي لم تُكتب بعد إلى نصاب النسخ المتماثلة.

عندما يكون insert_quorum_parallel مُمكَّنًا (وهو الإعداد الافتراضي)، فإن select_sequential_consistency لا يعمل. ويعود ذلك إلى أن استعلامات INSERT المتوازية قد تُكتب إلى مجموعات مختلفة من النسخ المتماثلة ضمن النصاب، لذلك لا يوجد ما يضمن أن نسخة متماثلة واحدة قد استلمت جميع عمليات الكتابة.

انظر أيضًا:

session_timezone

ميزة Beta

يضبط المنطقة الزمنية الضمنية للجلسة الحالية أو للاستعلام الحالي. المنطقة الزمنية الضمنية هي المنطقة الزمنية المُطبَّقة على القيم من النوع DateTime/DateTime64 التي لا تكون لها منطقة زمنية محددة صراحةً. يتقدّم هذا الإعداد على المنطقة الزمنية الضمنية المضبوطة عمومًا (على مستوى الخادم). تعني القيمة '' (سلسلة فارغة) أن المنطقة الزمنية الضمنية للجلسة الحالية أو للاستعلام الحالي تساوي المنطقة الزمنية للخادم.

يمكنك استخدام الدالتين timeZone() وserverTimeZone() للحصول على المنطقة الزمنية للجلسة والمنطقة الزمنية للخادم.

القيم الممكنة:

  • أي اسم منطقة زمنية من system.time_zones، مثل Europe/Berlin أو UTC أو Zulu

أمثلة:

SELECT timeZone(), serverTimeZone() FORMAT CSV

"Europe/Berlin","Europe/Berlin"
SELECT timeZone(), serverTimeZone() SETTINGS session_timezone = 'Asia/Novosibirsk' FORMAT CSV

"Asia/Novosibirsk","Europe/Berlin"

عيّن المنطقة الزمنية للجلسة 'America/Denver' لقيمة DateTime الداخلية من دون تحديد المنطقة الزمنية صراحةً:

SELECT toDateTime64(toDateTime64('1999-12-12 23:23:23.123', 3), 3, 'Europe/Zurich') SETTINGS session_timezone = 'America/Denver' FORMAT TSV

1999-12-13 07:23:23.123
CREATE TABLE test_tz (`d` DateTime('UTC')) ENGINE = Memory AS SELECT toDateTime('2000-01-01 00:00:00', 'UTC');

SELECT *, timeZone() FROM test_tz WHERE d = toDateTime('2000-01-01 00:00:00') SETTINGS session_timezone = 'Asia/Novosibirsk'
0 rows in set.

SELECT *, timeZone() FROM test_tz WHERE d = '2000-01-01 00:00:00' SETTINGS session_timezone = 'Asia/Novosibirsk'

يحدث هذا بسبب اختلاف مسارات التحليل:

  • إن toDateTime() من دون تحديد time zone صراحةً، والمستخدمة في استعلام SELECT الأول، تراعي الإعداد session_timezone والمنطقة الزمنية العامة.
  • في الاستعلام الثاني، يُحلَّل DateTime من String، ويرث النوع والمنطقة الزمنية للعمود الحالي d. لذلك، لا يُراعى الإعداد session_timezone ولا المنطقة الزمنية العامة.

انظر أيضًا

set_overflow_mode

النوع
OverflowMode
القيمة الافتراضية
throw

يحدد ما يحدث عندما تتجاوز كمية البيانات أحد الحدود.

القيم الممكنة:

  • throw: رفع استثناء (الافتراضي).
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية، كما لو أن بيانات المصدر قد نفدت.

single_join_prefer_left_table

النوع
Bool
القيمة الافتراضية
1

عند وجود JOIN واحدة، وفي حال التباس المعرّف، فَضِّل الجدول الأيسر

skip_redundant_aliases_in_udf

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.120عند التمكين، يتيح لك هذا استخدام الدالة المعرّفة من قبل المستخدم نفسها عدة مرات مع عدة أعمدة مُجسَّدة في الجدول نفسه.

لا تُستخدم الأسماء المستعارة الزائدة (ولا يُستعاض بها) في الدوال المعرّفة من قبل المستخدم، وذلك لتبسيط استخدامها.

القيم الممكنة:

  • 1 — يتم تجاوز الأسماء المستعارة (الاستعاضة عنها) في UDFs.
  • 0 — لا يتم تجاوز الأسماء المستعارة (الاستعاضة عنها) في UDFs.

مثال

الفرق بين حالتي التمكين والتعطيل:

الاستعلام:

SET skip_redundant_aliases_in_udf = 0;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));

EXPLAIN SYNTAX SELECT test_03274(4 + 2);

النتيجة:

SELECT ((4 + 2) + 1 AS y, y + 2)

الاستعلام:

SET skip_redundant_aliases_in_udf = 1;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));

EXPLAIN SYNTAX SELECT test_03274(4 + 2);

النتيجة:

SELECT ((4 + 2) + 1, ((4 + 2) + 1) + 2)

sleep_after_receiving_query_ms

النوع
مللي ثانية
القيمة الافتراضية
0

مدة الانتظار بعد استلام الاستعلام في TCPHandler

snappy_mode

النوع
SnappyMode
القيمة الافتراضية
basic
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.7basicإعداد جديد للتحكم في تنسيق wire المستخدم لضغط snappy في عمليات إدخال/إخراج الملفات العامة وعمليات إدخال/إخراج URL. تحافظ القيمة الافتراضية `basic` على التوافق مع قراءات تنسيق كتل Hadoop snappy المتوافقة مع الإصدارات السابقة؛ بينما يستخدم HTTP `Content-Encoding: snappy` دائمًا تنسيق framing بغضّ النظر عن هذا الإعداد.

يتحكم هذا الإعداد في تنسيق wire المستخدم لضغط snappy لمسارات إدخال/إخراج الملفات العامة مثل file وurl. ويستخدم HTTP Content-Encoding: snappy دائمًا تنسيق framing ويتجاهل هذا الإعداد.

لاحظ أن تنسيق كتل snappy الخام الناتج عن استدعاء واحد لـ snappy::Compress (على سبيل المثال، حمولات بروتوكول Prometheus البعيد التي يتعامل معها SnappyBasicReadBuffer) هو تنسيق wire منفصل وخاص بالبروتوكول، ولا يتحكم فيه هذا الإعداد.

القيم الممكنة:

  • basic — تنسيق كتل Hadoop snappy. متوافق مع الملفات التي يقرأها Hadoop ويكتبها. يدعم القراءة والكتابة.
  • framed — تنسيق framing لـ Snappy، وهو تنسيق البث القياسي الذي تحدده Google. يدعم القراءة والكتابة.

sort

سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.8إعداد جديد لإضافة عبارة ORDER BY بسيطة حول استعلام.

يضيف عبارة ORDER BY بسيطة إلى الاستعلام عبر تغليفه باستعلام فرعي. يقبل قائمة مفصولة بفواصل من المعرّفات أو مراجع الأعمدة الموضعية (أعداد صحيحة موجبة)، مع بادئة اختيارية + (ASC) أو - (DESC). مثال: يرتّب sort=a,-b حسب a تصاعديًا وb تنازليًا، بينما يرتّب sort=1,-2 حسب العمود الأول تصاعديًا والثاني تنازليًا. لا يمكن دمجه مع order.

هذا إعداد لبناء الاستعلامات يطبّقه المحرك على الاستعلام المُحلَّل، وذلك بتغليفه كجدول مشتق؛ لذا فهو يتكامل مع الاستعلام الحالي ويعمل عبر جميع البروتوكولات. يمكن تحديده عبر معلمة HTTP URL، أو عبارة SETTINGS داخل الاستعلام، أو ملف تعريف المستخدم.

يؤثر في استعلامات SELECT / UNION التي تُنتج نتائج. أما في استعلامات الكتابة (INSERT … SELECT، CREATE … AS SELECT)، فلا يسري إلا إذا كان SELECT المصدر يتضمنه في عبارة SETTINGS الخاصة به؛ ولا تُنقل إلى SELECT المصدر قيمة موروثة من ملف تعريف أو جلسة، أو قيمة محددة في عبارة INSERT / CREATE نفسها — وهي قاعدة عدم النقل ذاتها التي تنطبق على أي إعداد آخر.

sort_overflow_mode

النوع
OverflowMode
القيمة الافتراضية
throw

يحدّد ما يحدث إذا تجاوز عدد الصفوف المستلَمة قبل الفرز أحد الحدود القصوى.

القيم الممكنة:

  • throw: إثارة استثناء.
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية.

splitby_max_substrings_includes_remaining_string

النوع
Bool
القيمة الافتراضية
0

يتحكم هذا الإعداد في ما إذا كانت الدالة splitBy*() التي تستخدم الوسيط max_substrings > 0 ستضمّن السلسلة المتبقية في العنصر الأخير من مصفوفة النتيجة.

القيم الممكنة:

  • 0 - لن تُضمَّن السلسلة المتبقية في العنصر الأخير من مصفوفة النتيجة.
  • 1 - ستُضمَّن السلسلة المتبقية في العنصر الأخير من مصفوفة النتيجة. هذا هو سلوك الدالة split() في Spark والطريقة 'string.split()' في بايثون.

statistics_max_set_size_for_exact_selectivity_estimation

النوع
UInt64
القيمة الافتراضية
10000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.810000إعداد جديد للحد من تكلفة تقدير انتقائية `IN` عند استخدام مجموعة كبيرة: فوق هذا الحد، يستخدم المقدِّر حجم المجموعة ونطاقها الحدي بدلًا من النطاقات الدقيقة. قبل الإصدار 26.8، لم يكن التقدير مقيّدًا، لذا كانت القيمة السابقة 0 (بلا حد)، ويؤدي استخدام `compatibility` مع إصدار أقدم إلى استعادة النطاقات الدقيقة للمجموعات مهما كان حجمها.

الحد الأقصى لحجم المجموعة في الطرف الأيمن من عامل التشغيل IN الذي يمكن لمقدِّر الانتقائية عنده اشتقاق النطاقات الدقيقة التي تغطيها المجموعة. يتطلب اشتقاق هذه النطاقات Field لكل عنصر، وفرزًا، ومسبار إحصاءات واحدًا لكل عنصر، وهي تكلفة تهيمن على تخطيط الاستعلام عند استخدام مجموعة كبيرة. فوق هذا الحد، يستمد المقدِّر الانتقائية من حجم المجموعة ونطاقها الحدي بدلًا من ذلك، وذلك بتمرير خطي واحد على المجموعة دون فرز أو مسابير إحصاءات لكل عنصر. يشير الصفر إلى عدم وجود حد.

stop_refreshable_materialized_views_on_startup

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
0

عند بدء تشغيل الخادم، يمنع جدولة طرق العرض المادية القابلة للتحديث، كما لو تم استخدام SYSTEM STOP VIEWS. ويمكنك تشغيلها يدويًا بعد ذلك باستخدام SYSTEM START VIEWS أو SYSTEM START VIEW <name>. وينطبق ذلك أيضًا على طرق العرض المنشأة حديثًا. ولا يؤثر هذا في طرق العرض المادية غير القابلة للتحديث.

tcp_keep_alive_timeout

النوع
ثوانٍ
القيمة الافتراضية
290

الوقت بالثواني الذي يجب أن يبقى فيه الاتصال خاملاً قبل أن يبدأ TCP في إرسال مجسّات keepalive

temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds

النوع
UInt64
القيمة الافتراضية
600000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.4600000مدة الانتظار لقفل ذاكرة التخزين المؤقت لنظام الملفات عند حجز مساحة للبيانات المؤقتة

مدة الانتظار لقفل ذاكرة التخزين المؤقت لنظام الملفات عند حجز مساحة للبيانات المؤقتة

throw_if_no_data_to_insert

النوع
Bool
القيمة الافتراضية
1

يسمح بعمليات INSERT الفارغة أو يمنعها، وهو مفعّل افتراضيًا (ويؤدي إلى ظهور خطأ عند تنفيذ عملية insert فارغة). لا ينطبق هذا إلا على عمليات INSERT التي تستخدم clickhouse-client أو واجهة gRPC.

time_series_prefer_recent_samples_table

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد للقراءة من جدول العينات الحديثة لجدول TimeSeries عندما يقع النطاق الزمني المطلوب ضمن نافذة TTL الخاصة به.

اقرأ من جدول العينات الحديثة لجدول TimeSeries بدلاً من جدول العينات الرئيسي عندما يقع النطاق الزمني المطلوب بالكامل ضمن نافذة TTL لجدول العينات الحديثة (راجع إعداد recent_samples_ttl_seconds لمحرك الجدول TimeSeries).

timeout_before_checking_execution_speed

النوع
ثوانٍ
القيمة الافتراضية
10

يتحقق من أن سرعة التنفيذ ليست منخفضة جدًا (أي لا تقل عن min_execution_speed)، وذلك بعد انقضاء الوقت المحدد بالثواني.

transfer_overflow_mode

النوع
OverflowMode
القيمة الافتراضية
throw

تحدد ما يحدث عند تجاوز كمية البيانات أحد الحدود.

القيم الممكنة:

  • throw: إثارة استثناء (الافتراضي).
  • break: إيقاف تنفيذ الاستعلام وإرجاع نتيجة جزئية، كما لو كانت بيانات المصدر قد نفدت.

transform_null_in

النوع
Bool
القيمة الافتراضية
0

يُمكّن اعتبار قيم NULL متساوية عند استخدام عامل التشغيل IN.

بشكل افتراضي، لا يمكن مقارنة قيم NULL لأن NULL تعني قيمة غير معرّفة. لذلك، يجب أن تُرجع المقارنة expr = NULL دائمًا false. ومع هذا الإعداد، تُرجع NULL = NULL القيمة true مع عامل التشغيل IN.

القيم الممكنة:

  • 0 — تُرجع مقارنة قيم NULL في عامل التشغيل IN القيمة false.
  • 1 — تُرجع مقارنة قيم NULL في عامل التشغيل IN القيمة true.

مثال

لنأخذ الجدول null_in:

┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
│    3 │     3 │
└──────┴───────┘

الاستعلام:

SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 0;

النتيجة:

┌──idx─┬────i─┐
│    1 │    1 │
└──────┴──────┘

الاستعلام:

SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;

النتيجة:

┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
└──────┴───────┘

انظر أيضًا

traverse_shadow_remote_data_paths

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.30اجتز دليل الظل عند تنفيذ استعلام على system.remote_data_paths.

اجتز البيانات المجمّدة (دليل الظل) بالإضافة إلى بيانات الجدول الفعلية عند تنفيذ استعلام على system.remote_data_paths

union_default_mode

يحدد وضعًا لدمج نتائج استعلام SELECT. لا يُستخدم هذا الإعداد إلا مع UNION عند عدم تحديد UNION ALL أو UNION DISTINCT صراحةً.

القيم المحتملة:

  • 'DISTINCT' — يُخرج ClickHouse الصفوف الناتجة عن دمج الاستعلامات بعد إزالة الصفوف المكررة.
  • 'ALL' — يُخرج ClickHouse جميع الصفوف الناتجة عن دمج الاستعلامات، بما في ذلك الصفوف المكررة.
  • '' — يُنشئ ClickHouse استثناءً عند استخدامه مع UNION.

راجع الأمثلة في UNION.

unknown_packet_in_send_data

النوع
UInt64
القيمة الافتراضية
0

أرسل حزمة غير معروفة بدلًا من حزمة البيانات رقم N

variant_throw_on_type_mismatch

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.41إعداد جديد للتحكم في سلوك عدم تطابق الأنواع في التنفيذ الافتراضي لـ Variant

عند تطبيق دالة على عمود Variant باستخدام التنفيذ الافتراضي، يحدد هذا الإعداد ما يحدث للصفوف التي يكون نوعها الفعلي غير متوافق مع الدالة:

  • true (الافتراضي) — طرح استثناء.
  • false — إرجاع NULL لهذه الصفوف بدلًا من ذلك.

wait_changes_become_visible_after_commit_mode

ميزة تجريبية
النوع
TransactionsWaitCSNMode
القيمة الافتراضية
wait_unknown

انتظر حتى تصبح التغييرات التي تم تثبيتها مرئية فعليًا في أحدث لقطة

عبء العمل

النوع
String
القيمة الافتراضية
default

اسم عبء العمل المُستخدَم للوصول إلى الموارد

write_full_path_in_iceberg_metadata

ميزة تجريبية
النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.80إعداد جديد.

يكتب المسارات الكاملة (بما في ذلك s3://) في ملفات البيانات الوصفية لـ Iceberg.

zstd_window_log_max

النوع
Int64
القيمة الافتراضية
0

يسمح لك بتحديد القيمة القصوى لـ window log في ZSTD (لن يُستخدم مع عائلة MergeTree)

Navigation