mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
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
This commit is contained in:
@ -175,7 +175,7 @@ ExecSerializePlan(Plan *plan, EState *estate)
|
||||
*/
|
||||
pstmt = makeNode(PlannedStmt);
|
||||
pstmt->commandType = CMD_SELECT;
|
||||
pstmt->queryId = UINT64CONST(0);
|
||||
pstmt->queryId = pgstat_get_my_queryid();
|
||||
pstmt->hasReturning = false;
|
||||
pstmt->hasModifyingCTE = false;
|
||||
pstmt->canSetTag = true;
|
||||
@ -1421,8 +1421,9 @@ ParallelQueryMain(dsm_segment *seg, shm_toc *toc)
|
||||
/* Setting debug_query_string for individual workers */
|
||||
debug_query_string = queryDesc->sourceText;
|
||||
|
||||
/* Report workers' query for monitoring purposes */
|
||||
/* Report workers' query and queryId for monitoring purposes */
|
||||
pgstat_report_activity(STATE_RUNNING, debug_query_string);
|
||||
pgstat_report_queryid(queryDesc->plannedstmt->queryId, false);
|
||||
|
||||
/* Attach to the dynamic shared memory area. */
|
||||
area_space = shm_toc_lookup(toc, PARALLEL_KEY_DSA, false);
|
||||
|
Reference in New Issue
Block a user