در 24 سپتامبر، تیم توسعه انتشار نسخه بعدی Postgresql شماره 13 را اعلام کرد. نسخه جدید از جمله بر بهبود عملکرد، سرعت بخشیدن به خدمات تعمیر و نگهداری داخلی و ساده سازی نظارت بر پایگاه داده و همچنین کنترل دسترسی قابل اطمینان تر به سیستم تمرکز دارد.
کار بر روی بهینه سازی نمایه سازی جدول از نظر پردازش تکراری در میان داده های نمایه شده در درخت های شاخص باینری ادامه یافت، که نه تنها سرعت اجرای پرس و جو را امکان پذیر کرد، بلکه فضای دیسک اشغال شده توسط ایندکس را نیز کاهش داد.
علاوه بر این، یک الگوریتم مرتبسازی افزایشی اضافه شده است که در آن مرتبسازی مکرر دادههایی که قبلاً در مراحل قبلی مرتب شدهاند، سریعتر عمل میکند، و برخی از پرسوجوها را میتوان با استفاده از آمار توسعهیافته جدید (از طریق دستور CREATE STATISTICS) هنگام محاسبه یک مرحله کارآمدتر تسریع کرد. طرح مرحله ای
اجرای پرسوجوهایی با تجمیع دادههای پرهزینه نیز با استفاده بیشتر از تجمیع هششده و ریختن بخشی از دادههای انباشتهشده به دیسک در صورتی که در RAM جا نمیشود، بهینه شده است. افزایش قابل توجهی در سرعت اتصال جداول واقع در پارتیشن های مختلف وجود دارد.
کارهای قابل توجهی برای ساده سازی نگهداری و مدیریت پایگاه های داده Postgresql انجام شده است. وظیفه داخلی "خلاء کردن"، یعنی استفاده از فضای آزاد دیسک پس از حذف یا بازنویسی ردیف ها، اکنون می تواند در رشته های موازی اجرا شود و مدیر اکنون این فرصت را دارد که تعداد آنها را مشخص کند. علاوه بر این، ابزارهای جدیدی برای نظارت بر فعالیت فعلی پایگاه داده اضافه شده است و از بروز خطا در هنگام همگامسازی گزارشهای پیشضبط بین Master و Replicaها جلوگیری میشود که میتواند منجر به درگیری در هنگام قطع کردن رپلیکها یا اختلال در یکپارچگی اطلاعات توزیعشده شود. پایگاه داده پس از بازیابی آنها بر اساس داده های گزارش.
در میان نوآوری های توسعه دهندگان، ارزش برجسته کردن تابع datetime() است که فرمت های مختلف ضبط زمان استاندارد را به یک نوع Postgresql داخلی تبدیل می کند. تابع تولید UUID v4 خارج از جعبه موجود است gen_random_uuid(); عادی سازی کار با یونیکد؛ یک سیستم انعطافپذیرتر برای توزیع دادههای جدول بر روی گرههای شبکه متصل پایگاه داده با تکرار کامل در سطح منطقی، و همچنین تغییرات دیگر در پرسوجوها و محرکهای جدید موجود برای کپیها.
کنترل دسترسی به پایگاه داده به عنوان یکی از اجزای کلیدی سیستم بیان شده است و نسخه جدید گام های بلندی در این زمینه برداشته است. اکنون فقط یک کاربر ممتاز (ابر کاربر) می تواند پسوندهای پایگاه داده را نصب کند. در عین حال، کاربران عادی میتوانند فقط آن دسته از برنامههای افزودنی را که بهعنوان مورد اعتماد علامتگذاری کردهاند، یا مجموعه کوچکی از برنامههای افزودنی که بهطور پیشفرض قابل اعتماد در نظر گرفته میشوند را نصب کنند (مثلا pgcrypto، tablefunc یا hstore). هنگام احراز هویت کاربران با استفاده از مکانیسم SCRAM (هنگامی که از طریق درایور libpq کار میکنید)، اکنون به "Channel binding" نیاز است، و تابع wrapper برای دادههای شخص ثالث postgres_fdw از نسخه 13 از مجوز گواهی پشتیبانی میکند.
منبع: linux.org.ru