This page in: Chinese / English / French / German / Hebrew / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Swedish / Ukrainian

PostgreSQL 16 Press Kit

Contents

Original Press Release

14 вересня 2023 - PostgreSQL Global Development Group сьогодні повідомила про випуск PostgreSQL 16, останньої версії найсучаснішої бази даних з відкритим вихідним кодом у світі.

PostgreSQL 16 підвищує свою продуктивність з помітними покращеннями в паралельності запитів, у масовому завантаженні даних та в логічній реплікації. У цьому випуску є багато можливостей як для розробників, так і для адміністраторів, зокрема розширений синтаксис SQL/JSON, нова статистика моніторингу робочих навантажень, а також більша гнучкість у визначенні правил контролю доступу для управління політиками великих флотилій.

"В умовах розвитку реляційних баз даних PostgreSQL продовжує підвищувати продуктивність пошуку та управління даними у великих масштабах", - говорить Дейв Пейдж (Dave Page), член PostgreSQL Core Team. "PostgreSQL 16 надає користувачам більше методів для масштабування й розгортання своїх робочих навантажень, одночасно надаючи їм нові способи отримання інсайтів та оптимізації управління даними".

PostgreSQL — інноваційна система керування даними, відома своєю надійністю та міцністю, завдяки відкритому коду протягом 35 років розвивається розробниками глобальної спільноти й стала реляційною базою даних з відкритим кодом, яку обирають організації всіх розмірів.

Покращення продуктивності

PostgreSQL 16 покращує продуктивність наяної функціональності PostgreSQL за рахунок нових оптимізацій планувальника запитів. У цьому останньому випуску планувальник запитів може розпаралелювати FULL і RIGHT об'єднання, генерувати краще оптимізовані плани для запитів, які використовують агрегатні функції з операторами DISTINCT або ORDER BY, використовувати інкрементне сортування для запитів SELECT DISTINCT, а також оптимізувати віконні функції, щоб вони виконувалися ефективніше. Також покращені RIGHT та OUTER "анти-об'єднання", що дозволяє користувачам визначати рядки, яких немає в об'єднаній таблиці.

Цей випуск включає покращення для масового завантаження за допомогою COPY як в одиночних, так і в паралельних операціях, причому тести показують покращення продуктивності до 300% у деяких випадках. У PostgreSQL 16 додано підтримку балансування навантаження у клієнтах, що використовують libpq, а також покращено стратегію вакуумування, яка зменшує необхідність повного заморожування таблиці. Крім того, у PostgreSQL 16 реалізовано прискорення роботи процесора за допомогою SIMD на архітектурах x86 і ARM, що призводить до збільшення продуктивності при обробці ASCII і JSON рядків, а також при виконанні пошуку в масивах і субтранзакціях.

Логічна реплікація

Логічна реплікація дозволяє користувачам передавати дані до інших екземплярів PostgreSQL або абонентів, які можуть інтерпретувати протокол логічної реплікації PostgreSQL. У PostgreSQL 16 користувачі можуть виконувати логічну реплікацію з резервного сервера, тобто резервний сервер може публікувати логічні зміни на інших серверах. Це надає розробникам нові можливості розподілу робочого навантаження. Наприклад, використання резервного, а не більш завантаженого основного сервера для логічної реплікації змін до подальших систем.

Крім того, в PostgreSQL 16 є кілька поліпшень продуктивності логічної реплікації. Абоненти тепер можуть застосовувати великі транзакції з використанням паралельних виконавців. Для таблиць, які не мають первинного ключа, абоненти можуть використовувати індекси B-tree замість послідовного сканування для пошуку рядків. За певних умов користувачі також можуть прискорити початкову синхронізацію таблиць, використовуючи двійковий формат.

У PostgreSQL 16 є кілька поліпшень контролю доступу до логічної реплікації, включаючи нову попередньо визначену роль pg_create_subscription, яка надає користувачам можливість створювати нові логічні підписки. Окрім того, у цьому випуску додано підтримку двонаправленої логічної реплікації, що дозволяє реплікувати дані між двома таблицями від різних видавців.

Досвід розробників

PostgreSQL 16 додає більше синтаксису зі стандарту SQL/JSON, включаючи конструктори й предикати, такі як JSON_ARRAY(), JSON_ARRAYAGG() і IS JSON. У цьому випуску також додано можливість використовувати підкреслення для відокремлення тисяч (наприклад, 5_432_000), а також підтримку недесяткових цілих чисел, таких як 0x1538, 0o12470 і 0b1010100111000.

Розробники, які використовують PostgreSQL 16, також отримують переваги від нових команд у psql. Сюди входить \bind, яка дозволяє користувачам створювати параметризовані запити й використовувати \bind для підстановки змінних (наприклад, SELECT $1::int + $2::int \bind 1 2 \g).

У PostgreSQL 16 покращено загальну підтримку текстових зіставлень, які надають правила для сортування тексту. PostgreSQL 16 збирається з підтримкою ICU за замовчуванням, визначає локаль ICU за замовчуванням з оточення й дозволяє користувачам визначати власні правила зіставлення ICU.

Моніторинг

Ключовим аспектом налаштування продуктивності робочих навантажень баз даних є розуміння впливу операцій вводу/виводу на вашу систему. PostgreSQL 16 представляє pg_stat_io — нове джерело ключових метрик вводу/виводу для детального аналізу шаблонів доступу до вводу/виводу.

Крім того, у цьому випуску додано нове поле до подання pg_stat_all_tables, яке записує мітку часу, що показує, коли таблицю або індекс було востаннє проскановано. PostgreSQL 16 також робить auto_explain більш читабельним, записуючи значення, передані в параметризовані запити, і покращує точність алгоритму відстеження запитів, що використовується в pg_stat_statements і pg_stat_activity.

Контроль доступу та безпека

PostgreSQL 16 надає більш досконалі можливості контролю доступу та покращує інші функції безпеки. У випуску покращено керування файлами pg_hba.conf та pg_ident.conf. Зокрема, дозволено співставлення регулярних виразів для імен користувачів та баз даних, а також використання директиви include для зовнішніх конфігураційних файлів.

У цьому випуску додано кілька параметрів клієнтського з'єднання, орієнтованих на безпеку, зокрема require_auth, який дозволяє клієнтам вказувати, які параметри автентифікації вони бажають приймати від сервера, та sslrootcert="system", який вказує, що PostgreSQL має використовувати сховище довірених центрів сертифікації ("CA"), що надається операційною системою клієнта. Крім того, у випуску додано підтримку делегування облікових даних Kerberos, що дозволяє таким розширенням як postgres_fdw і dblink використовувати автентифіковані облікові дані для підключення до довірених сервісів.

Про PostgreSQL

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

Посилання

Про PostgreSQL

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

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

Більше про функціонал

Із роз'ясненнями щодо вищезазначених та інших функцій можна ознайомитися на таких ресурсах:

Де скачати

Завантажити PostgreSQL 16 можна кількома способами:

Інші інструменти та розширення доступні через мережу розширень PostgreSQL Extension Network.

Документація

PostgreSQL 16 постачається як з документацією у форматі HTML, так й у вигляді man-сторінок. Також доступна онлайн-документація у форматах HTML і PDF.

Ліцензія

PostgreSQL використовує ліцензію PostgreSQL License, BSD-подібну "дозвільну" ліцензію. Ця ліцензія сертифікована OSI і вважається широкоприйнятною як гнучка й дружня до бізнесу, тому що не обмежує використання PostgreSQL комерційними й закритими продуктами. Разом з підтримкою від багатьох компаній і публічним володінням коду, наша ліцензія робить PostgreSQL дуже популярною серед компаній, які бажають вбудувати базу даних у свій власний продукт без страху, обмежень, залежностей або змін ліцензійних умов.

Контакти

Вебсайт

Електронна пошта

Зображення та логотипи

Postgres і PostgreSQL, а також логотип зі слоном (Elephant Logo Slonik) є зареєстрованими торговими марками PostgreSQL Community Association. Якщо ви бажаєте використати ці торгові марки, ви маєте дотримуватися вимог політики використання торгових марок.

PostgreSQL Logo

Корпоративна підтримка

PostgreSQL користується підтримкою багатьох компаній, які спонсорують розробників, надають хостингові ресурси та фінансову підтримку. Перегляньте нашу спонсорську сторінку з переліком деяких прихильників проекту.

Існує також велика спільнота компаній, що пропонують професійну підтримку PostgreSQL від індивідуальних консультантів до багатонаціональних компаній.

Якщо ви бажаєте зробити фінансовий внесок для PostgreSQL Global Development Group або для однієї з визнаних неприбуткових організацій, будь ласка, відвідайте сторінку для пожертвувань.