Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0f61727

Browse filesBrowse files
committed
Fixes for query_id feature
Ignore parallel workers in pg_stat_statements Oversight in 4f0b096 which exposed queryid in parallel workers. Counters are aggregated by the main backend process so parallel workers would report duplicated activity, and could also report activity for the wrong entry as they are only aware of the top level queryid. Fix thinko in pg_stat_get_activity when retrieving the queryid. Remove unnecessary call to pgstat_report_queryid(). Reported-by: Amit Kapila, Andres Freund, Thomas Munro Discussion: https://postgr.es/m/20210408051735.lfbdzun5zdlax5gd@alap3.anarazel.de p634GTSOqnDW86Owrn6qDAVosC5dJjXjp7BMfc5Gz1Q@mail.gmail.com Author: Julien Rouhaud
1 parent 5844c23 commit 0f61727
Copy full SHA for 0f61727

File tree

Expand file treeCollapse file tree

3 files changed

+4
-3
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+4
-3
lines changed

‎contrib/pg_stat_statements/pg_stat_statements.c

Copy file name to clipboardExpand all lines: contrib/pg_stat_statements/pg_stat_statements.c
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
#include <sys/stat.h>
4848
#include <unistd.h>
4949

50+
#include "access/parallel.h"
5051
#include "catalog/pg_authid.h"
5152
#include "common/hashfn.h"
5253
#include "executor/instrument.h"
@@ -278,8 +279,9 @@ static bool pgss_save; /* whether to save stats across shutdown */
278279

279280

280281
#define pgss_enabled(level) \
282+
(!IsParallelWorker() && \
281283
(pgss_track == PGSS_TRACK_ALL || \
282-
(pgss_track == PGSS_TRACK_TOP && (level) == 0))
284+
(pgss_track == PGSS_TRACK_TOP && (level) == 0)))
283285

284286
#define record_gc_qtexts() \
285287
do { \

‎src/backend/executor/execParallel.c

Copy file name to clipboardExpand all lines: src/backend/executor/execParallel.c
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1426,7 +1426,6 @@ ParallelQueryMain(dsm_segment *seg, shm_toc *toc)
14261426

14271427
/* Report workers' query and queryId for monitoring purposes */
14281428
pgstat_report_activity(STATE_RUNNING, debug_query_string);
1429-
pgstat_report_queryid(queryDesc->plannedstmt->queryId, false);
14301429

14311430
/* Attach to the dynamic shared memory area. */
14321431
area_space = shm_toc_lookup(toc, PARALLEL_KEY_DSA, false);

‎src/backend/utils/adt/pgstatfuncs.c

Copy file name to clipboardExpand all lines: src/backend/utils/adt/pgstatfuncs.c
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
917917
if (beentry->st_queryid == 0)
918918
nulls[29] = true;
919919
else
920-
values[29] = DatumGetUInt64(beentry->st_queryid);
920+
values[29] = UInt64GetDatum(beentry->st_queryid);
921921
}
922922
else
923923
{

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.