Make use of in-core query id added by commit 5fd9dfa5f5
authorBruce Momjian <bruce@momjian.us>
Wed, 7 Apr 2021 18:03:56 +0000 (14:03 -0400)
committerBruce Momjian <bruce@momjian.us>
Wed, 7 Apr 2021 18:04:06 +0000 (14:04 -0400)
commit4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84b
treef0848c536dcce037e64218f52bd9bc8f1cc3f0ae
parentec7ffb8096e8eb90f4c9230f7ba9487f0abe1a9f
Make use of in-core query id added by commit 5fd9dfa5f5

Use the in-core query id computation for pg_stat_activity,
log_line_prefix, and EXPLAIN VERBOSE.

Similar to other fields in pg_stat_activity, only the queryid from the
top level statements are exposed, and if the backends status isn't
active then the queryid from the last executed statements is displayed.

Add a %Q placeholder to include the queryid in log_line_prefix, which
will also only expose top level statements.

For EXPLAIN VERBOSE, if a query identifier has been computed, either by
enabling compute_query_id or using a third-party module, display it.

Bump catalog version.

Discussion: https://postgr.es/m/20210407125726.tkvjdbw76hxnpwfi@nol

Author: Julien Rouhaud

Reviewed-by: Alvaro Herrera, Nitin Jadhav, Zhihong Yu
21 files changed:
contrib/pg_stat_statements/pg_stat_statements.c
doc/src/sgml/config.sgml
doc/src/sgml/monitoring.sgml
doc/src/sgml/ref/explain.sgml
src/backend/catalog/system_views.sql
src/backend/commands/explain.c
src/backend/executor/execMain.c
src/backend/executor/execParallel.c
src/backend/parser/analyze.c
src/backend/tcop/postgres.c
src/backend/utils/activity/backend_status.c
src/backend/utils/adt/pgstatfuncs.c
src/backend/utils/error/elog.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/misc/queryjumble.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/include/utils/backend_status.h
src/test/regress/expected/explain.out
src/test/regress/expected/rules.out
src/test/regress/sql/explain.sql