September 25, 2025: PostgreSQL 18 Released!
This page in: Chinese / English / French / German / Greek / Hebrew / Indonesian / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Thai / Ukrainian

PostgreSQL 18 Press Kit

Contents

Original Press Release

25 вересня 2025 р.PostgreSQL Global Development Group сьогодні оголосила про випуск PostgreSQL 18, останньої версії найсучаснішої у світі бази даних з відкритим кодом. PostgreSQL 18 покращує продуктивність для робочих навантажень будь-якого розміру завдяки новій підсистемі вводу-виводу, яка продемонструвала майже втричі більше підвищення продуктивності при читанні зі сховища, а також збільшує кількість запитів, які можуть використовувати індекси. Ця версія робить оновлення основних версій менш руйнівними, прискорюючи час оновлення та скорочуючи термін, необхідний для досягнення очікуваної продуктивності після завершення оновлення. Розробники також отримають переваги від функцій PostgreSQL 18, включаючи віртуальні генеровані стовпці, які обчислюють значення під час запиту, та функцію uuidv7(), яка є дружньою до бази даних і забезпечує краще індексування та читання UUID. PostgreSQL 18 спрощує інтеграцію з системами одноразового входу (SSO) завдяки підтримці аутентифікації OAuth 2.0. «Завдяки зусиллям глобальної спільноти відкритого програмного забезпечення формується кожна версія PostgreSQL і реалізуються функції, які відповідають потребам користувачів у місцях зберігання їхніх даних», — сказав Джонатан Кац, член команди ядра PostgreSQL. «PostgreSQL 18 базується на довгій і багатій історії проєкту, що забезпечує надійне та стабільне управління даними, продовжуючи розширювати обсяг робіт, які він може підтримувати». PostgreSQL, інноваційна система управління даними, відома своєю надійністю, стабільністю та розширюваністю, має майже 30-річний досвід розробки відкритого коду глобальною спільнотою розробників і стала улюбленою відкритою реляційною базою даних для організацій будь-якого розміру.

Впровадження асинхронного вводу-виводу

Раніше PostgreSQL використовував механізми попереднього зчитування операційної системи для прискорення доступу до даних. Однак, оскільки операційні системи не мають уявлення про специфічні для бази даних моделі доступу, вони не завжди можуть передбачити, які дані будуть потрібні, що призводить до неоптимальної продуктивності при виконанні багатьох завдань. PostgreSQL 18 представляє нову підсистему асинхронного вводу-виводу (AIO), призначену для усунення цього обмеження. AIO дозволяє PostgreSQL видавати кілька запитів на ввід-вивід одночасно, замість того, щоб чекати завершення кожного з них послідовно. Це розширює можливості попереднього читання і покращує загальну пропускну здатність. Операції AIO, що підтримуються в PostgreSQL 18, включають послідовне сканування, сканування бітової карти і вакуумування. Тестування показало підвищення продуктивності до 3 разів у певних сценаріях. Нове налаштування io_method дозволяє перемикатися між методами AIO, включаючи worker та io_uring, або ви можете вибрати збереження поточної поведінки PostgreSQL за допомогою налаштування sync. Тепер є більше параметрів, які слід враховувати при налаштуванні AIO. Більше про це ви можете дізнатися в документації.

Швидші оновлення, краща продуктивність після оновлення

Ключовою функцією PostgreSQL є генерація та зберігання статистичних даних, які допомагають PostgreSQL вибрати найефективніший план запиту. До PostgreSQL 18 ці статистичні дані не переносилися при оновленні основної версії, що могло спричинити значне погіршення продуктивності запитів у завантажених системах до завершення виконання ANALYZE. PostgreSQL 18 додає можливість зберігати статистику планувальника під час оновлення основної версії, що допомагає оновленому кластеру швидше досягти очікуваної продуктивності після оновлення. Крім того, утиліта pg_upgrade, яка виконує оновлення основних версій, включає кілька вдосконалень у PostgreSQL 18, таких як швидше оновлення, коли база даних містить багато об'єктів, таких як таблиці та послідовності. Ця версія також дозволяє pg_upgrade обробляти свої перевірки паралельно на основі налаштувань параметра --jobs і додає параметр --swap, який обмінює каталоги оновлення замість копіювання, клонування або зв'язування файлів.

Покращення запитів та загальної продуктивності

PostgreSQL 18 ще більше прискорює виконання запитів завдяки функціям, які автоматично прискорюють ваші робочі навантаження. У цій версії представлено пошук «skip scan» у багатостовпцевих індексах B-tree, який покращує час виконання запитів, що опускають умову = в одному або декількох префіксних стовпцях індексу. Він також може оптимізувати запити, які використовують умови OR у WHERE для використання індексу, що призводить до значно швидшого виконання. Існує також безліч поліпшень у тому, як PostgreSQL планує та виконує з'єднання таблиць, від підвищення продуктивності хеш-з'єднань до можливості використання злиття з'єднань для інкрементального сортування. PostgreSQL 18 також підтримує паралельне створення для індексів GIN, приєднуючись до індексів B-tree та BRIN, які вже підтримують цю можливість. Ця версія також базується на підтримці PostgreSQL апаратного прискорення, включаючи підтримку ARM NEON, і внутрішніх властивостях SVE CPU для функції popcount, яка використовується bit_count та іншими внутрішніми можливостями.

Покращення досвіду розробників

PostgreSQL 18 вводить віртуальні генеровані стовпці, які обчислюють значення під час запиту, а не зберігають їх. Тепер це стандартний варіант для генерованих стовпців. Крім того, збережені генеровані стовпці тепер можна логічно реплікувати. Ця версія додає можливість доступу як до попередніх (OLD), так і до поточних (NEW) значень у виразі RETURNING для команд INSERT, UPDATE, DELETE та MERGE. PostgreSQL 18 також додає генерацію UUIDv7 за допомогою функції uuidv7(), що дозволяє генерувати випадкові UUID, упорядковані за часовими мітками, для підтримки кращих стратегій кешування. PostgreSQL 18 включає uuidv4() як псевдонім для gen_random_uuid(). PostgreSQL 18 додає часові обмеження — обмеження над діапазонами — як для обмежень PRIMARY KEY, так і для UNIQUE з використанням виразу WITHOUT OVERLAPS, а також для обмежень FOREIGN KEY з використанням виразу PERIOD. Нарешті, PostgreSQL 18 спрощує створення визначення схеми зовнішньої таблиці за допомогою визначення локальної таблиці за допомогою команди CREATE FOREIGN TABLE ... LIKE.

Покращена обробка тексту

PostgreSQL 18 спрощує та прискорює обробку тексту завдяки кільком новим вдосконаленням. У цій версії додано сортування PG_UNICODE_FAST, яке забезпечує повну семантику Unicode для перетворення регістру, одночасно сприяючи прискоренню багатьох порівнянь. Сюди входять функції порівняння рядків upper і lower, а також нова функція casefold для порівнянь, що не враховують регістр. Крім того, PostgreSQL 18 тепер підтримує текстове порівняння LIKE, що використовує недетерміноване сортування, спрощуючи виконання більш складних операцій зіставлення зразків. У цій версії також змінено повнотекстовий пошук для використання стандартного постачальника сортування кластера замість постійного використання libc, що може вимагати переіндексації всіх повнотекстових та pg_trgm індексів після виконання pg_upgrade.

Реплікація

PostgreSQL 18 підтримує повідомлення про конфлікти запису логічної реплікації в журналах та у поданні pg_stat_subscription_stats. Крім того, CREATE SUBSCRIPTION тепер за замовчуванням використовує паралельну потокову передачу для застосування транзакцій, що може допомогти підвищити продуктивність. Утиліта pg_createsubscriber тепер має опцію --all, завдяки якій ви можете створити логічні репліки для всіх баз даних в кластері за допомогою однієї команди. PostgreSQL 18 також дозволяє автоматично видаляти неактивні слоти реплікації, щоб запобігти зберіганню занадто великої кількості файлів журналу попереднього запису на сервері публікацій.

Технічне обслуговування та моніторинг

PostgreSQL 18 покращує свою стратегію vacuum, проактивно заморожуючи більше сторінок під час регулярних вакуумувань, зменшуючи накладні витрати та допомагаючи в ситуаціях, що вимагають агресивних вакуумувань. PostgreSQL 18 додає більше деталей до виводу EXPLAIN, який надає інформацію про виконання плану запиту, і починаючи з цієї версії PostgreSQL, тепер автоматично показує, скільки буферів (основна одиниця сховища даних) використовується під час виконання EXPLAIN ANALYZE. Крім того, EXPLAIN ANALYZE тепер показує, скільки пошуків індексу відбувається під час сканування індексу, а EXPLAIN ANALYZE VERBOSE включає статистику CPU, WAL і середнього читання. PostgreSQL 18 включає більше інформації в pg_stat_all_tables про час, витрачений на вакуумування та пов'язані операції, а також статистику використання вводу-виводу та WAL для кожного з'єднання.

Інші важливі зміни

Бази даних, ініціалізовані за допомогою initdb PostgreSQL 18, тепер мають увімкнені контрольні суми сторінок за замовчуванням. Це може вплинути на оновлення з кластерів, де контрольні суми не ввімкнені, що вимагатиме створення нового кластера PostgreSQL 18 з опцією --no-data-checksums під час використання pg_upgrade. PostgreSQL 18 також представляє нову версію (3.2) протоколу PostgreSQL wire protocol, першу нову версію протоколу з часів PostgreSQL 7.4 (2003). libpq все ще використовує версію 3.0 за замовчуванням, в той час як клієнти (наприклад, драйвери, пулери, проксі) додають підтримку нової версії протоколу.

Додаткові функції

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

Про PostgreSQL

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

Посилання

Про PostgreSQL

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

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

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

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

Де скачати

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

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

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

PostgreSQL 18 постачається як з документацією у форматі 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 або для однієї з визнаних неприбуткових організацій, будь ласка, відвідайте сторінку для пожертвувань.