الجديد في إصدار PostgreSQL 18
أصدرت PostgreSQL الإصدار 18 في 25 سبتمبر 2025، ويأتي هذا الإصدار محملًا بتحسينات جوهرية تركز على الأداء، التحسينات في المحرك، والأمان، مع التركيز على تسهيل التطوير والتشغيل. فيما يلي نظرة على الوظائف الرئيسية الجديدة، مع شرح مختصر لكل منها:
نظام الإدخال/الإخراج غير المتزامن (Asynchronous I/O Subsystem):
يُعد هذا التحسين الأكثر أهمية في الإصدار، حيث يدعم نظامًا جديدًا للإدخال/الإخراج غير المتزامن يحسن أداء عمليات المسح المتسلسل، مسح الكتل البتية، والتنظيف التلقائي (VACUUM). يتم التحكم فيه عبر متغيرات خادم جديدة مثل io_method وio_combine_limit، مع عرض نظامي pg_aios للمراقبة، مما يقلل من التأخير في العمليات الكبيرة ويحسن الكفاءة العامة بنسبة تصل إلى 20-30% في بعض السيناريوهات.
تحسينات المحسن (Optimizer Enhancements):
أدخل تحسينات واسعة في محرك الاستعلام، مثل إزالة الروابط الذاتية غير الضرورية للجداول، تحويل الاستعلامات IN (VALUES ...) إلى x = ANY ... لاستخدام إحصاءات أفضل، وتحويل شروط OR إلى مصفوفات لتسريع معالجة الفهرس. كما يشمل تحسينات في عمليات INTERSECT وEXCEPT، والنوافذ، والتجميع، مما يجعل الاستعلامات المعقدة أسرع وأكثر دقة في التخطيط.
تحسينات الفهرسة (Index Improvements):
يسمح الآن بمسح الـ skip scans لفهرس B-tree، واستخدام الفهرس الفريدة غير B-tree كمفاتيح تقسيم وفي العروض المادية. بالإضافة إلى إنشاء فهرس GIN بالتوازي، وترتيب القيم لتسريع بناء فهرس GiST وB-tree للنطاقات، مما يقلل وقت بناء الفهرس ويحسن الأداء في البيانات الكبيرة.
تحسينات الأداء العام (General Performance Enhancements):
يشمل تسريع عمليات التنقيح للاستعلامات التي تتعامل مع علاقات كثيرة، وتحسين الروابط الهاشية والتجميع GROUP BY، بالإضافة إلى السماح لـ VACUUM العادي بتجميد الصفحات المرئية بالكامل. كما زادت القيم الافتراضية لـ effective_io_concurrency وmaintenance_io_concurrency إلى 16، مما يعزز السرعة في المهام اليومية.
تحسينات المراقبة (Monitoring Improvements):
أضاف تسجيلًا أكثر تفصيلاً للاتصالات مع المدة، وعنوان IP للعميل، وسجل فشل الحصول على الأقفال. كما يشمل إحصاءات زمنية لـ VACUUM وANALYZE في pg_stat_all_tables، وإحصاءات I/O وWAL لكل خلفية، مع تحديث pg_stat_io ليشمل أنشطة I/O بالبايت، مما يسهل تشخيص المشكلات.
دعم مصادقة OAuth (OAuth Authentication Support):
يدعم الآن مصادقة OAuth مباشرة عبر pg_hba.conf، مع خيارات libpq ومتغير oauth_validator_libraries، ويتطلب تكوين --with-libcurl. هذا يجعل التكامل مع خدمات السحابة أسهل وأكثر أمانًا للتطبيقات الحديثة.
التحقق الافتراضي للبيانات (Default Data Checksums):
يفعل initdb الآن التحقق من صحة البيانات افتراضيًا، مع خيار --no-data-checksums للإلغاء، ويتطلب pg_upgrade تطابق الإعدادات، مما يحمي من تلف البيانات دون تكلفة إضافية كبيرة.
هذه التحسينات تجعل PostgreSQL 18 أكثر كفاءة وقوة، خاصة للبيئات الكبيرة والسحابية. للمزيد، راجع الملاحظات الرسمية.
المصدر: https://www.postgresql.org/about/news/postgresql-18-released-3142/