pgsql: Add compute_query_id = regress

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add compute_query_id = regress
Date: 2022-02-22 01:25:00
Message-ID: E1nMJvI-0003xf-Ih@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(at)paquier(dot)xyz
Backpatch-through: 14

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ebf6c5249b7db525e59563fb149642665c88f747

Modified Files
--------------
doc/src/sgml/config.sgml | 7 +++++--
src/backend/commands/explain.c | 8 +++++++-
src/backend/utils/misc/guc.c | 1 +
src/include/utils/queryjumble.h | 3 ++-
4 files changed, 15 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2022-02-22 02:54:32 pgsql: Allow specifying row filters for logical replication of tables.
Previous Message Tom Lane 2022-02-21 19:11:09 pgsql: Disallow setting bogus GUCs within an extension's reserved names