ATTACH، سيصبح الخادم على علم بوجود الجدول أو القاموس أو قاعدة البيانات.
إذا كان قد سبق فصل جدول (استعلام DETACH)، أي إن بنيته معروفة، فيمكنك استخدام الصيغة المختصرة من دون تعريف البنية.
إرفاق جدول موجود
الصياغةATTACH، ويشغّلها ببساطة عند بدء التشغيل (باستثناء بعض جداول النظام التي تُنشأ صراحةً على الخادم).
إذا كان الجدول قد فُصل بشكل دائم، فلن يُعاد إرفاقه عند بدء تشغيل الخادم، لذا عليك استخدام استعلام ATTACH صراحةً.
إنشاء جدول جديد وإرفاق البيانات به
مع تحديد مسار بيانات الجدول
ينشئ هذا الاستعلام جدولًا جديدًا بالبنية المحددة، ويُرفق بيانات الجدول من الدليل المحدد داخلuser_files.
يحتاج المستخدم إلى الصلاحيتين READ ON FILE وWRITE ON FILE لتنفيذ هذا الاستعلام: فهو يقرأ الدليل وينقله إلى مسار بيانات الجدول الجديد.
الصيغة
Query
Response
مع UUID جدول محدد
ينشئ هذا الاستعلام جدولًا جديدًا بالبنية المحددة ويُرفق البيانات من الجدول ذي الـ UUID المحدد. وهو مدعوم من محرك قاعدة البيانات Atomic. بنية الجملةإرفاق جدول MergeTree كـ ReplicatedMergeTree
يتيح ذلك إرفاق جدول MergeTree غير متماثل كـ ReplicatedMergeTree. سيُنشأ جدول ReplicatedMergeTree باستخدام قيم إعدادَيdefault_replica_path وdefault_replica_name. ومن الممكن أيضًا إرفاق جدول متماثل كجدول MergeTree عادي.
يُدعَم التحويل للجداول الموجودة في قواعد البيانات من نوع Atomic وOrdinary. لا يمتلك الجدول الموجود في قاعدة بيانات من نوع Ordinary معرّف UUID، لذا يُنشئ التحويل معرّف UUID، ويوسّع به default_replica_path مرة واحدة، ثم يخزّن المسار الناتج صراحةً ضمن وسيطات المحرك للجدول المحوَّل. لإضافة نسخ متماثلة أخرى لمثل هذا الجدول، حدّد هذا المسار صراحةً في الوسيطة الأولى لمحرك ReplicatedMergeTree؛ ويمكنك العثور عليه في العمود zookeeper_path ضمن system.replicas. ونظرًا لأن المسار المخزَّن لم يعد يحتوي على الماكرو {uuid}، يُحدَّد الـ znode الذي يملكه هذا الجدول عند كل تحميل بمطابقة المسار مع default_replica_path من جديد؛ ولذلك يُرفض التحويل إذا تعذّرت مطابقة هذا القالب عكسيًا (على سبيل المثال، إذا كان القالب يوسّع {uuid} أكثر من مرة). ولا يُدعَم استخدام {uuid} في default_replica_name في أي تحويل.
لاحظ أن بيانات الجدول في ZooKeeper لا تتأثر بهذا الاستعلام. وهذا يعني أنه يجب عليك إضافة البيانات الوصفية في ZooKeeper باستخدام SYSTEM RESTORE REPLICA أو مسحها باستخدام SYSTEM DROP REPLICA ... FROM ZKPATH ... بعد الإرفاق.
إذا كنت تحاول إضافة نسخة متماثلة إلى جدول ReplicatedMergeTree موجود، فضع في اعتبارك أن جميع البيانات المحلية في جدول MergeTree المحوَّل ستصبح منفصلة.
الصيغة
Query
Response
Query