تستعرض هذه الدالة دليل بشكل متكرر وتُرجع table تتضمن البيانات الوصفية للملفات (المسارات، والأحجام، والأنواع، وpermissions، وأوقات التعديل)، وبشكل اختياري، محتويات الملفات.
في وضع clickhouse-server، يجب أن يكون path ضمن دليل user_files_path. تتم متابعة الروابط الرمزية داخل user_files_path التي تشير إلى مسارات خارجه، ولكن لا تُرجع إلا entries التي يبدأ path الخاص بها (عبر الرابط الرمزي) بـ user_files_path.
في وضع clickhouse-local، لا توجد قيود على path.
| المعامل | الوصف |
|---|
path | الدليل المراد عرض محتوياته. يمكن أن يكون مسارًا مطلقًا (ويجب أن يكون داخل user_files_path في وضع الخادم) أو مسارًا نسبيًا بالنسبة إلى user_files_path. وإذا كان فارغًا أو غير مذكور، فستكون القيمة الافتراضية هي user_files_path. |
| العمود | النوع | الوصف |
|---|
path | String | الدليل الذي يحتوي على الإدخال (ولا يتضمن اسم الملف/الدليل نفسه). |
name | String | اسم الملف أو الدليل (آخر مكوّن في المسار). |
file | String (ALIAS of name) | اسم مستعار للعمود name. |
type | Enum8 | نوع الملف: 'none', 'not_found', 'regular', 'directory', 'symlink', 'block', 'character', 'fifo', 'socket', 'unknown'. |
size | Nullable(UInt64) | حجم الملف بالبايت (للملفات العادية). وتكون القيمة NULL للملفات غير العادية (الأدلة والروابط الرمزية وما إلى ذلك) وعند حدوث خطأ. |
depth | UInt16 | عمق التكرار. تكون القيمة 0 للدليل المطلوب نفسه ولأبنائه المباشرين، و1 للإدخالات الأعمق بمستوى واحد، وهكذا. |
modification_time | Nullable(DateTime64(6)) | وقت آخر تعديل بدقة الميكروثانية. وتكون القيمة NULL عند حدوث خطأ. |
is_symlink | Bool | ما إذا كان الإدخال رابطًا رمزيًا. |
content | Nullable(String) | محتويات الملف (للملفات العادية). وتكون القيمة NULL للملفات غير العادية (الأدلة والروابط الرمزية وما إلى ذلك). تؤدي أخطاء القراءة إلى إثارة استثناء. وتؤدي قراءة هذا العمود إلى تنفيذ عمليات إدخال/إخراج فعلية للملفات، لذا يُفضَّل عدم تضمينه إذا لم تكن هناك حاجة إليه. |
owner_read | Bool | لدى المالك إذن قراءة. |
owner_write | Bool | لدى المالك إذن كتابة. |
owner_exec | Bool | لدى المالك إذن تنفيذ. |
group_read | Bool | لدى المجموعة إذن قراءة. |
group_write | Bool | لدى المجموعة إذن كتابة. |
group_exec | Bool | لدى المجموعة إذن تنفيذ. |
others_read | Bool | لدى الآخرين إذن قراءة. |
others_write | Bool | لدى الآخرين إذن كتابة. |
others_exec | Bool | لدى الآخرين إذن تنفيذ. |
set_gid | Bool | بت Set-GID. |
set_uid | Bool | بت Set-UID. |
sticky_bit | Bool | البت اللاصق. |
لا تُحتسب إلا الأعمدة المستخدمة فعليًا في الاستعلام، لذا فإن اختيار مجموعة فرعية من الأعمدة (وخاصةً مع استبعاد content) يكون فعّالًا.
عرض الملفات في user_files
SELECT name, type, size, depth
FROM filesystem()
ORDER BY name;
العثور على الملفات الكبيرة
SELECT path, name, size
FROM filesystem()
WHERE type = 'regular' AND size > 1000000
ORDER BY size DESC;
SELECT name, content
FROM filesystem('my_directory')
WHERE name LIKE '%.csv';
SELECT name, type
FROM filesystem('my_directory')
WHERE depth = 0;
آخر تعديل في ٢٥ يونيو ٢٠٢٦