>> >> Another question is don't we need to set debug_query_string in worker? > > In the updated version I am setting it in ParallelQueryMain. > Ahh, I missed that. debug_query_string is used to show the log statements. Hence, it should be set. + queryString = shm_toc_lookup(toc, PARALLEL_KEY_QUERY_TEXT); + debug_query_string = shm_toc_lookup(toc, PARALLEL_KEY_QUERY_TEXT); + pgstat_report_activity(STATE_RUNNING, shm_toc_lookup(toc, PARALLEL_KEY_QUERY_TEXT)); Just one lookup is sufficient.
Fixed.
Other that that I updated some comments and other cleanup things. Please find the attached patch for the revised version.