Отличия Postgres Pro Standard от PostgreSQLВ Postgres Pro Standard по сравнению с актуальной версией PostgreSQL на текущий момент вошли следующие изменения:
- Улучшения производительности на многоядерных системах:
- оптимизации выделения хэш-таблиц в shared memory, исключающая lock contention при большом количестве процессов.
- оптимизации Resource Owner. Улучшает производительность сложных запросов и запросом к таблицам с большим количеством партиций.
- Оптимизации buffer manager
- Оптимизация LWLock для архитектуры Power8
- Оптимизации двухфазного коммита
2.Усовершенствования полнотекстового поиска:
- поддержка поиска фраз
- поддержка словарей hunspell для работы со словоформами
- некоторые словари, в том числе русский и английский, включены в состав дистрибутива и их подключение требует одной команды SQL
- модуль shared_ispell, оптимизирующий производительность полнотекстового поиска, путем загрузки словарей в память при старте сервера, а не при начале сессии.
- Покрывающие индексы. Поддержка конструкции INCLUDING в CREATE INDEX.
- Переносимость: поддержка библиотеки libicu на всех платформах, что обеспечивает однозначную обработку порядка сортировки и прочих операций с юникодными символами. На ряде платформ эта библиотека улучшает производительность сортировки, и, что немаловажно, позволяет в Postgres Pro пользоваться abbreviated keys, которые были отключены в основной версии PostgreSQL.
- Модуль pg_trgm поддерживает не только нечеткое сравнение строк, но и нечеткий поиск подстроки.
- Модуль pageinspect поддерживает доступ не только к метаинформации, но и к внутреннему представлению данных таблиц.
- Добавлен модуль dump_stat, позволяющий при дампе базы данных сохранять информацию о статистике и восстанавливать её. Это позволяет ускорить процедуру восстановления, избавляя от необходимости вычисления статистики командой VACUUM ANALYZE после восстановления.
- Добавлен модуль JSQuery, позволяющий на специальном языке формулировать запросы к полям типа JSONB с поддержкой GIN-индексов.
- Модуль mchar предоставляет дополнительный тип данных для совместимости с Microsoft SQL Server.
- Модуль fulleq предоставляет дополнительный оператор равенства для совместимости с Microsoft SQL Server.
- Модуль fasttrun предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, предотвращающую разрастание каталога pg_class.
- Модуль online_analyze предоставляет набор функций, которые немедленно обновляют статистику в целевых таблицах после операций INSERT, UPDATE, DELETE и SELECT INTO в них.
- Модуль plantuner добавляет поддержку указаний для планировщика, позволяющих отключать или подключать определённые индексы при выполнении запроса.