PostgreSQL 16 поставляется с улучшениями производительности, функциями и многим другим.

PostgreSQL

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

После 11 месяцев разработки Объявлено о выпуске новой версии PostgreSQL 16, который появляется как новая стабильная ветвь СУБД и в которой обновления в течение пяти лет, до ноября 2028 года, Кроме того, это знаменует собой конец ветки PostgreSQL 11.x, самой старой из текущих веток с поддержкой, которая завершится 9 ноября.

Тем, кто еще не знаком с PostgreSQL, следует знать, что он также известен как Postgres и это система управления реляционной базой данных (СУБД) бесплатно, с открытым исходным кодом, цель которого — предложить базу данных, основанную на расширяемости и соответствии с техническими стандартами.



Основные новые возможности PostgreSQL 16

В представленной новой версии PostgreSQL 16 выделяется то, что Расширены инструменты контроля доступа для логической репликации. Например, была добавлена ​​новая предопределенная функция «pg_create_subscription», которая позволяет давать пользователям право создавать новые подписки.



Добавлено поддержка балансировки нагрузки на стороне клиента которые используют стандартную библиотеку libpq, балансировка позволяет клиенту подключаться к разным хостам, которые могут выбираться в определенном или случайном порядке. Если хост недоступен, предпринимается попытка подключения к другому серверу. После установления соединения запросы внутри сеанса отправляются на выбранный сервер.

Помимо этого произведены оптимизации и улучшена работа планировщика запросов, поскольку предусмотрено распараллеливание операций соединения таблиц » ПОЛНОСТЬЮ » и » ПРАВОЕ СОЕДИНЕНИЕ »



В PostgreSQL 16 мы также можем найти это расширенная поддержка локальных свойств «Сортировка», что позволяет установить правила классификации и методы сравнения с учетом значения символов. По умолчанию он теперь компилируется с локалями ICU вместо локали libc.

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

Еще одно улучшение, которое получил механизм логической репликации, заключается в том, что теперь позволяет передавать изменения, внесенные в базу данных При добавлении, удалении или обновлении записей на другой сервер расширена возможность репликации изменений с резервного сервера.



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

Из другие изменения которые выделяются:



  • Оптимизировано использование операций «ПРАВОЕ СОЕДИНЕНИЕ» и «ВНЕШНЕЕ СОЕДИНЕНИЕ» для поиска строк, которых нет в объединенной таблице («антиобъединение»).
  • Повышена эффективность плана оптимизации для запросов, в которых используются агрегатные функции в сочетании с предложениями 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» с информацией о времени последнего сканирования таблицы или индекса.

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




2023-09-19T12:22:28
приложений