اما داستان فقط «سریعتر شدن» نیست — بلکه نحوهی تعامل Postgres با سیستمعامل تغییر کرده.
در نسخهی جدید، دو مدل پیادهسازی برای async I/O داریم:
1️⃣ برای سیستمهایی که هنوز از io_uring پشتیبانی نمیکنن
2️⃣ و مدل دوم برای لینوکسهای مدرن با io_uring، جایی که عملیات I/O مستقیماً داخل کرنل صفبندی و تکمیل میشن — بدون رفتوبرگشت اضافه به فضای کاربر (user space).
نتیجه؟
کاهش latency
افزایش throughput
و کاهش context switch
بهخصوص در queryهای سنگین مثل sequential scan یا writeهای همزمان روی WAL.
اما نکتهی ظریف اینجاست:
این ویژگی بهصورت جادویی همهچیز رو سریعتر نمیکنه.
اجزایی مثل planner، buffer manager و حتی extensionها باید یاد بگیرن چطور ازش استفاده کنن.
یه قدم بزرگ به جلو — اما هنوز در مسیر بلوغ.
📹 ویدیوی توضیحی حسین نصر
🧵 توییت مرتبط
📘 مستند رسمی PostgreSQL 18