PostgreSQL 16 надходить із покращеною продуктивністю, функціями тощо

PostgreSQL

PostgreSQL, також званий Postgres, є відкритою об’єктно-орієнтованою системою керування реляційною базою даних.

Після 11 місяців розробки було оголошено про випуск нової версії PostgreSQL 16. Ця нова стабільна гілка СУБД отримуватиме оновлення протягом п'яти років, до листопада 2028 року. Це також знаменує собою кінець гілки PostgreSQL 11.x, найстарішої підтримуваної наразі гілки, яка буде припинена 9 листопада.

Для тих, хто ще не знайомий з PostgreSQL, він також відомий як Postgres і є безкоштовною системою керування реляційними базами даних (RDBMS) з відкритим кодом , яка має на меті запропонувати базу даних, засновану на розширюваності та відповідності технічним стандартам.

Основні нові можливості PostgreSQL 16

Ця нова версія PostgreSQL 16 містить розширені інструменти контролю доступу для логічної реплікації. Наприклад, додано нову попередньо визначену функцію "pg_create_subscription", яка дозволяє користувачам надавати право створювати нові підписки.

На стороні клієнта додано підтримку балансування навантаження за допомогою стандартної бібліотеки libpq. Балансування навантаження дозволяє клієнту підключатися до різних хостів, які можна вибирати в певному або випадковому порядку. Якщо хост недоступний, виконується спроба підключення до іншого сервера. Після встановлення з'єднання запити в межах сеансу надсилаються на вибраний сервер.

Крім того, було проведено оптимізації та покращено роботу планувальника запитів, оскільки забезпечується паралелізація операцій об'єднання таблиць » ПОВНІСТЬ » та » ПРАВЕ ПРИЄДНАННЯ »

У PostgreSQL 16 ми також знаходимо розширену підтримку локалі "Collation" , яка дозволяє встановлювати правила сортування та методи порівняння на основі значення символів. За замовчуванням тепер компілюється з локалями ICU замість локалі libc.

Покращено продуктивність логічної реплікації , оскільки реалізовано можливість використання одночасно працюючих процесорів , а також можливість використання індексів B-дерева для таблиць без первинних ключів, що усуває необхідність послідовного сканування під час пошуку записів, а також прискорено початкову синхронізацію деяких таблиць у двійковому форматі.

Ще одним покращенням механізму логічної реплікації є те, що тепер він дозволяє передавати зміни, внесені до бази даних під час додавання, видалення або оновлення записів, на інший сервер; його було розширено можливістю реплікації змін із резервного сервера.

Також було додано підтримку двонаправленої логічної реплікації таблиць , що дозволяє синхронізувати зміни між двома таблицями на різних серверах. Можливості реплікації, додані до PostgreSQL 16, дозволяють створювати багатосерверні конфігурації (активний-активний режим), де операції INSERT, UPDATE та DELETE можна виконувати одночасно.

Інші помітні зміни включають:

  • Оптимізовано використання операцій «RIGHT JOIN» і «OUTER JOIN» для пошуку рядків, яких немає в об’єднаній таблиці («анти-об’єднання»).
  • Підвищено ефективність плану оптимізації для запитів, які використовують агрегатні функції в поєднанні з пропозиціями DISTINCT або ORDER BY.
  • Інкрементне сортування використовується для прискорення запитів SELECT DISTINCT.
    Стратегію роботи VACUUM було вдосконалено, щоб зменшити кількість ситуацій, які потребують блокування всього столу.
  • На архітектурах x86 і ARM інструкції векторного процесора (SIMD) реалізовані для прискорення обробки рядків ASCII, операцій з даними JSON і виконання пошуку масивів і субтранзакцій.
  • Модуль «auto_explain» тепер включає підтримку значень журналу, що передаються в параметризовані запити.
  • Покращено точність алгоритму відстеження запитів, який використовується в представленнях pg_stat_statements і pg_stat_activity.
  • Розширено можливості моніторингу продуктивності СУБД. Додано службове представлення » pg_stat_io » зі статистикою, що відображає навантаження на систему вводу-виводу різними серверними (фоновий робочий, автовакуум тощо) та об’єктами.
  • У вікні служби » pg_stat_all_tables » додано нове поле з інформацією про час останнього сканування таблиці чи індексу.

Зрештою, якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.


Додати як пріоритетне джерело в Google