تعویق PostgreSQL 19؛ بازبینی کد با هوش مصنوعی بیش از توان توسعهدهندگان باگ یافت
انتشار PostgreSQL 19 به حدود ۱۹ نوامبر عقب افتاد. بازبینی کد با هوش مصنوعی آنقدر باگ پیدا کرد که بین ۸ تا ۱۰ قابلیت مهم، از جمله SQL/PGQ، از این نسخه کنار رفت.
گروه توسعه جهانی PostgreSQL انتشار نسخه ۱۹ این پایگاه داده متنباز را عقب انداخت. این نسخه قرار بود اواخر سپتامبر یا اوایل اکتبر ۲۰۲۶ منتشر شود و حالا انتظار میرود حدود ۱۹ نوامبر عرضه شود. به گفته توسعهدهندگان اصلی پروژه، علت اصلی تأخیر این است که ابزارهای بازبینی کد مبتنی بر مدلهای زبانی بزرگ، بیش از ظرفیت تیم برای رفع اشکال، باگ و نقص پیدا کردهاند.
چه چیزی از نسخه ۱۹ کنار گذاشته شد؟
طبق گزارش The Register، بین هشت تا ده قابلیت مهم از PostgreSQL 19 حذف یا به اصطلاح revert شدهاند و احتمالاً در PostgreSQL 20 عرضه میشوند. مهمترینِ آنها پشتیبانی از SQL Property Graph Queries یا SQL/PGQ است. این قابلیت که از سال ۲۰۲۳ بخشی از استاندارد SQL شده، نحوی برای پرسوجو روی دادههای گرافی (گرهها و یالهای میان آنها) فراهم میکند. به گفته منابع، با حذف آن دهها commit مرتبط با این قابلیت هم برگردانده شد.
به گفته یک مقاله فنی در وبلاگ Snowflake، قابلیتهای دیگری هم از این نسخه کنار رفتهاند: ادغام و تقسیم پارتیشن با ALTER TABLE MERGE/SPLIT PARTITION، عبارت GROUP BY ALL که در برخی حالتها نتیجه نادرست برمیگرداند، تغییر الگوریتم پیشفرض فشردهسازی TOAST به lz4، خروجیهای غیرمتنی برای pg_dumpall و ردیابی پرسوجوهای تودرتو در pg_stat_statements. همین منبع شمار کل revertها در دوره بتای نسخه ۱۹ را ۵۳ مورد ذکر کرده است. این عدد برای نسخه ۱۸ حدود ۴۴ بود و بیشتر آنها در همان اوایل بتا رخ دادند.
نکات کلیدی
- زمان انتشار تازه: حدود ۱۹ نوامبر ۲۰۲۶
- ۸ تا ۱۰ قابلیت مهم به نسخه ۲۰ منتقل شد
- SQL/PGQ و GROUP BY ALL از جمله موارد حذفشدهاند
نقش هوش مصنوعی در این تأخیر
یکی از commiterهای ارشد PostgreSQL در یادداشتی توضیح داده که بعضی از قابلیتهای حذفشده ایرادهای جدی در معماری داشتند که در دوره بتا نمیشد سریع رفعشان کرد. در کنار آن، بازبینی کد با کمک مدلهای زبانی فهرست بلندی از اشکالهای کوچکتر در حالتهای مرزی را هم نشان داد. پیشتر این نوع اشکالها معمولاً طی سالها پس از انتشار، کمکم کشف و وصله میشدند.
استدلال او این است که هرچند رفع هر کدام از این ایرادها شاید فقط چند خط کد بخواهد، هر مورد هزینه ثابتی برای بررسی، آزمایش و تأیید دارد و جمع آنها از وقت تیم بیشتر شد. به گفته او، این ابزارها زمانی که قابلیتهای بزرگ نسخه ۱۹ نوشته میشدند هنوز به این اندازه کارآمد نبودند. در عمل «سطح کیفیت مورد انتظار» پس از نوشته شدن کدها بالا رفت. او تأکید کرده که این برگشتها ربطی به vibe coding یا کدنویسی شتابزده با هوش مصنوعی ندارد و نسخه ۱۹ پس از این بازبینیهای اضافه، نسخهای بسیار پایدار خواهد بود.
چرا برای برنامهنویسها مهم است؟
PostgreSQL از محبوبترین پایگاههای داده میان توسعهدهندگان حرفهای است و سرویسهای مدیریتشده بزرگ و بسیاری از سیستمهای سازگار با آن بر پایه همین پروژه ساخته شدهاند. پس اگر برای مهاجرت به نسخه ۱۹ یا استفاده از قابلیتهایی مثل SQL/PGQ برنامه داشتید، باید زمانبندی را بازنگری کنید. وبلاگ Snowflake فعلاً PostgreSQL 18 را هدف امن ارتقا معرفی کرده است.
با این حال بخشی از قابلیتهای مورد انتظار همچنان در نسخه ۱۹ میمانند. از جمله REPACK CONCURRENTLY برای بازپسگیری فضای دیسک بدون قفلکردن جدول (برخلاف VACUUM FULL)، autovacuum موازی، ON CONFLICT DO SELECT و پشتیبانی از IGNORE NULLS در توابع پنجرهای. البته همان منبع REPACK را هم جزو موارد در معرض خطر حذف دانسته است.
فراتر از PostgreSQL، این ماجرا نشانهای از یک روند کلیتر است: ابزارهای بازبینی و تست مبتنی بر هوش مصنوعی معیار «آماده انتشار بودن» را تغییر میدهند. پروژههای متنباز و تیمهای نرمافزاری احتمالاً باید این ابزارها را زودتر و از همان مرحله نوشتن کد وارد چرخه توسعه کنند، نه در روزهای پایانی پیش از انتشار.
-- نمونه ساختگی: بازپسگیری فضای جدول بدون قفل طولانی در PostgreSQL 19
REPACK (CONCURRENTLY) example_table;جمعبندی
تأخیر PostgreSQL 19 نتیجه سختگیری بیشتر در کیفیت است، نه افت آن. ابزارهای بازبینی مبتنی بر هوش مصنوعی ایرادهایی را زودتر آشکار کردند که پیشتر سالها بعد از انتشار پیدا میشدند. حالا نسخه ۱۹ کوچکتر و دیرتر میآید و احتمالاً PostgreSQL 20 میزبان قابلیتهای جامانده خواهد بود.
منابع
- The Register - Postgres 19 delayed after AI reviewers find more bugs than humans can fixtheregister.com
- Snowflake Engineering Blog - What Is Happening with PostgreSQL 19?snowflake.com
این خبر بر اساس منابع بالا به فارسی بازنویسی و خلاصه شده است؛ برای جزئیات کامل به منبع اصلی مراجعه کنید.