Как это было представлено из года в год в период с сентября по октябрь, Объявлено о выпуске новой версии PostgreSQL 17 и как и во всех предыдущих версиях, Приоритетом остается улучшение производительности и оптимизация. ресурсов, особенно для таких операций, как ВАКУУМ, ввод-вывод и запросы, а самой важной новой функцией этого выпуска является инкрементное резервное копирование.
Для бизнес-пользователей обновление содержит множество улучшений, которые упрощают управление и использование баз данных. Хотя PostgreSQL исторически была реляционной базой данных, эта версия расширяет ее интеграцию за счет расширенных функций для работы с документами JSON — функции, обычно связанной с MongoDB Atlas.
Что нового в PostgreSQL 17
В представленной новой версии PostgreSQL 17 новая структура данных в режиме ВАКУУМ, что снижает потребление памяти до 20 раз, позволяя выполнять эти операции быстрее и эффективнее с точки зрения общих ресурсов.
Со стороны Улучшения производительности, управление журналом обратной записи (WAL) был оптимизирован, что позволило добиться двукратного увеличения производительности записи в системах с множеством одновременных запросов. Было предложено Интерфейс потокового ввода-вывода для улучшения последовательного поиска и обновление статистики после выполнения операции АНАЛИЗ.
В дополнение к этому, улучшены запросы с предложениями «IN» С помощью индексов B-дерева было реализовано параллельное построение индексов BRIN, оптимизированы проверки NOT NULL и ускорена обработка общих табличных выражений (CTE), а для интенсивных вычислений включены инструкции SIMD, такие как AVX-512, для ускорения таких операций, как функция `bit_count`.
Еще одна новинка, которая заслуживает внимания, — это новые возможности для JSON, так как Теперь пользователи могут запрашивать типы данных JSON, используя стандартные команды SQL. Это возможно благодаря новому функционалу таблиц. json, который преобразует данные JSON в табличную структуру. Оттуда пользователи могут делать запросы, используя предложение FROM в SQL, что позволяет возвращать данные в реляционном формате. Добавлена функция JSON_TABLE для преобразования данных JSON в стандартные таблицы PostgreSQL.
В новая функция инкрементного резервного копирования в PostgreSQL 17 это позволяет создавать резервные копии только изменений, внесенных с момента последнего резервного копирования полный или инкрементный, что оптимизирует использование полосы пропускания и уменьшает объем хранилища. Хотя PostgreSQL уже предлагал такие решения, как архивирование WAL, которое реплицировало журнал упреждающей записи (WAL) для поддержки необходимых разделов базы данных, в версии 17 впервые представлен собственный механизм для выполнения инкрементального копирования. Эта система не только сводит к минимуму перебои во время работы, оказывая меньшее влияние на производительность, но также значительно сокращает время восстановления, что является ключевым аспектом, поскольку восстановление резервных копий обычно является медленным и тревожным процессом для пользователей.
Реализован независимый от платформы движок для обработки свойств локали, обеспечивая единообразное поведение при упорядочивании результатов запроса. Этот движок учитывает такие факторы, как наличие специальных символов и чувствительность к регистру при сортировке значений. Механизм логической репликации теперь упрощает процесс обновления базы данных без необходимости удалять слоты логической репликации или повторно синхронизировать данные при переходе на новую версию.
Из другие изменения, которые выделяются:
- Экспорт длинных строк с помощью команды COPY ускорился почти в два раза.
- Оптимизировано копирование при совпадении исходной и целевой кодировок.
- Была добавлена опция `ON_ERROR`, позволяющая продолжить импорт, несмотря на ошибки при вставке данных.
- Добавлена возможность использовать столбцы с уникальными идентификаторами в секционированных таблицах.
- Реализована функция аварийного переключения для переключения на резервный сервер в отказоустойчивых конфигурациях.
- Добавлена новая утилита pg_createsubscriber для преобразования физической реплики в логическую.
- Введена опция «sslnegotiation» для согласования безопасных соединений TLS напрямую с использованием расширения ALPN TLS.
- Добавлена предопределенная роль pg_maintain, дающая пользователям право выполнять операции, связанные с обслуживанием СУБД.
Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.