نظرة عامة
تعريف القيود
ملف التعريف ضمن ملف الإعداد user.xml.
وهي تمنع المستخدمين من تغيير بعض الإعدادات باستخدام تعليمة
SET.
تُعرَّف القيود على النحو التالي:
أنواع القيود
minmaxdisallowedreadonly(بالاسم المستعارconst)changeable_in_readonly
min وmax الحدين الأدنى والأقصى لإعداد رقمي،
ويمكن استخدامهما معًا.
يمكن استخدام القيد disallowed لتحديد قيمة أو قيم معيّنة
لا ينبغي السماح بها لإعداد محدد.
ينصّ القيد readonly أو const على أن المستخدم لا يمكنه تغيير
الإعداد المقابل مطلقًا.
يتيح نوع القيد changeable_in_readonly للمستخدمين تغيير الإعداد
ضمن نطاق min/max حتى إذا كان الإعداد readonly مضبوطًا على 1،
وإلا فلن يُسمح بتغيير الإعدادات في وضع readonly=1.
لا يكون
changeable_in_readonly مدعومًا إلا إذا كان settings_constraints_replace_previous
مفعّلًا:ملفات تعريف القيود المتعددة
settings_constraints_replace_previous:
- true (موصى به): تُستبدَل القيود الخاصة بالإعداد نفسه أثناء الدمج، بحيث يُستخدَم القيد الأخير وتُتجاهَل جميع القيود السابقة. ويشمل ذلك الحقول غير المعيّنة في القيد الجديد.
- false (افتراضي): تُدمَج القيود الخاصة بالإعداد نفسه بطريقة يُؤخَذ فيها كل نوع من القيود غير المعيّنة من ملف التعريف السابق، ويُستبدَل كل نوع من القيود المعيّنة بالقيمة من ملف التعريف الجديد.
وضع القراءة فقط
readonly، ويجب عدم الخلط بينه
وبين نوع القيد readonly:
readonly=0: لا توجد أي قيود على وضع القراءة فقط.readonly=1: يُسمح فقط باستعلامات القراءة، ولا يمكن تغيير الإعدادات إلا إذا كانchangeable_in_readonlyمُعيَّنًا.readonly=2: يُسمح فقط باستعلامات القراءة، لكن يمكن تغيير الإعدادات، باستثناء الإعدادreadonlyنفسه.
مثال
users.xml الأسطر التالية:
يُتعامل مع ملف التعريف
default على نحوٍ خاص: إذ تصبح جميع القيود المعرّفة
لملف التعريف default هي القيود الافتراضية، وبالتالي تُطبَّق على جميع المستخدمين
ما لم يُتجاوز عنها صراحةً لهؤلاء المستخدمين.قيود على إعدادات MergeTree
merge_tree_ عند
الإشارة إليه في قسم <constraints>.
مثال
storage_policy صراحةً