05.11.2025

Greengage DB 7.4.0 product release

Implemented sync with PostgreSQL 12.22, deletion of orphaned files at the DBMS core level, extension of gp_toolkit, and other significant improvements and bug fixes
  • Postgres core
    12
  • Supported os systems
  • License
    Apache 2.0

Synced codebase with PostgreSQL 12.22, bringing upstream performance, stability, and security updates

Added automatic orphaned file cleanup to reclaim disk space and simplify maintenance

Extended gp_toolkit with new views for segment file inspection and data skew analysis

Introduced the new GUC gp_max_scan_on_shmem (which replaces deprecated MAX_SCAN_ON_SHMEM)

Implemented build system improvements: removed obsolete dependencies, switched to Ubuntu-based ABI tests, enabled DWARF4

Query planning and execution

Major ORCA stability and cost model improvements (recursion fix, better hashing choice, HAVING pushdown, LEFT OUTER JOIN costing, decorrelation disabled for COUNT() without grouping)

Fixed hash join spill/rescan and unnecessary Motion rescans, improving correctness under load

Fixed Motion and locus handling between QE and OuterQuery slices

Stabilized the EXPLAIN ANALYZE and gp_check_functions output

Corrected behavior of the gp_percentile_* functions

Restored lost Executor error messages after query cancellation

Reliability and fault tolerance

Removed SSL renegotiation in gpfdist and fixed OpenSSL compatibility in gpcloud

Improved the recovery and promotion logic (timeline reuse, invalid page handling, archive safety)

Improved the fault-injection framework and recovery of max_tm_gxacts

Fixed multiple SEGFAULT in the utility mode and replica checks. Added clear GUC sync error reporting

Planner and optimizer correctness

Enhanced the ORCA and planner translation logic (foreign table distribution keys, multi-param expressions, scalar subplans, fallback on mismatched ForeignPlan locus)

Avoided adding Motions above parameterized subplans

Improved ORCA support for functionally dependent grouping columns and type-safe USING clauses

Performance and observability

Reduced memory use in pg_lock_status() and improved tuple count estimation

Added operational visibility via gp_toolkit

Cleaner and faster builds (disabled bitcode, tightened compiler checks)

Misc stability and compatibility

Removed the obsolete Xerces dependency (GPDB 7 cleanup)

Switched ZSTD to use custom allocators

Added full support for modifying CTEs, including on replicated tables

Enabled tablefunc for CTAS/DML queries

Fixed cluster expansion on builds without IC proxy

General stability and memory safety fixes