الانتقال إلى المحتوى الرئيسي

نظرة عامة

توجد عدة طرق لتشغيل تعليمات SQL بإعدادات محددة. تُضبط الإعدادات على شكل طبقات، وتتجاوز كل طبقة لاحقة القيم السابقة لكل إعداد.

ترتيب الأولوية

ترتيب الأولوية لتحديد الإعداد هو:
  1. تطبيق إعداد على مستخدم مباشرةً، أو ضمن ملف تعريف الإعدادات
    • SQL (مُوصى به)
    • إضافة ملف XML أو YAML واحد أو أكثر إلى /etc/clickhouse-server/users.d
  2. إعدادات الجلسة
    • أرسل SET setting=value من وحدة تحكم SQL في ClickHouse Cloud أو من clickhouse client في الوضع التفاعلي. وبالمثل، يمكنك استخدام جلسات ClickHouse عبر بروتوكول HTTP. للقيام بذلك، عليك تحديد معلمة HTTP ‏session_id.
  3. إعدادات الاستعلام
    • عند تشغيل clickhouse client في الوضع غير التفاعلي، عيّن معلمة بدء التشغيل --setting=value.
    • عند استخدام واجهة برمجة تطبيقات HTTP، مرِّر معلمات CGI (URL?setting_1=value&setting_2=value...).
    • عرّف الإعدادات في عبارة SETTINGS في استعلام SELECT. لا تُطبَّق قيمة الإعداد إلا على ذلك الاستعلام وتُعاد إلى القيمة الافتراضية أو السابقة بعد تنفيذ الاستعلام.

إعادة إعداد إلى قيمته الافتراضية

إذا غيّرت إعدادًا وأردت إعادته إلى قيمته الافتراضية، فاضبط القيمة على DEFAULT. وتكون الصياغة كما يلي:
على سبيل المثال، القيمة الافتراضية لـ async_insert هي 0. لنفترض أنك غيّرت قيمتها إلى 1:
الناتج هو:
يضبط الأمر التالي قيمته مجددًا إلى 0:
عاد الإعداد الآن إلى قيمته الافتراضية:

الإعدادات المخصصة

بالإضافة إلى الإعدادات الشائعة، يمكن للمستخدمين تعريف إعدادات مخصصة. تتيح لك الإعدادات المخصصة تمرير معلمات خاصة بالجلسة يمكن الإشارة إليها داخل الاستعلامات أو السياسات أو الدوال. ويكون ذلك مفيدًا عندما تحتاج إلى:
  • تصفية البيانات استنادًا إلى هوية المستخدم أو المؤسسة
  • تطبيق منطق أعمال مختلف بحسب السياق
  • الاحتفاظ بمعلومات ذات حالة عبر الاستعلامات داخل الجلسة
يجب أن يبدأ اسم الإعداد المخصص بإحدى البادئات المحددة مسبقًا ضمن قائمة تحددها أنت. ويمكن تحديد قائمة البادئات باستخدام إعداد الخادم custom_settings_prefixes، والمُعرَّف في ملف تكوين الخادم لديك. في المثال أدناه، تم اختيار SQL_ كبادئة مخصصة:
في ClickHouse Cloud، لا يمكن تحديد بادئة مخصّصة. تبدأ جميع إعدادات المستخدم المخصّصة بالبادئة SQL_.
لتعريف إعداد مخصّص، استخدم الأمر SET:
للحصول على القيمة الحالية لإعداد مخصّص، استخدم الدالة getSetting():

أمثلة

تضبط هذه الأمثلة جميعها قيمة الإعداد async_insert على 1، وتوضح كيفية الاطلاع على الإعدادات في نظام يعمل.

استخدام SQL لتعيين إعداد لمستخدم مباشرةً

ينشئ هذا المستخدم ingester مع الإعداد async_inset = 1:

افحص ملف تعريف الإعدادات وإسناده

استخدام SQL لإنشاء ملف تعريف الإعدادات وتعيينه لمستخدم

يؤدي هذا إلى إنشاء ملف التعريف log_ingest مع الإعداد async_inset = 1:
يؤدي هذا إلى إنشاء المستخدم ingester وإسناد ملف تعريف الإعدادات log_ingest إليه:

استخدام XML لإنشاء ملف تعريف الإعدادات ومستخدم

/etc/clickhouse-server/users.d/users.xml

افحص ملف تعريف الإعدادات والتعيين

تعيين إعداد لجلسة

تعيين إعداد أثناء تنفيذ استعلام

انظر أيضًا

آخر تعديل في ٣ يوليو ٢٠٢٦