05.11.2025

Релиз Greengage DB 7.4.0

Синхронизация с PostgreSQL 12.22, автоматическая очистка "брошенных" (orphaned) файлов, расширение схемы gp_toolkit и множество других важных исправлений и улучшений
  • Ядро Postgres
    12
  • Поддерживаемые ОС системы
  • Лицензия
    Apache 2.0

Проведена синхронизация с PostgreSQL 12.22 для лучшей производительности, стабильности и безопасности кодовой базы

Добавлена автоматическая очистка "брошенных" (orphaned) файлов с целью упрощения обслуживания и своевременного освобождения места на диске

Схема gp_toolkit дополнена новыми представлениями для анализа сегментных файлов и "перекосов" данных (data skew)

Добавлен новый конфигурационный параметр (GUC) gp_max_scan_on_shmem (который заменил устаревший MAX_SCAN_ON_SHMEM)

Выполнены улучшения сборки: удалены устаревшие зависимости, выполнен переход на основанные на Ubuntu ABI-тесты, включен DWARF4

Планирование и выполнение запросов

Проведены улучшения стабильности работы ORCA и модели оценки стоимости (исправление для рекурсии, лучший выбор хеширования, pushdown для HAVING, оценка стоимости LEFT OUTER JOIN, отключение decorrelation для COUNT() без группировки)

Исправлены spill/rescan для hash join и ненужные Motion rescan с целью улучшения работы под нагрузкой

Исправлена обработка Motion и locus между QE и слайсами OuterQuery

Стабилизирован вывод EXPLAIN ANALYZE и gp_check_functions

Скорректировано поведение функций gp_percentile_*

Восстановлены сообщения об ошибках Executor после отмены запросов

Надежность и отказоустойчивость

Удалено повторное согласование SSL (renegotiation) в gpfdist, а также внесены исправления для совместимости с OpenSSL в gpcloud

Улучшена логика восстановления и promotion (переиспользование timeline, управление неверными страницами, безопасность архивирования)

Улучшен фреймворк fault-injection, а также процесс восстановления max_tm_gxacts

Исправлены множественные SEGFAULT в режиме utility, а также проверки реплик. Добавлено четкое сообщение об ошибке синхронизации GUC

Корректность планировщика и оптимизатора

Усовершенствована трансляционная логика планировщика и ORCA (ключи распределения сторонних (foreign) таблиц, выражения с множественными параметрами, скалярные подпланы, fallback при пропущенном ForeignPlan locus)

Предотвращено появление Motion выше параметризированных подзапросов в плане

Улучшена поддержка в ORCA функционально зависимых группирующих столбцов и типобезопасных выражений USING

Производительность и наблюдаемость

Уменьшено использование памяти в pg_lock_status(), а также улучшена оценка числа кортежей

Повышен контроль за операциями с помощью gp_toolkit

Реализована более быстрая и "чистая" сборка (отключен bitcode, ужесточены проверки компилятора)

Внутренняя стабильность и совместимость

Удалена устаревшая зависимость Xerces (очистка GPDB 7)

ZSTD переведен на использование кастомных аллокаторов

Добавлена полная поддержка для модифицирующих данные CTE, в том числе в реплицированных таблицах

Разрешены tablefunc для CTAS/DML

Исправлено расширение кластера для сборок без IC proxy

Проведены общие исправления с целью повышения стабильности и безопасности использования памяти