Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة allow_*

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

allow_aggregate_partitions_independently

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.71تمكين التجميع المستقل لكل partition افتراضيًا عندما يكون مفتاح partition مناسبًا لمفتاح `GROUP BY`. تقوم آليات الاستدلال الحالية في بيئة التشغيل ضمن `ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` بالفعل بتخطي هذا التحسين عندما يكون تخطيط partition غير ملائم (عدد قليل جدًا من partitions، أو عدد كبير جدًا منها، أو أحجام partitions غير متوازنة بشكل ملحوظ)، لذا فإن تمكين هذا الإعداد آمن في الحالات التي كان سيكون فيها بخلاف ذلك no-op.

تمكين التجميع المستقل لـ partitions على threads منفصلة عندما يكون مفتاح partition مناسبًا لمفتاح GROUP BY. يكون ذلك مفيدًا عندما يكون عدد partitions قريبًا من عدد الأنوية وتكون أحجام partitions متقاربة إلى حدٍّ ما. تقوم الآليات الاستدلالية في ReadFromMergeTree تلقائيًا بتعطيل هذا التحسين في التخطيطات غير الملائمة (عدد قليل جدًا من partitions، أو عدد كبير جدًا منها، أو أحجام partitions غير متوازنة بشكل ملحوظ)؛ راجع force_aggregate_partitions_independently لتجاوز هذه الفحوصات.

allow_archive_path_syntax

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.81أُضيف إعداد جديد للسماح بتعطيل بنية مسار الأرشيف.
24.51أُضيف إعداد جديد للسماح بتعطيل بنية مسار الأرشيف.

ستفسّر محركات File/S3/دالة الجدول المسارات التي تحتوي على '::' على أنها <archive> :: <file> إذا كان للأرشيف امتداد صحيح.

allow_asynchronous_read_from_io_pool_for_merge_tree

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

استخدم مجموعة I/O في الخلفية للقراءة من جداول MergeTree. قد يؤدي هذا الإعداد إلى تحسين الأداء للاستعلامات المقيّدة بعمليات I/O

allow_calculating_subcolumns_sizes_for_merge_tree_reading

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.31السماح بحساب أحجام الأعمدة الفرعية لقراءة MergeTree لتحسين تقسيم مهام القراءة

عند التمكين، سيحسب ClickHouse أحجام الملفات المطلوبة لقراءة كل عمود فرعي، لتحسين حساب أحجام المهام والكتل.

allow_changing_replica_until_first_data_packet

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

إذا كان هذا الإعداد مُمكّنًا، ففي الطلبات المتحوّطة يمكننا بدء connection جديد حتى استلام أول packet بيانات، حتى لو كنّا قد أحرزنا بعض التقدّم بالفعل (لكن لم يتم تحديث التقدّم خلال مهلة receive_data_timeout)؛ وإلا فسنُعطّل تغيير الـ replica بعد أول مرة نُحرز فيها تقدّمًا.

allow_create_index_without_type

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

يسمح بتنفيذ استعلام CREATE INDEX بدون TYPE. سيتم تجاهل الاستعلام. وُضع هذا لأغراض اختبار التوافق مع SQL.

allow_creating_set_partitions_independently

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد لتمكين إزالة التكرار المسبقة والمتوازية لكل partition من نتيجة الاستعلام الفرعي عند بناء المجموعة لـ `IN (subquery)`، عندما يكون تعبير partition دالة حتمية لأعمدة إخراج الاستعلام الفرعي.

يتيح إزالة التكرار المسبقة والمتوازية لكل partition من نتيجة الاستعلام الفرعي عند بناء المجموعة لـ IN (subquery)، عندما يكون تعبير partition في جدول MergeTree الخاص بالاستعلام الفرعي دالة حتمية لأعمدة إخراج الاستعلام الفرعي. يُقرأ كل partition عبر تدفق منفصل وتُزال تكراراته بشكل مستقل، لذلك لا يحسب تحويل ملء المجموعة الوحيد التجزئة إلا للصفوف الفريدة. لا يُطبَّق مع FINAL أو النسخ المتماثلة المتوازية أو GLOBAL IN. لا يطلب التحسين القراءة لكل partition إلا عندما تحتوي البيانات على أكثر من partition واحد، ولا يتجاوز عدد صفوف أكبر partition ضعف عدد صفوف partition المتوسط (راجع force_creating_set_partitions_independently لتجاوز فحص عدم التوازن). وعندما تكون التدفقات منفصلة بحسب partition أصلًا لأن ميزة أخرى لكل partition قد فصلتها (مثل LIMIT BY لكل partition)، تُطبَّق إزالة التكرار المسبقة بغض النظر عن ذلك، لأن تخطيط القراءة محدد مسبقًا. أثناء بناء المجموعة، تحتفظ جداول إزالة التكرار الخاصة بكل تدفق مجتمعةً بنسخة إضافية واحدة تقريبًا من المفاتيح الفريدة.

allow_custom_error_code_in_throwif

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

يتيح استخدام رمز خطأ مخصص في الدالة throwIf(). إذا كانت القيمة true، فقد تحمل الاستثناءات المُطلَقة رموز خطأ غير متوقعة.

allow_ddl

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

إذا ضُبطت القيمة على true، فسيُسمح للمستخدم بتنفيذ استعلامات DDL.

allow_delta_kernel_rs

ميزة Beta

الأسماء المستعارة: allow_experimental_delta_kernel_rs

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81الاسم الجديد لـ `allow_experimental_delta_kernel_rs`، الذي لم يعد تجريبيًا ويُحتفَظ به كاسم مستعار. لم تتغير القيمة الافتراضية.
25.51إعداد جديد. قُدِّم في البداية باسم `allow_experimental_delta_kernel_rs`، وهو الآن اسم مستعار له؛ ويُدرج هذا الصف تحت الاسم المعياري للحفاظ على السجل الكامل.

يسمح باستخدام تنفيذ delta-kernel-rs لقراءة جداول Delta Lake.

allow_distinct_partitions_independently

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد يتيح تقييم `DISTINCT` بشكل مستقل لكل partition عندما يكون تعبير partition دالة حتمية لأعمدة `DISTINCT`.

فعّل التقييم المستقل لـ DISTINCT لكل partition على خيوط تنفيذ منفصلة عندما يكون تعبير partition دالة حتمية لأعمدة DISTINCT، مع تجاوز الدمج بين التدفقات. يفيد ذلك عندما يكون عدد partitionات قريبًا من عدد الأنوية وتكون partitionات متقاربة الحجم؛ وإلا، تتجاوزه آلية استدلالية للتكلفة. راجع max_number_of_partitions_for_independent_distinct وforce_distinct_partitions_independently. لا يُطبَّق مع FINAL أو النسخ المتماثلة المتوازية.

لا يُطبَّق عند تعيين max_rows_in_distinct أو max_bytes_in_distinct: إذ تُفرض هذه الحدود بواسطة تحويل DISTINCT الواحد الذي يعالج النتيجة المدمجة بالكامل، لذلك يُحتفظ بالدمج بين التدفقات للحفاظ على دلالتها الشاملة.

allow_distributed_ddl

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

إذا ضُبطت هذه القيمة على true، فسيُسمح للمستخدم بتنفيذ استعلامات DDL الموزعة.

allow_drop_detached

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

يسمح بتنفيذ استعلامات ALTER TABLE … DROP DETACHED PART[ITION] …

allow_dynamic_type_in_join_keys

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.100عدم السماح باستخدام نوع Dynamic في مفاتيح JOIN افتراضيًا

يسمح باستخدام نوع Dynamic في مفاتيح JOIN. أُضيف لأغراض التوافق. لا يُنصح باستخدام نوع Dynamic في مفاتيح JOIN لأن المقارنة مع الأنواع الأخرى قد تؤدي إلى نتائج غير متوقعة.

allow_execute_multiif_columnar

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

السماح بتنفيذ الدالة multiIf بشكل عمودي

allow_fuzz_query_functions

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

يُمكِّن الدالة fuzzQuery التي تُجري تعديلات عشوائية على AST لاستعلامٍ ما.

allow_general_join_planning

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.11السماح باستخدام خوارزمية أكثر عمومية لتخطيط JOIN عند تمكين خوارزمية hash join.

يتيح هذا استخدام خوارزمية أكثر عمومية لتخطيط JOIN يمكنها التعامل مع شروط أكثر تعقيدًا، لكنها لا تعمل إلا مع hash join. وإذا لم يكن hash join مُمكّنًا، فستُستخدم خوارزمية تخطيط JOIN المعتادة بغض النظر عن قيمة هذا الإعداد.

allow_get_client_http_header

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

يسمح هذا الإعداد باستخدام الدالة getClientHTTPHeader التي تتيح الحصول على قيمة ترويسة طلب HTTP الحالي. وهي غير مُمكّنة افتراضيًا لأسباب أمنية، لأن بعض الترويسات، مثل Cookie، قد تحتوي على معلومات حساسة. لاحظ أن ترويسات X-ClickHouse-* وAuthentication وAuthorization تكون مقيّدة دائمًا، ولا يمكن الحصول عليها باستخدام هذه الدالة.

allow_hyperscan

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

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

allow_iceberg_remove_orphan_files

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

يسمح باستخدام 'ALTER TABLE … EXECUTE remove_orphan_files()' لجداول Iceberg.

allow_insert_into_iceberg

ميزة Beta

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

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.20تم نقل الإدراج في Iceberg إلى مرحلة Beta
25.70إعداد جديد.

يسمح بتنفيذ استعلامات insert في Iceberg.

allow_introspection_functions

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

يؤدي إلى تمكين دوال فحص المكونات الداخلية أو تعطيلها لتنميط الاستعلامات.

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

  • 1 — دوال فحص المكونات الداخلية مُمكّنة.
  • 0 — دوال فحص المكونات الداخلية مُعطّلة.

انظر أيضًا

allow_key_condition_coalesce_rewrite

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.51إعداد جديد لإعادة كتابة الشروط من الشكل `coalesce(a_1, ..., a_N) <op> const` (وكذلك `ifNull` بصورة مكافئة، أو عندما يكون الثابت على اليسار) إلى فصل منطقي قبل تحليل الفهارس، بحيث يمكن استخدام المفتاح الأساسي وفهارس التخطي الخاصة بكل عمود على كل `a_i`. كما تُعالَج أيضًا الأشكال ذات الثوابت الجزئية مثل `coalesce(a, 42, b)` و`coalesce(a, b, 42)`.

أعِد كتابة الشروط من الشكل coalesce(a_1, ..., a_N) <op> const (وكذلك ifNull بصورة مكافئة، أو عندما يكون الثابت على اليسار) إلى الفصل المنطقي (a_1 <op> const) OR (a_1 IS NULL AND a_2 <op> const) OR ... OR (a_1 IS NULL AND ... AND a_{N-1} IS NULL AND a_N <op> const) قبل تحليل الفهارس، بحيث يمكن استخدام المفتاح الأساسي وفهارس التخطي الخاصة بكل عمود على كل a_i. تُعالَج الأشكال ذات الثوابت الجزئية مثل coalesce(a, 42, b) وcoalesce(a, b, 42): إذ تُطبَّع قائمة الوسائط كما يفعل coalesce نفسه (تُحذف القيم الحرفية NULL، وتُحذف الوسائط التي تلي أول وسيطة غير Nullable)، ويُضاف الثابت غير NULL الختامي، إن وُجد، باعتباره الفرع الأخير. تُستخدم إعادة الكتابة فقط كإضافة لتحسين استبعاد البيانات عبر الفهارس؛ ويستمر الترشيح وقت التشغيل في استخدام الشرط الأصلي. بالإضافة إلى ذلك، يُعاد كتابة شروط المساواة الدقيقة من الشكل nullIf(key, sentinel) = const (حيث sentinel != const وتتطابق الأنواع تمامًا) إلى key = const، بحيث يتمكن المفتاح الأساسي وpartition وفهارس التخطي على key من استبعاد الحبيبات مباشرةً. لا يُدعم استبعاد البيانات عبر nullIf للنطاقات أو الشروط الفصلية.

allow_limit_by_partitions_independently

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.61إعداد جديد لتمكين التقييم المستقل لـ `LIMIT BY` لكل partition عندما يكون تعبير partition دالة حتمية لأعمدة `LIMIT BY`.

يُمكّن التقييم المستقل لـ LIMIT BY لكل partition على خيوط تنفيذ منفصلة عندما يكون تعبير partition دالة حتمية لأعمدة LIMIT BY.

allow_lossy_numeric_supertype

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80إعداد جديد يتيح لـ if/multiIf/coalesce/ifNull/array/map توحيد جميع الفروع الرقمية التي لا نوعًا مشتركًا بينها دون فقدان (مثل Decimal + Float64) إلى نوع فائق رقمي (Float64، مع احتمال فقدان الدقة)، بحيث يمكن تجميع النتيجة. وهو مستقل عن use_variant_as_common_type: إذ كانت هذه الفروع تُصدر سابقًا NO_COMMON_TYPE عند إيقافه، وتصبح Variant عند تشغيله؛ أما الآن فتُوحَّد إلى Float64 في كلتا الحالتين.

عند التمكين، تُوحِّد if/multiIf/coalesce/ifNull/array/map مجموعةً من الوسائط الرقمية التي لا نوعًا مشتركًا بينها دون فقدان (مثل Decimal وFloat64، أو Int64 وFloat64) إلى نوع فائق رقمي (Float64) بدلًا من أن تفشل، مع احتمال فقدان الدقة. يتيح ذلك استخدام النتيجة مباشرةً مع دوال التجميع التي تدمج القيم، مثل sum وavg وmin وmax. وهذا مستقل عن use_variant_as_common_type: إذ يُنتَج النوع الفائق الرقمي سواء أكان use_variant_as_common_type مُمكّنًا أم لا. عند التعطيل (الإعداد الافتراضي)، لا يكون لهذه المجموعات من الوسائط نوع مشترك، لذا فإنها إما تصبح Variant (إذا كان use_variant_as_common_type مُمكّنًا) أو تُصدر NO_COMMON_TYPE.

allow_materialized_view_with_bad_select

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.40عدم السماح بإنشاء MVs تشير إلى أعمدة أو جداول غير موجودة
24.91دعم تحقق أكثر صرامة في CREATE MATERIALIZED VIEW (لكن من دون تفعيله بعد)

يسمح باستخدام CREATE MATERIALIZED VIEW مع استعلام SELECT يشير إلى جداول أو أعمدة غير موجودة. ويجب أن يظل صحيحًا من حيث الصياغة النحوية. لا ينطبق ذلك على MVs القابلة للتحديث. كما لا ينطبق إذا كان يجب استنتاج مخطط MV من استعلام SELECT (أي إذا كان CREATE لا يتضمن قائمة أعمدة ولا TO table). ويمكن استخدامه لإنشاء MV قبل الجدول المصدر الخاص بها.

allow_metadata_only_named_tuple_alter

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.80إعداد جديد للتحكم في عمليات ALTER التي تقتصر على البيانات الوصفية عند إضافة حقول فرعية إلى Tuple مُسمّى.

إذا كانت القيمة true، فإن عملية ALTER MODIFY COLUMN على Tuple مُسمّى تضيف حقولًا فرعية جديدة فقط تكون مقتصرة على البيانات الوصفية (من دون mutation للبيانات). اضبطها على false لفرض السلوك القديم الذي يتضمن mutation كاملًا.

allow_minmax_index_for_json

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.70يُمنع افتراضيًا إنشاء فهرس minmax للتخطي على أعمدة JSON لأن تسلسل الفهرس لا يمكنه التعامل مع قيم Field غير المتجانسة

السماح بإنشاء فهارس minmax للتخطي على أعمدة JSON ‏(Object). يكون هذا الخيار معطّلًا افتراضيًا لأن مسار تسلسل فهرس minmax لا يمكنه التعامل مع قيم Field غير المتجانسة التي قد تحتويها أعمدة JSON.

allow_named_collection_override_by_default

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

السماح افتراضيًا بتجاوز حقول المجموعات المسماة.

allow_non_metadata_alters

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

السماح بتنفيذ عمليات ALTER التي لا تؤثر فقط في البيانات الوصفية للجداول، بل أيضًا في البيانات المخزنة على القرص

allow_nonconst_timezone_arguments

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
23.40السماح بوسائط timezone غير الثابتة في بعض الدوال المرتبطة بالوقت مثل toTimeZone() و fromUnixTimestamp*() و snowflakeToDateTime*().

يسمح بوسائط timezone غير الثابتة في بعض الدوال المرتبطة بالوقت مثل toTimeZone() و fromUnixTimestamp*() و snowflakeIDToDateTime*(). يوجد هذا الإعداد لأسباب التوافق فقط. في ClickHouse، تُعد timezone خاصيةً لنوع البيانات، وبالتالي للعمود أيضًا. يُوحي تمكين هذا الإعداد خطأً بأن القيم المختلفة داخل العمود يمكن أن تكون لها timezones مختلفة. لذلك، يُرجى عدم تمكين هذا الإعداد.

allow_nullable_tuple_in_extracted_subcolumns

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.30إعداد جديد يتحكم في ما إذا كان يمكن أن تكون الأعمدة الفرعية المستخرجة من النوع Tuple قابلة للإسناد إلى nullable.

يتحكم هذا الإعداد في ما إذا كان يمكن إسناد النوع Nullable(Tuple(...)) إلى الأعمدة الفرعية المستخرجة من النوع Tuple(...).

  • false: أعد Tuple(...) واستخدم قيم tuple الافتراضية للصفوف التي يكون فيها العمود الفرعي مفقودًا.
  • true: أعد Nullable(Tuple(...)) واستخدم NULL للصفوف التي يكون فيها العمود الفرعي مفقودًا.

يتحكم هذا الإعداد في سلوك الأعمدة الفرعية المستخرجة فقط. ولا يتحكم في ما إذا كان يمكن إنشاء أعمدة Nullable(Tuple(...)) في الجداول؛ فهذا يتحكم فيه enable_nullable_tuple_type.

يستخدم ClickHouse القيمة المحمّلة لهذا الإعداد عند بدء تشغيل الخادم. ولا تؤدي التغييرات التي تُجرى باستخدام SET أو SETTINGS على مستوى الاستعلام إلى تغيير سلوك الأعمدة الفرعية المستخرجة. ولتغيير سلوك الأعمدة الفرعية المستخرجة، حدّث allow_nullable_tuple_in_extracted_subcolumns في تهيئة ملف التعريف عند بدء التشغيل (على سبيل المثال، users.xml) ثم أعد تشغيل الخادم.

allow_rank_dense_rank_arguments

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.50إعداد جديد. قبل الإصدار 26.5، كانت دالتا النافذة `RANK` و`DENSE_RANK` تتجاهلان بصمت أي وسائط مُمرَّرة (وهو ما يعادل `allow_rank_dense_rank_arguments = 1`). واعتبارًا من 26.5، ترفضان الوسائط افتراضيًا مع `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` لأن هاتين الدالتين، وفقًا لمعيار SQL، لا تقبلان أي وسائط. اضبط هذا على `1` لاستعادة السلوك القديم.

السماح بتمرير وسائط إلى دالتي النافذة RANK وDENSE_RANK للحفاظ على التوافق مع الإصدارات السابقة.

وفقًا لمعيار SQL، لا تقبل RANK وDENSE_RANK أي وسائط — إذ ترتبان الصفوف استنادًا فقط إلى النافذة OVER (ORDER BY ...). في إصدارات ClickHouse السابقة لـ 26.5، كانت الاستعلامات مثل RANK(x) OVER (...) تُقبل بصمت مع تجاهل الوسيطة، مما سبّب إرباكًا للمستخدمين (إذ توحي الوسيطة الظاهرة بأنها تؤثر في الترتيب، لكنها في الواقع لا تفعل ذلك).

عندما يكون هذا الإعداد false (وهو الخيار الافتراضي)، ترفض RANK وDENSE_RANK أي وسائط وتُطلق الاستثناء NUMBER_OF_ARGUMENTS_DOESNT_MATCH. وعند ضبطه على true، يُستعاد السلوك القديم المتساهل — إذ تُتجاهل الوسائط بصمت، بما يطابق السلوك السابق قبل الإصدار 26.5.

allow_reorder_prewhere_conditions

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

يسمح بإعادة ترتيب الشروط عند نقلها من WHERE إلى PREWHERE لتحسين التصفية

allow_replace_partition_from_empty_source

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.60فحص أمان جديد: أصبح `ALTER TABLE ... REPLACE PARTITION ... FROM ...` الآن يُطلق استثناءً عندما لا يحتوي الجدول المصدر على أي أجزاء في الـ partition المطلوب (يُصلح مشكلة فقدان البيانات الصامت في [#23727](https://github.com/ClickHouse/ClickHouse/issues/23727)). ويمكن الإبقاء على السلوك السابق، وهو حذف partition الوجهة بصمت، من خلال تعيين `allow_replace_partition_from_empty_source = 1`.

اسمح لـ ALTER TABLE ... REPLACE PARTITION ... FROM ... بحذف partition الوجهة بصمت عندما لا يحتوي المصدر على أي أجزاء في ذلك الـ partition.

بشكل افتراضي، هذا غير مسموح به: إذ إن REPLACE PARTITION من مصدر لا يحتوي على بيانات في الـ partition المطلوب يُطلق استثناءً، لأن العملية في هذه الحالة تصبح فعليًا DROP PARTITION صامتًا على الوجهة (تُزال بيانات الوجهة ولا يستبدلها شيء)، وهو سبب شائع لفقدان البيانات عن طريق الخطأ (راجع #23727).

فعّل هذا الإعداد لاستعادة السلوك السابق، على سبيل المثال عندما تستخدم عمدًا partition فارغًا في المصدر لمسح البيانات في الوجهة. وإذا أردت حذفًا غير مشروط، فالأفضل استخدام ALTER TABLE ... DROP PARTITION ... بدلًا من ذلك.

allow_settings_after_format_in_insert

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
22.40عدم السماح بوضع SETTINGS بعد FORMAT في استعلامات `INSERT` لأن ClickHouse قد يفسّر SETTINGS على أنها قيم، وهذا قد يكون مضلّلًا

تحكّم في السماح باستخدام SETTINGS بعد FORMAT في استعلامات INSERT من عدمه. لا يُنصح باستخدام هذا، لأن ذلك قد يؤدي إلى تفسير جزء من SETTINGS على أنه قيم.

مثال:

INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');

لكن لن يعمل الاستعلام التالي إلا عند استخدام allow_settings_after_format_in_insert:

SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;

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

  • 0 — غير مسموح.
  • 1 — مسموح.

allow_simdjson

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

يسمح باستخدام مكتبة simdjson في دوال 'JSON*' إذا كانت تعليمات AVX2 متوفرة. وإذا كان هذا الخيار معطّلًا، فستُستخدم rapidjson.

allow_special_serialization_kinds_in_output_formats

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.111تمكين الإخراج المباشر لتمثيلات الأعمدة الخاصة مثل Sparse/Replicated في بعض تنسيقات الإخراج
25.100إضافة إعداد للسماح بإخراج تمثيلات الأعمدة الخاصة مثل Sparse/Replicated دون تحويلها إلى تمثيل الأعمدة الكامل

يسمح بإخراج الأعمدة ذات أنواع التسلسل الخاصة مثل Sparse وReplicated دون تحويلها إلى تمثيل الأعمدة الكامل. ويساعد ذلك على تجنب نسخ البيانات غير الضروري عند التنسيق.

allow_unrestricted_reads_from_keeper

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

يسمح بعمليات قراءة غير مقيّدة (من دون شرط على مسار) من جدول system.zookeeper، وقد يكون ذلك مفيدًا، لكنه غير آمن لـ ZooKeeper

allow_window_partitions_independently

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد لتقييم دوال النافذة لكل partition بشكل مستقل (مع تجاوز تشتيت التجزئة) عندما يكون تعبير partition دالة حتمية لأعمدة النافذة `PARTITION BY`.

فعّل التقييم المستقل لدوال النافذة لكل partition في خيوط تنفيذ منفصلة عندما يكون تعبير partition في جدول MergeTree دالة حتمية لأعمدة النافذة PARTITION BY. يُقرأ كل partition عبر تدفق منفصل، ويُفرز بشكل مستقل وفقًا لوصف فرز النافذة، ويُعالج بتحويل النافذة الخاص به، مع تجاوز تشتيت التجزئة الذي يعيد عادةً توزيع كل صف بين خيوط التنفيذ. يكون ذلك مفيدًا عندما يكون عدد partition قريبًا من عدد الأنوية وتكون أحجام partition متقاربة؛ وإلا تتخطاه آلية استدلالية للتكلفة. راجع max_number_of_partitions_for_independent_window وforce_window_partitions_independently. لا يُطبّق مع FINAL أو النسخ المتماثلة المتوازية.

Navigation