diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index 24b453adcb..f42f07622e 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -47,6 +47,7 @@ #include #include +#include "access/parallel.h" #include "catalog/pg_authid.h" #include "common/hashfn.h" #include "executor/instrument.h" @@ -278,8 +279,9 @@ static bool pgss_save; /* whether to save stats across shutdown */ #define pgss_enabled(level) \ + (!IsParallelWorker() && \ (pgss_track == PGSS_TRACK_ALL || \ - (pgss_track == PGSS_TRACK_TOP && (level) == 0)) + (pgss_track == PGSS_TRACK_TOP && (level) == 0))) #define record_gc_qtexts() \ do { \ diff --git a/src/backend/executor/execParallel.c b/src/backend/executor/execParallel.c index d104a19767..4fca8782b2 100644 --- a/src/backend/executor/execParallel.c +++ b/src/backend/executor/execParallel.c @@ -1426,7 +1426,6 @@ ParallelQueryMain(dsm_segment *seg, shm_toc *toc) /* 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); diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 9fa4a93162..182b15e3f2 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -917,7 +917,7 @@ pg_stat_get_activity(PG_FUNCTION_ARGS) if (beentry->st_queryid == 0) nulls[29] = true; else - values[29] = DatumGetUInt64(beentry->st_queryid); + values[29] = UInt64GetDatum(beentry->st_queryid); } else {