PostgreSQL: различия между версиями

Материал из sysadm
Перейти к навигации Перейти к поиску
Строка 2: Строка 2:
  
 
'''''Autovacuum''''' - процесс сборки мусора
 
'''''Autovacuum''''' - процесс сборки мусора
 +
 +
 +
Производительность и оптимизация
 +
 +
* '''''Asynchronous I/O (AIO)''''' - новая подсистема для асинхронного ввода-вывыода, которая значительно повышает производительность операций последовательного сканирования, сканирования битовых карт и VACUUM
 +
* '''''Skip Scans''''' - поддержка сканирования с пропуском (skip scan) для B-tree индексов, что позволяет использовать многоколоночные индексы даже при отсутствии в условии первой колонки
 +
* Параллельное создание GIN индексов - возможность распараллеливания процесса построения GIN индексов для ускорения их создания
 +
* Улучшения оптимизатора запросов - более "умное" планирование запросов, особенно для операций JOIN и GROUP BY, а также улучшенное использование инкрементальных сортировок в merge joins
 +
 +
Функции для разработчиков
 +
 +
* '''''uuidv7()''''' - новая функция для генерации UUID версии 7, которые упорядочены по времени, что обеспечивает лучшую производительность индексов при распределенных нагрузках.
 +
* Виртуальные генерируемые столбцы - теперь являются поведением по умолчанию (ранее были STORED), что означает вычисление значений при чтении данных, а не при записи, экономя место на диске.
 +
* Расширенное предложение RETURNING - возможность доступа к значениям OLD и NEW в предложении RETURNING для команд INSERT, UPDATE, DELETE и MERGE.
 +
* Временные ограничения (Temporal Constraints) - поддержка ограничений целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY) над диапазонами (например, временными интервалами).
 +
 +
Администрирование и безопасность
 +
 +
* Аутентификация '''''OAuth 2.0''''' - встроенная поддержка аутентификации через OAuth 2.0, упрощающая интеграцию с современными системами единого входа (SSO).
 +
* Улучшенный '''''pg_upgrade''''' - утилита обновления мажорных версий теперь сохраняет статистику планировщика, что устраняет провалы производительности сразу после обновления.
 +
* Улучшенный '''''EXPLAIN ANALYZE''''' - вывод команды EXPLAIN ANALYZE стал информативнее, включая детали об использовании памяти, диска и статистику WAL.
 +
* Прекращение поддержки MD5 - метод аутентификации на основе MD5 устарел и будет удален в будущих версиях, рекомендуется переход на SCRAM.
 +
* Новое представление '''''pg_stat_io''''' - новое системное представление для детального мониторинга операций ввода-вывода.
  
 
= Postgres Pro Enterprise =
 
= Postgres Pro Enterprise =

Версия 21:51, 5 декабря 2025

PostgreSQL Community

Autovacuum - процесс сборки мусора


Производительность и оптимизация

  • Asynchronous I/O (AIO) - новая подсистема для асинхронного ввода-вывыода, которая значительно повышает производительность операций последовательного сканирования, сканирования битовых карт и VACUUM
  • Skip Scans - поддержка сканирования с пропуском (skip scan) для B-tree индексов, что позволяет использовать многоколоночные индексы даже при отсутствии в условии первой колонки
  • Параллельное создание GIN индексов - возможность распараллеливания процесса построения GIN индексов для ускорения их создания
  • Улучшения оптимизатора запросов - более "умное" планирование запросов, особенно для операций JOIN и GROUP BY, а также улучшенное использование инкрементальных сортировок в merge joins

Функции для разработчиков

  • uuidv7() - новая функция для генерации UUID версии 7, которые упорядочены по времени, что обеспечивает лучшую производительность индексов при распределенных нагрузках.
  • Виртуальные генерируемые столбцы - теперь являются поведением по умолчанию (ранее были STORED), что означает вычисление значений при чтении данных, а не при записи, экономя место на диске.
  • Расширенное предложение RETURNING - возможность доступа к значениям OLD и NEW в предложении RETURNING для команд INSERT, UPDATE, DELETE и MERGE.
  • Временные ограничения (Temporal Constraints) - поддержка ограничений целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY) над диапазонами (например, временными интервалами).

Администрирование и безопасность

  • Аутентификация OAuth 2.0 - встроенная поддержка аутентификации через OAuth 2.0, упрощающая интеграцию с современными системами единого входа (SSO).
  • Улучшенный pg_upgrade - утилита обновления мажорных версий теперь сохраняет статистику планировщика, что устраняет провалы производительности сразу после обновления.
  • Улучшенный EXPLAIN ANALYZE - вывод команды EXPLAIN ANALYZE стал информативнее, включая детали об использовании памяти, диска и статистику WAL.
  • Прекращение поддержки MD5 - метод аутентификации на основе MD5 устарел и будет удален в будущих версиях, рекомендуется переход на SCRAM.
  • Новое представление pg_stat_io - новое системное представление для детального мониторинга операций ввода-вывода.

Postgres Pro Enterprise

Основные модули и функции, уникальные для редакции Postgres Pro Enterprise

  • CFS (Compressed File System) - встроенный механизм постраничного сжатия данных для экономии дискового пространства и снижения операций ввода-вывода
  • 64-разрядный счетчик транзакций - устраняет проблему переполнения 32-разрядного счетчика транзакций (wraparound), присущую стандартному PostgreSQL
  • BiHA (Built-in High Availability) - встроенный высокодоступный отказоустойчивый кластер (multi-master) с быстрым временем переключения (failover)
  • Aqo (Adaptive Query Optimizer) - расширение для адаптивной оптимизации планов запросов на основе машинного обучения
  • Усовершенствованный диагностический профайлер - инструмент для более глубокого анализа и приоритизации ресурсов
  • Автономные транзакции - поддержка автономных транзакций для определенных сценариев
  • Улучшенное секционирование таблиц - оптимизация работы с большим количеством партиций (более 10 000)
  • Уменьшенный размер B-tree индексов - оптимизация хранения дублирующихся ключей
  • Proxima - пуллер соединений и прокси-сервер, оптимизированный для работы с кластером
  • Автоматическое восстановление страниц - механизм автоматического исправления поврежденных страниц данных при репликации
  • pgpro_pwr (Postgres Pro Workload Reporter) - модуль для формирования отчетов о производительности и загрузке системы, аналогичный Oracle AWR

Лицензирование Postgres Pro Enterprise осуществляется за ядра процессора, все эти функции и модули включены в стоимость лицензии