Objective: guarantee that vectorized execution is not only correct, but actively used in parallel plans where supported.
- For each target PG version, run a clean build before install:
make -C dist/src/backend/engine cleanmake -C dist cleanmake -C dist PG_CONFIG=/usr/lib/postgresql/<v>/bin/pg_configsudo make -C dist PG_CONFIG=/usr/lib/postgresql/<v>/bin/pg_config install
- Restart cluster after install when
shared_preload_librariesincludesstorage_engine. - Validate no cross-version symbol contamination in installed library.
- Run full suite on PG 15, 16, 17, 18, 19.
- Keep matrix artifacts in
dist/tests/bench/matrix_YYYYMMDD[_tag]/. - Require
ALL 155 TESTS PASSEDfor each supported version before release.
- Parallel grouped query with
count/sum/min/maxmust showStorageEngineVectorGroupAggin EXPLAIN. - The same grouped query must show parallel execution in EXPLAIN (contains
Parallel). - Parallel grouped
avg(...)must fallback (noStorageEngineVectorGroupAgg). - PG15 numeric plain aggregate must fallback (no
StorageEngineVectorAgg).
- For vectorized-supported shapes, enforce
VEC OFF == VEC ON. - For fallback shapes, enforce
VEC ONresult equals native/fallback result. - Add no-crash checks (
rc == 0) for all fallback-sensitive shapes.
- Run
EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY ON)for a representative parallel grouped shape. - Parse execution time for vectorized and native plans.
- Enforce wide catastrophe threshold only (current: vectorized <= 5x native).
- Keep stricter SLO checks in benchmark pipelines, not in unit/regression suite.
- Add plan excerpts proving vectorized parallel path to release notes.
- Add fallback excerpts proving safe degradation for unsupported shapes.
- Link matrix summary file and benchmark artifacts in CHANGELOG entry.