2. Различия между Postgres Pro Standard и PostgreSQL
Postgres Pro предоставляет наиболее актуальную версию PostgreSQL c добавленными дополнительными изменениями и добавленными расширениями. Многие из этих изменений уже приняты сообществом PostgreSQL и включены в состав следующей разрабатываемой версии PostgreSQL. Также в дистрибутив включены некоторые расширения и изменения, разработанные в Postgres Professional. Пользователи Postgres Pro таким образом получают ранний доступ к ряду важных нововведений и исправлений.
В настоящее время Postgres Pro Standard имеет следующие отличия от PostgreSQL:
- Улучшение производительности на многоядерных системах (оптимизация буфер-менеджера и блокировок).
- Усовершенствования полнотекстового поиска: поиск фраз, морфология hunspell, некоторые морфологические словари включены в дистрибутив и могут быть подключены одним оператором SQL, модуль shared_ispell позволяет хранить словари в разделяемой памяти.
- Покрывающие индексы.
- Поддержка libicu на всех платформах, что обеспечивает независимые от платформы результаты сортировки.
- Модуль pg_trgm поддерживает нечёткое сравнение строк и поиск подстрок.
- Улучшенный модуль pageinspect обеспечивает доступ к внутренним структурам хранения данных.
- Модуль sr_plan позволяет сохранять и восстанавливать планы запросов.
- Модуль dump_stat позволяет сохранять статистику данных при резервном копировании и восстановлении.
- Модуль jsquery реализует специальный язык запросов для эффективного, с использованием индексов, поиска в структурированных данных JSONB.
- Модуль pg_variables содержит функции для работы с переменными различных типов.
- Модуль pg_pathman предоставляет оптимизированный механизм секционирования, а также функции для создания и управления секциями.
- Модуль pg_query_state даёт возможность узнавать текущее состояние выполнения запросов в работающем обслуживающем процессе.
- pg_probackup — менеджер резервного копирования и восстановления.
- Модуль mchar предоставляет дополнительный тип данных для совместимости с Microsoft SQL Server.
- Модуль fulleq предоставляет дополнительный оператор равенства для совместимости с Microsoft SQL Server.
- Модуль fasttrun предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, предотвращающую разрастание каталога pg_class.
- Модуль online_analyze предоставляет набор функций, которые немедленно обновляют статистику в целевых таблицах после операций INSERT, UPDATE, DELETE и SELECT INTO в них.
- Модуль plantuner добавляет поддержку указаний для планировщика, позволяющих отключать или подключать определённые индексы при выполнении запроса.
- Модуль pg_tsparser реализует альтернативный анализатор текстового поиска.
Выпуски Postgres Pro Standard следуют за выпусками PostgreSQL, хотя иногда могут выпускаться чаще. Схема версионирования Postgres Pro Standard основана на схеме версионирования PostgreSQL и включает дополнительную цифру.