تصور کنید بخواهید موتور یک هواپیما را در حال پرواز، بدون اینکه مسافران متوجه شوند، با قطعاتی مدرنتر و ایمنتر جایگزین کنید. این دقیقاً همان کاری است که توسعهدهندگان pgrust با یکی از پیچیدهترین نرمافزارهای جهان انجام میدهند.
طبق اعلام رسمی این پروژه، بیش از ۴۶,۰۰۰ پرسوجوی رگرسیونی (Regression Query) اکنون در pgrust خروجیهای مورد انتظار را تولید میکنند. در تاریخ ۹ جولای ۲۰۲۶، این پروژه برای نخستین بار به سازگاری ۱۰۰ درصدی با تستهای رسمی Postgres نسخه ۱۸.۳ دست یافت.
بازنویسی یک پایگاهداده از صفر معمولاً ماموریتی محال است، اما هدف pgrust جایگزینی کامل نیست، بلکه تسهیل تکامل آن است. همانطور که در تحلیلهای پیشین ما درباره امنیت حافظه در زبانهای برنامهنویسی اشاره کردیم، استفاده از زبان رست (Rust) — که مثل یک نگهبان سختگیر، اجازه نمیدهد برنامهنویس اشتباهاتی کند که باعث کرش کردن سیستم شود — در کنار برنامهنویسی کمکگرفته از هوش مصنوعی، به توسعهدهندگان اجازه میدهد تا رفتار اصلی Postgres را به عنوان یک «اوراکل» یا مرجع حقیقت قرار دهند و با خیال راحت تغییرات رادیکال را آزمایش کنند. این رویکرد بازنویسی هستهها با Rust، مشابه تلاشی است که در پروژه Pon برای حذف مفسر پایتون از طریق یک کامپایلر بومی دیده شده است.
به نقل از مخزن گیتهاب این پروژه، pgrust با دادههای دیسکی Postgres 18.3 سازگار است؛ یعنی میتواند مستقیماً از روی یک دایرکتوری داده موجود بوت شود. با این حال، این سیستم هنوز برای محیطهای عملیاتی (Production) آماده نیست و بهینهسازیهای عملکردی لازم را دریافت نکرده است.
وضعیت فنی و محدودیتها
- سازگاری: هدفگذاری روی نسخه ۱۸.۳
- محدودیتها: افزونههای PL/Python، PL/Perl و PL/Tcl عموماً سازگار نیستند
- دسترسی: از طریق Docker (v0.1) یا دموی WebAssembly در سایت pgrust.com
نقشه راه این پروژه نشاندهنده چرخش جسورانهای به سمت مدرنسازی داخلی پایگاهداده است. قابلیتهایی نظیر پردازشهای داخلی چندرشتهای (Multithreaded)، مدیریت داخلی اتصالات (Connection Pooling) و طراحی ذخیرهسازی «بدون vacuum» برای حذف یکی از نقاط درد قدیمی Postgres در فهرست برنامهها قرار دارند. این تلاشها برای بهینهسازی لایههای زیرین، در راستای تحولاتی است که پیشتر شتابدهندههای گرافیکی برای افزایش بازدهی pgvector به ارمغان آورده بودند.
برای برنامهنویسان، این یعنی امکان ایجاد شاخههای سریع (Forking) و تعریف حفاظهایی (Guardrails) در زمان اجرا که از کرش کردن سرور بر اثر کدهای SQL تولیدشده توسط هوش مصنوعی جلوگیری کند. این تحول، دیتابیس را از یک کدبیس صلب به زبان C به محیطی منعطف و ایمن در Rust منتقل میکند.
این دستاورد، این فرض قدیمی را که هسته Postgres بیش از حد یکپارچه (Monolithic) است و نمیتوان سریع روی آن تغییر ایجاد کرد، به چالش میکشد. با جداسازی «رفتار» از «پیادهسازی»، pgrust محیطی ایزوله برای آزمایشهای ذخیرهسازی فراهم میکند که در شاخه اصلی C بسیار پرریسک بود.
کاربران میتوانند در حال حاضر با اجرای ایمیج Docker نسخه 0.1 یا بیلد کردن سورس روی سیستمعاملهای macOS و Ubuntu، این پروژه را آزمایش کنند.
گام بعدی شما
- اگر توسعهدهنده دیتابیس هستید، دموی WebAssembly را در pgrust.com بررسی کنید تا سرعت بوت شدن را ببینید.
- ایمیج Docker v0.1 را برای تست سازگاری با کوئریهای پیچیده خود اجرا کنید.
- مستندات مربوط به طراحی «بدون vacuum» را دنبال کنید تا متوجه شوید مدیریت حافظه در Rust چگونه جایگزین روشهای سنتی میشود.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ بررسی کنید که چگونه معماریهای جدید حافظه، استنتاجهای دیتابیسی را شتاب میبخشند.




گفتگو