Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE - Mailing list pgsql-bugs

From marcos sicat
Subject Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE
Date
Msg-id MW5PR84MB2227FC185274F5C09423D596F2832@MW5PR84MB2227.NAMPRD84.PROD.OUTLOOK.COM
Whole thread Raw
In response to Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE
List pgsql-bugs
I was able to capture the Qplans for both, and I highlighted the differences in red. Are there server settings differences between v17 and v15 by default? 

What would be the suggested configuration settings in v17 that would behave like v15 and match the performance with v15?  

From: Pavel Stehule <pavel.stehule@gmail.com>
Date: Tuesday, April 29, 2025 at 1:01 AM
To: marcos sicat <marcos.sicat@atlasifs.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-bugs@lists.postgresql.org <pgsql-bugs@lists.postgresql.org>
Subject: Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE

Hi

po 28. 4. 2025 v 23:53 odesílatel marcos sicat <marcos.sicat@atlasifs.com> napsal:
Thanks, Tom.

After you made your recommendation, the result returned much quicker at 2.62 seconds, but v15 is still faster at 1.82 seconds. No modification was made to the function.  

and you look at the log file and separate query plans from there.

proposed changes just force storing query plans to the log file.

From plans we can see what is different

Regards

Pavel
 

image.png

From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Monday, April 28, 2025 at 9:59 AM
To: marcos sicat <marcos.sicat@atlasifs.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, pgsql-bugs@lists.postgresql.org <pgsql-bugs@lists.postgresql.org>
Subject: Re: Postgres 17.4 is much slower than Postgres 15.12 using RECURSIVE

marcos sicat <marcos.sicat@atlasifs.com> writes:
> The function is the same between v15 and v17.  Is there a subtle difference in performance for nested subqueries in v17?

Your next step should be to compare the plans for the function's
query.  The auto_explain or pg_stat_statements extensions could
be used to check that in-situ, if manually EXPLAINing that query
doesn't yield insight.

                        regards, tom lane
Attachment

pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Doubt in reset date style
Next
From: Tom Lane
Date:
Subject: Re: Doubt in reset date style