Re: On disable_cost

Alena Rybakina <a.rybakina@postgrespro.ru>

From: Alena Rybakina <a.rybakina@postgrespro.ru>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: Robert Haas <robertmhaas@gmail.com>, David Rowley <dgrowleyml@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Heikki Linnakangas <hlinnaka@iki.fi>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-10-08T18:29:30Z
Lists: pgsql-hackers
On 08.10.2024 18:49, Laurenz Albe wrote:
> On Tue, 2024-10-08 at 18:12 +0300, Alena Rybakina wrote:
>>>> However you are right that this display will not appear for all
>>>> nodes that only contain a data collection procedure, such as Append,
>>>> MergeAppend, Gather, etc. And I agree with you that we should
>>>> information about it. I also think it’s worth adding additional
>>>> information that this option does not appear in the postgres_fdw
>>>> extension.
>>> I cannot quite follow that either...
>> I meant this [0].
>> [0]https://www.postgresql.org/message-id/CAApHDvpMyKJpLGWRmR3%2B3g4DxrSf6iRpwTRCXMorU0HvgWbocw%40mail.gmail.com
>>
>> Th disabled description won't display if the MergeAppend and Append
>> nodes are used in the query plan. I tried to generalize it, but without
>> success. I'm not sure that these nodes can be called accumulating data.
>> But I tried to describe this case in the documentation.
> You mean you rediscovered the bug that David's patch fixes?

Sorry, it works fine. I apparently tested the wrong version of the 
patch. Sorry for noise.

>> About postgres_fdw extension disabled nodes won't show [1]. I think we
>> should add information about it too.
>>
>> [1]https://www.postgresql.org/message-id/CA%2BTgmoZRwy8202vxbUPBeZd_Tx5NYVtmpvBnJnOzZS3b81cpkg%40mail.gmail.com
> You cannot disable a foreign scan...
>
> Or do you want to see "disabled" if the remote query uses a disabled node?
> I think that would be out of scope...
>
Yes, you are right.

-- 
Regards,
Alena Rybakina
Postgres Professional

Commits

  1. Doc: add detail about EXPLAIN's "Disabled" property

  2. Adjust EXPLAIN's output for disabled nodes

  3. Fix order of parameters in a cost_sort call

  4. Show number of disabled nodes in EXPLAIN ANALYZE output.

  5. Treat number of disabled nodes in a path as a separate cost metric.

  6. Remove grotty use of disable_cost for TID scan plans.