ملخص
الوصف
يُنفّذ امتدادchdb استعلامات chDB في عملية مساعدة.
الدوال
pgchdb_version
x.y فقط من الإصدار، فإن المكتبة توفّر الإصدار الدلالي الكامل x.y.z. وستكون هذه القيمة مطابقة للقيمة التي تُرجِعها دالة pg_get_loaded_modules() في Postgres 18 والإصدارات الأحدث:
chdb_query
chdb_query() السابقة، مثل DDL، متاحة للاستدعاءات اللاحقة.
قائمة تعريف الأعمدة (AS (col type, ...)) مطلوبة: إذ يتطلب PostgreSQL تعريف بنية الصف قبل جلب الصفوف، ويجب أن تطابق تلك البنية الأعمدة التي يعيدها الاستعلام. وتُحوَّل القيم من chDB إلى الأنواع المعلَنة.
لا يمتلك أي Role صلاحية EXECUTE افتراضيًا؛ استخدم GRANT لمنحها لأحد الأدوار كي يتمكن من استخدام الدالة.
ترميز النصوص
راجع ترميز النصوص في توثيقchdb_hook لمعرفة كيفية ارتباط سلاسل البايتات في chDB بأنواع Postgres مثل text وbytea وغيرها.
الإعدادات
chdb.max_memory
max_memory_usage. يتطلب صلاحيات مستخدم فائق الصلاحيات. استخدم عددًا صحيحًا
للتعبير عن عدد الميغابايت، أو إحدى وحدات الذاكرة التالية:
B(بايت)kB(كيلوبايت)MB(ميغابايت)GB(غيغابايت)TB(تيرابايت)
0، وهي تعني عدم فرض أي حد على الذاكرة.
chdb.max_threads
max_threads الخاص بـ chDB. يتطلب صلاحيات مستخدم فائق الصلاحيات. القيمة الافتراضية هي
0، وهي تترك لـ chDB مهمة تحديد القيمة.
نوصي بشدة بتعيين chdb.max_threads قبل تنفيذ استعلام ضخم
لتفادي استهلاك chDB لوحدة المعالجة المركزية بالكامل على حساب
PostgreSQL.
chdb.max_parsing_threads
max_parsing_threads في chDB. يتطلب صلاحيات مستخدم فائق الصلاحيات. قيمته الافتراضية هي 0، وهي تتيح لـ chDB تحديد القيمة تلقائيًا.
ننصح بضبط chdb.max_parsing_threads قبل تنفيذ استعلام يحلّل كمًا كبيرًا من البيانات، مثل تحميل البيانات من [دوال الجداول]، لمنع chDB من استهلاك كامل طاقة الـ CPU على حساب PostgreSQL.
سياسة الإصدارات
يلتزم امتداد chdb بـ الإصدار الدلالي في إصداراته العامة.- يزداد رقم الإصدار الرئيسي عند تغييرات واجهة برمجة التطبيقات
- يزداد رقم الإصدار الثانوي عند تغييرات SQL المتوافقة مع الإصدارات السابقة
- يزداد رقم إصدار التصحيح عند التغييرات الثنائية فقط
- إصدار المكتبة (المُعرَّف بواسطة
PG_MODULE_MAGICفي PostgreSQL 18 وما بعده) ويتضمن الإصدار الدلالي الكامل، ويظهر في مخرجات الدالةpgchdb_version()أو دالة Postgrespg_get_loaded_modules(). - إصدار الامتداد (المُعرَّف في ملف التحكم) ولا يتضمن سوى الرقمين الرئيسي والثانوي،
ويظهر في جدول
pg_catalog.pg_extension، وفي مخرجات الدالةpg_available_extension_versions()، وفي\dx chdb.
v0.1.0 إلى v0.1.1،
يفيد جميع قواعد البيانات التي حمّلت v0.1 دون الحاجة إلى تنفيذ
ALTER EXTENSION للاستفادة من الترقية.
أما الإصدار الذي يزيد الرقم الثانوي أو الرئيسي، فيأتي مصحوباً ببرامج نصية
لترقية SQL، ويتعيّن على جميع قواعد البيانات الحالية التي تحتوي على الامتداد تنفيذ
ALTER EXTENSION chdb UPDATE للاستفادة من الترقية.