On Fri, Jul 10, 2020 at 12:45:29PM -0400, Alvaro Herrera wrote: > On 2020-Mar-18, Justin Pryzby wrote: > > > On Sun, Mar 15, 2020 at 12:49:33PM +0100, Julien Rouhaud wrote: > > > template1=# SET log_temp_files=0; explain analyze SELECT a,COUNT(1) FROM t > > a JOIN t b USING(a) GROUP BY 1; > > 2020-03-15 21:20:47.288 CDT [5537 5537]LOG: statement: SET > > log_temp_files=0; > > SET > > 2020-03-15 21:20:47.289 CDT [5537 5537]LOG: statement: explain > > analyze SELECT a,COUNT(1) FROM t a JOIN t b USING(a) GROUP BY 1; > > 2020-03-15 21:20:51.253 CDT [5627 5537]LOG: temporary file: path > > "base/pgsql_tmp/pgsql_tmp5627.0", size 6094848 > > 2020-03-15 21:20:51.253 CDT [5627 5537]STATEMENT: explain analyze > > SELECT a,COUNT(1) FROM t a JOIN t b USING(a) GROUP BY 1; > > 2020-03-15 21:20:51.254 CDT [5626 5537]LOG: temporary file: path > > "base/pgsql_tmp/pgsql_tmp5626.0", size 6103040 > > 2020-03-15 21:20:51.254 CDT [5626 5537]STATEMENT: explain analyze > > SELECT a,COUNT(1) FROM t a JOIN t b USING(a) GROUP BY 1; > > 2020-03-15 21:20:51.263 CDT [5537 5537]LOG: temporary file: path > > "base/pgsql_tmp/pgsql_tmp5537.1.sharedfileset/o15of16.p0.0", size 557056 > > I think it's overly verbose; all non-parallel backends are going to get > their own PID twice, and I'm not sure this is going to be great to > parse. I think it would be more sensible that if the process does not > have a parent (leader), %P expands to empty.
That's what's done. + <entry>Process ID of the parallel group leader if this process was + at some point involved in parallel query, otherwise null. For a + parallel group leader itself, this field is set to its own process + ID.</entry> 2020-07-10 11:53:32.304 CDT [16699 ]LOG: statement: SELECT 1; 2020-07-10 11:53:32.304 CDT,"pryzbyj","postgres",16699,"[local]",5f089d0b.413b,1,"idle",2020-07-10 11:53:31 CDT,3/4,0,LOG,00000,"statement: SELECT 1;",,,,,,,,,"psql","client backend", -- Justin