Add compute_query_id = regress
Michael Paquier <michael@paquier.xyz>
Add compute_query_id = regress "regress" is a new mode added to compute_query_id aimed at facilitating regression testing when a module computing query IDs is loaded into the backend, like pg_stat_statements. It works the same way as "auto", meaning that query IDs are computed if a module enables it, except that query IDs are hidden in EXPLAIN outputs to ensure regression output stability. Like any GUCs of the kind (force_parallel_mode, etc.), this new configuration can be added to an instance's postgresql.conf, or just passed down with PGOPTIONS at command level. compute_query_id uses an enum for its set of option values, meaning that this addition ensures ABI compatibility. Using this new configuration mode allows installcheck-world to pass when running the tests on an instance with pg_stat_statements enabled, stabilizing the test output while checking the paths doing query ID computations. Reported-by: Anton Melnikov Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/1634283396.372373993@f75.i.mail.ru Discussion: https://postgr.es/m/YgHlxgc/OimuPYhH@paquier.xyz Backpatch-through: 14
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/config.sgml | modified | +5 −2 |
| src/backend/commands/explain.c | modified | +7 −1 |
| src/backend/utils/misc/guc.c | modified | +1 −0 |
| src/include/utils/queryjumble.h | modified | +2 −1 |
Documentation touched
Discussion
- installcheck fails when compute_query_id=on or pg_stat_statsement is loaded 3 messages · 2021-10-15
- shared_preload_libraries = 'pg_stat_statements' failing with installcheck (compute_query_id = auto) 9 messages · 2022-02-08 → 2022-02-23