clickhousectl هو واجهة سطر الأوامر لـ ClickHouse: المحلي والسحابي.
باستخدام clickhousectl يمكنك:
- تثبيت إصدارات ClickHouse المحلية وإدارتها
- تشغيل خوادم ClickHouse المحلية وإدارتها
- تشغيل مثيلات Postgres المحلية وإدارتها
- تنفيذ الاستعلامات على خوادم ClickHouse
- إعداد ClickHouse Cloud وإنشاء عناقيد ClickHouse مُدارة سحابيًا
- إنشاء خدمات Postgres في ClickHouse Cloud وإدارتها
- إدارة موارد ClickHouse Cloud
- إنشاء ClickPipes لإدخال البيانات وإدارتها (S3, Kafka, Kinesis, Postgres, MySQL, MongoDB, BigQuery)
- تثبيت ClickHouse agent skills الرسمية في وكلاء البرمجة المدعومين
- نقل بيئة تطوير ClickHouse المحلية إلى السحابة
clickhousectl المستخدمين ووكلاء الذكاء الاصطناعي على التطوير باستخدام ClickHouse.
التثبيت
التثبيت السريع
~/.local/bin/clickhousectl. كما يُنشئ تلقائيًا أيضًا اسمًا مستعارًا chctl لتسهيل الاستخدام.
المتطلبات
- macOS (aarch64, x86_64) أو Linux (aarch64, x86_64)
- تتطلب أوامر Cloud مفتاح واجهة برمجة تطبيقات الخاص بـ ClickHouse Cloud
محلي
تثبيت إصدارات ClickHouse وإدارتها
clickhousectl بتنزيل الملفات التنفيذية لـ ClickHouse من builds.clickhouse.com، مع الرجوع إلى packages.clickhouse.com (Linux) أو إصدارات GitHub (macOS) إذا لم يكن الإصدار متاحًا هناك.
local use أيضًا بإنشاء رابط رمزي في ~/.local/bin/clickhouse يشير إلى الملف التنفيذي للإصدار المحدد، بحيث يصبح الأمر clickhouse العادي (مثل clickhouse local وclickhouse client) متاحًا على PATH. مرّر --no-global لتخطي ذلك. إذا كان هناك ملف عادي موجود بالفعل في ذلك المسار، فسيُترك كما هو مع عرض تحذير. كما أن local remove للإصدار الافتراضي النشط يزيل الرابط الرمزي أيضًا.
تخزين الملفات التنفيذية لـ ClickHouse
~/.clickhouse/:
إعداد مشروع
init دليل العمل الحالي لديك باستخدام بنية مجلدات قياسية لملفات مشروع ClickHouse وPostgres. وهو أمر اختياري؛ إذ يمكنك استخدام بنية المجلدات الخاصة بك إذا كنت تفضّل ذلك.
ينشئ البنية التالية:
تنفيذ الاستعلامات
إنشاء خوادم ClickHouse وإدارتها
.clickhouse/servers/<name>/data/.
--name، يُسمّى الخادم الأول “default”. وإذا كان “default” قيد التشغيل بالفعل، فسيُولَّد اسم عشوائي (مثل “bold-crane”). استخدم --name للحصول على معرّفات ثابتة يمكنك تشغيلها وإيقافها مرارًا.
المنافذ: المنافذ الافتراضية هي HTTP 8123 وTCP 9000. وإذا كانت هذه المنافذ مستخدمة بالفعل، فستُخصَّص منافذ متاحة تلقائيًا وتُعرض في المخرجات. استخدم --http-port و--tcp-port لتعيين منافذ محددة صراحةً.
إدارة الخوادم العامة: استخدم --global مع list وstop وstop-all للعمل على مستوى جميع المشاريع على مستوى النظام. يعرض server list --global جميع خوادم ClickHouse قيد التشغيل، مع عمود Project يوضّح الدليل الذي ينتمي إليه كل خادم.
ملفات config مخصّصة للخوادم المحلية
~/.clickhouse/configs/ وطبّقه بالاسم عند بدء تشغيل خادم:
config.d)، لذلك لا يحتاج إلا إلى تضمين الإعدادات التي تريد تغييرها، ولا حاجة إلى إعادة إنشاء ملف config كامل. يمكن أن تكون الملفات بصيغة .xml أو .yaml أو .yml، ويمكنك الإشارة إليها بالاسم سواء مع الامتداد أو بدونه.
مجلد البيانات الخاص بالمشروع
.clickhouse/ في مجلد المشروع:
clickhousectl local server remove <name> لحذف بيانات الخادم نهائيًا.
تشغيل Postgres محليًا
clickhousectl تشغيل مثيلات Postgres محلية وإدارتها. ويعتمد Postgres المحلي على Docker، لذا يجب أن يكون Docker مثبّتًا وقيد التشغيل. ويُعرَّف كل مثيل باسمه وإصداره الرئيسي، لذلك يمكن تشغيل عدة إصدارات من Postgres جنبًا إلى جنب، مع أدلة بيانات منفصلة لكل منها.
المصادقة
clickhousectl cloud auth signup يفتح صفحة التسجيل في متصفحك.
مفتاح/سرّ واجهة برمجة تطبيقات (موصى به)
.clickhouse/credentials.json (ضمن المشروع فقط).
يمكنك أيضًا استخدام متغيرات البيئة، سواء كانت مُصدَّرة في جلستك:
.env ضمن دليل العمل الحالي:
تسجيل الدخول باستخدام OAuth
.clickhouse/tokens.json (project-local).
إن وصول OAuth حاليًا للقراءة فقط، ويتيح الوصول إلى جميع المؤسسات التي تنتمي إليها. للحصول على حق الكتابة، أو لحصر نطاق واجهة سطر الأوامر في مؤسسة واحدة، أنشئ مفتاح واجهة برمجة تطبيقات مقيّد النطاق بدلًا من ذلك.
حالة المصادقة وتسجيل الخروج
.clickhouse/credentials.json > متغيرات البيئة المُصدَّرة > ملف .env > رموز OAuth.
تصحيح الأخطاء لمعرفة مصدر بيانات الاعتماد المستخدم
--debug إلى أي أمر cloud لعرض مصدر بيانات الاعتماد الذي تم تحديده (وURL الخاص بواجهة برمجة التطبيقات) في stderr قبل تشغيل الأمر.
Cloud
المنظمات
الخدمات
خيارات إنشاء الخدمة
أوضاع مصادقة واجهة برمجة تطبيقات الاستعلام
cloud service query الطريقة القياسية لتشغيل SQL على خدمة سحابية عبر HTTP، من دون الحاجة إلى ملف clickhouse التنفيذي أو كلمة مرور الخدمة. وهي تعمل مع وضعي بيانات الاعتماد كليهما:
- مصادقة مفتاح واجهة برمجة تطبيقات (قراءة + كتابة SQL): عند تشغيل
cloud service queryللمرة الأولى على خدمة لا يتوفر لها مفتاح مخزَّن، فإنه يوفّر endpoint لواجهة برمجة تطبيقات الاستعلام لتلك الخدمة وينشئ مفتاح واجهة برمجة تطبيقات مخصصًا مرتبطًا بها. ويُخزَّن المفتاح (keyIdوkeySecretوendpointId) في.clickhouse/credentials.jsonضمنservice_query_keys.<service-id>. ويقتصر نطاق هذا المفتاح على خدمة واحدة، لذا يمكنه القراءة والكتابة (SELECT وINSERT وDDL) على تلك الخدمة، لكنه لا يمكنه الوصول إلى أي خدمة أخرى في المؤسسة. مرِّر--no-auto-enableلكي يفشل بدلًا من توفيره تلقائيًا. - OAuth (
cloud auth login): يُشغَّل الاستعلام بهويتك أنت، تمامًا كما في SQL-console على الويب. تكون أذونات SQL الخاصة بك على الخدمة للقراءة فقط عند استخدام OAuth. ولا يتم توفير أو تخزين مفتاح واجهة برمجة تطبيقات الاستعلام في هذا الوضع. وليس للخيار--no-auto-enableأي تأثير في هذا الوضع.
cloud service start. عيّن CLICKHOUSE_CLOUD_QUERY_HOST لتجاوز مضيف واجهة برمجة تطبيقات الاستعلام المُشتق.
إدارة نقاط نهاية الاستعلام
إدارة نقطة النهاية الخاصة
تهيئة النسخ الاحتياطي
خدمات Postgres
clickhousectl أيضًا إنشاء خدمات ClickHouse Cloud Postgres وإدارتها، وذلك على غرار أوامر خدمة ClickHouse المذكورة أعلاه.
خيارات إنشاء خدمة Postgres
النسخ الاحتياطية
ClickPipes
إنشاء ClickPipes
clickpipe create:
clickhousectl cloud clickpipe create <source> --help للاطّلاع على القائمة الكاملة للخيارات لكل نوع من المصادر.
الأعضاء
الدعوات
المفاتيح
Activity
مخرجات JSON
--json لطباعة الاستجابات بتنسيق JSON.
clickhousectl تلقائيًا سياقات coding-agent (Claude Code وCursor وCodex وGemini CLI وGoose وDevin وأي أداة تضبط متغير البيئة القياسي AGENT) ويطبع JSON إلى stdout تلقائيًا من دون الحاجة إلى تعيين --json.
رموز الخروج
gh:
Skills
علامات الوضع غير التفاعلي
التحديث الذاتي
clickhousectl تحديث نفسه إلى أحدث إصدار: