Postgresql 13

24 вересня команда розробників повідомила про вихід чергового релізу Postgresql під номером 13. У новому випуску основну увагу, серед іншого, було приділено підвищенню продуктивності, прискоренню внутрішніх служб обслуговування та спрощенню моніторингу бази, а також більш надійному контролю доступу до системи.

Продовжилася робота над оптимізацією індексування таблиць у плані обробки дублікатів серед індексованих даних у двійкових деревах індексів, що дозволило не тільки прискорити виконання запитів, але ще й скоротити дисковий простір, що займає індексом.
Крім цього, доданий алгоритм інкрементального сортування, при якому повторне сортування вже відсортованих на попередніх кроках даних працює швидше, а в частині запитів прискорення можна досягти завдяки застосуванню нової розширеної статистики (через команду CREATE STATISTICS) при обчисленні ефективнішого покрокового плану.
Також оптимізовано виконання запитів із витратною агрегацією даних шляхом ширшого застосування хешованої агрегації та скидання частини агрегованих даних на диск, якщо вони не поміщаються в оперативну пам'ять. Відзначається значний приріст швидкості з'єднання таблиць, розташованих на різних розділах.

Чимала робота була проведена і в галузі спрощення обслуговування та адміністрування баз даних Postgresql. Вбудована задача «вакуумування», тобто використання дискового простору, що звільнився після видалення або перезапису рядків, тепер може виконуватися в паралельних потоках, при цьому у адміністратора з'явилася можливість вказати їх число. На додаток до цього додано нові засоби моніторингу поточної активності бази та запобігли помилкам при синхронізації логів попереднього запису між майстром і репліками, що могло призвести до конфліктів при відключенні реплік або порушити цілісність розподіленої бази після їх відновлення на основі даних журналу.

Серед нововведень для розробників варто виділити функцію datetime(), яка перетворює різні стандартні формати запису часу у вбудований тип Postgresql; доступну з коробки функцію генерації UUID v4 gen_random_uuid(); нормалізацію роботи з юнікодом; більш гнучку систему розподілу даних таблиці на пов'язаних мережевих вузлах бази з повноцінною реплікацією на логічному рівні, а також інші зміни у запитах та нових доступних для реплік тригерах.

Контроль доступу до бази заявляється як один із ключових компонентів системи, і в новій версії в цьому плані зроблено великі кроки вперед. Тепер встановлення розширень до бази може виконувати лише привілейований користувач (superuser). При цьому звичайні користувачі самостійно зможуть встановлювати тільки ті розширення, які позначені ним як надійні, або невелика кількість розширень, які вважаються надійними за умовчанням (наприклад, pgcrypto, tablefunc або hstore). При аутентифікації користувачів за допомогою механізму SCRAM (при роботі через драйвер libpq) тепер потрібна «прив'язка каналу», а функція-обертання для сторонніх даних postgres_fdw з 13-ої версії підтримує авторизацію за сертифікатом.

Примітки до випуску


сторінка завантаження

Джерело: linux.org.ru

Додати коментар або відгук