Re: pgsql: Include information on buffer usage during planning phase, in EX

From: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
To: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(at)paquier(dot)xyz>, Fujii Masao <fujii(at)postgresql(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Include information on buffer usage during planning phase, in EX
Date: 2020-04-03 12:27:38
Message-ID: ac7aef4d-2df3-fb43-09da-00d7958f15f1@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 2020/04/03 16:43, Julien Rouhaud wrote:
> On Fri, Apr 03, 2020 at 03:24:41PM +0900, Fujii Masao wrote:
>>
>>
>> On 2020/04/03 12:30, Tom Lane wrote:
>>> Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> writes:
>>>> On 2020/04/03 11:58, Michael Paquier wrote:
>>>>> prion did not like that:
>>>>> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prion&dt=2020-04-03%2002%3A33%3A13
>>>
>>> dory failed as well. The problem is that in text mode, a Buffers line
>>> won't appear at all if there were zero buffer accesses. I don't think
>>> we really want to change that,
>>
>> Yes.
>>
>>> so probably the thing to do is adapt
>>> the filter functions in explain.sql so that they suppress Buffers lines
>>> altogether in text output. Kind of annoying, but ...
>>
>> I'm thinking to suppress only Buffers line just after Planning Time line,
>> by applying something like the following changes to explain_filter().
>> Thought?
>
>
> +1, that's a better workaround.
>
>
>>
>> declare
>> ln text;
>> + ignore_output boolean;
>> begin
>> for ln in execute $1
>> loop
>> + IF ignore_output THEN
>> + ignore_output := false;
>> + CONTINUE WHEN (ln ~~ ' Buffers: %');
>> + END IF;
>> + ignore_output := ln ~~ 'Planning Time: %';
>> -- Replace any numeric word with just 'N'
>> ln := regexp_replace(ln, '\m\d+\M', 'N', 'g');
>> -- In sort output, the above won't match units-suffixed numbers
>
>
> I'm not sure of what's plpgsql behavior here, but it's probably better to
> initialize ignore_output to false.

Thanks for the review! Yes, that's necessary.

> Nitpicking, but I think that
> planning_time_found, or something similar, would be better here.

Yeah, that sounds better.

Attached is the updated version of the patch.

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

Attachment Content-Type Size
show_planning_buffers-v6.patch text/plain 10.8 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Julien Rouhaud 2020-04-03 12:49:43 Re: pgsql: Include information on buffer usage during planning phase, in EX
Previous Message Julien Rouhaud 2020-04-03 07:43:47 Re: pgsql: Include information on buffer usage during planning phase, in EX