Description
Summary
pg_stat_monitor fails to build against PostgreSQL 19 (19devel) due to several API changes. The
current CI matrix covers PG 14-18 only.
Build Failures
The following PG19 API changes break compilation:
planner_hook signature change — now takes an additional ExplainState *es parameter
QueryDesc->totaltime renamed to QueryDesc->query_instr — PG19 manages the
InstrStart/InstrStop lifecycle automatically via query_instr_options
LWLockNewTrancheId() now requires a name argument
ShmemInitHash() dropped the max_size parameter (5->4 args)
escape_string_warning removed from core_yy_extra_type
- Missing transitive includes —
storage/shmem.h, storage/proc.h, utils/tuplestore.h must
be explicitly included
Test Failures
level_tracking regression test needs an alternate expected output for PG19 (immutable SQL
functions inlined at plan time)
018_column_names.pl TAP test needs a PG19 column list entry
007_settings_pgsm_query_shared_buffer TAP test needs a .out.19 expected output variant
Fix
PR with full fix: #654
All changes use #if PG_VERSION_NUM >= 190000 / #else / #endif guards. Zero impact on PG
14-18. All 22 regression tests and 34 TAP tests pass.
Suggested solution
No response
Additional context
No response
Code of Conduct
Description
Summary
pg_stat_monitor fails to build against PostgreSQL 19 (19devel) due to several API changes. The
current CI matrix covers PG 14-18 only.
Build Failures
The following PG19 API changes break compilation:
planner_hooksignature change — now takes an additionalExplainState *esparameterQueryDesc->totaltimerenamed toQueryDesc->query_instr— PG19 manages theInstrStart/InstrStop lifecycle automatically via
query_instr_optionsLWLockNewTrancheId()now requires a name argumentShmemInitHash()dropped themax_sizeparameter (5->4 args)escape_string_warningremoved fromcore_yy_extra_typestorage/shmem.h,storage/proc.h,utils/tuplestore.hmustbe explicitly included
Test Failures
level_trackingregression test needs an alternate expected output for PG19 (immutable SQLfunctions inlined at plan time)
018_column_names.plTAP test needs a PG19 column list entry007_settings_pgsm_query_shared_bufferTAP test needs a.out.19expected output variantFix
PR with full fix: #654
All changes use
#if PG_VERSION_NUM >= 190000/#else/#endifguards. Zero impact on PG14-18. All 22 regression tests and 34 TAP tests pass.
Suggested solution
No response
Additional context
No response
Code of Conduct