Re: Planning counters in pg_stat_statements (using pgss_store) - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: Planning counters in pg_stat_statements (using pgss_store)
Date
Msg-id 8c6449d4-5fd7-f544-182b-a4bb7da1d18c@oss.nttdata.com
Whole thread Raw
In response to Re: Planning counters in pg_stat_statements (using pgss_store)  (Julien Rouhaud <rjuju123@gmail.com>)
Responses Re: Planning counters in pg_stat_statements (using pgss_store)  (Julien Rouhaud <rjuju123@gmail.com>)
List pgsql-hackers

On 2020/03/31 3:16, Julien Rouhaud wrote:
> On Mon, Mar 30, 2020 at 6:36 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>
>> On 2020/03/30 17:03, Julien Rouhaud wrote:
>>> On Mon, Mar 30, 2020 at 01:56:43PM +0900, Fujii Masao wrote:
>>>>
>>>>
>>>> On 2020/03/29 15:15, Julien Rouhaud wrote:
>>>>> On Fri, Mar 27, 2020 at 03:42:50PM +0100, Julien Rouhaud wrote:
>>>>>> On Fri, Mar 27, 2020 at 2:01 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>>>>>>
>>>>>>
>>>>>>> So what I'd like to say is that the information that users are interested
>>>>>>> in would vary on each situation and case. At least for me it seems
>>>>>>> enough for pgss to report only the basic information. Then users
>>>>>>> can calculate to get the numbers (like total_time) they're interested in,
>>>>>>> from those basic information.
>>>>>>>
>>>>>>> But of course, I'd like to hear more opinions about this...
>>>>>>
>>>>>> +1
>>>>>>
>>>>>> Unless someone chime in by tomorrow, I'll just drop the sum as it
>>>>>> seems less controversial and not a blocker in userland if users are
>>>>>> interested.
>>>>>
>>>>> Done in attached v11, with also the s/querytext/query_text/ discrepancy noted
>>>>> previously.
>>>>
>>>> Thanks for updating the patch! But I still think query_string is better
>>>> name because it's used in other several places, for the sake of consistency.
>>>
>>> You're absolutely right.  That's what I actually wanted to do given your
>>> previous comment, but somehow managed to miss it, sorry about that and thanks
>>> for fixing.
>>>
>>>> So I changed the argument name that way and commit the 0001 patch.
>>>> If you think query_text is better, let's keep discussing this topic!
>>>>
>>>> Anyway many thanks for your great job!
>>>
>>> Thanks a lot!
>>>
>>>>
>>>>>>>> I also exported BufferUsageAccumDiff as mentioned previously, as it seems
>>>>>>>> clearner and will avoid future useless code churn, and run pgindent.
>>>>>>>
>>>>>>> Many thanks!! I'm thinking to commit this part separately.
>>>>>>> So I made that patch based on your patch. Attached.
>>>>>>
>>>>>> Thanks! It looks good to me.
>>>>>
>>>>> I also kept that part in a distinct commit for convenience.
>>>>
>>>> I also pushed 0002 patch. Thanks!
>>>>
>>>> I will review 0003 patch again.
>>>
>>> And thanks for that too :)
>>
>> While testing the patched pgss, I found that the patched version
>> may track the statements that the original version doesn't.
>> Please imagine the case where the following queries are executed,
>> with pgss.track = top.
>>
>>       PREPARE hoge AS SELECT * FROM t;
>>       EXPLAIN EXECUTE hoge;
>>
>> The pgss view returned "PREPARE hoge AS SELECT * FROM t"
>> in the patched version, but not in the orignal version.
>>
>> Is this problematic?
> 
> Oh indeed. That's a side effect of having different the executed query
> and the planned query being different.
> 
> I guess the question is to chose if the top level executed query of a
> utilty statement containing an optimisable query, should the top level
> planner call of that optimisable statement be considered at top level
> or not.  I tend to think that's the correct behavior here, as this is
> also what would happen if a regular DML was provided.  What do you
> think?

TBH, not sure if that's ok yet...

I'm now just wondering if both plan_nested_level and
exec_nested_level should be incremented in pgss_ProcessUtility().
This is just a guess, so I need more investigation about this.

Regards,

-- 
Fujii Masao
NTT DATA CORPORATION
Advanced Platform Technology Group
Research and Development Headquarters



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCH] Keeps tracking the uniqueness with UniqueKey
Next
From: Justin Pryzby
Date:
Subject: Re: error context for vacuum to include block number