diff options
author | Bruce Momjian <bruce@momjian.us> | 2021-04-07 14:03:56 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2021-04-07 14:04:06 -0400 |
commit | 4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84b (patch) | |
tree | f0848c536dcce037e64218f52bd9bc8f1cc3f0ae /src/backend/utils/adt/pgstatfuncs.c | |
parent | ec7ffb8096e8eb90f4c9230f7ba9487f0abe1a9f (diff) | |
download | postgresql-4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84b.tar.gz postgresql-4f0b0966c866ae9f0e15d7cc73ccf7ce4e1af84b.zip |
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
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
-rw-r--r-- | src/backend/utils/adt/pgstatfuncs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 9ffbca685cd..9fa4a93162f 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -569,7 +569,7 @@ pg_stat_get_progress_info(PG_FUNCTION_ARGS) Datum pg_stat_get_activity(PG_FUNCTION_ARGS) { -#define PG_STAT_GET_ACTIVITY_COLS 29 +#define PG_STAT_GET_ACTIVITY_COLS 30 int num_backends = pgstat_fetch_stat_numbackends(); int curr_backend; int pid = PG_ARGISNULL(0) ? -1 : PG_GETARG_INT32(0); @@ -914,6 +914,10 @@ pg_stat_get_activity(PG_FUNCTION_ARGS) values[27] = BoolGetDatum(false); /* GSS Encryption not in * use */ } + if (beentry->st_queryid == 0) + nulls[29] = true; + else + values[29] = DatumGetUInt64(beentry->st_queryid); } else { @@ -941,6 +945,7 @@ pg_stat_get_activity(PG_FUNCTION_ARGS) nulls[26] = true; nulls[27] = true; nulls[28] = true; + nulls[29] = true; } tuplestore_putvalues(tupstore, tupdesc, values, nulls); |