Re: Significant Execution Time Difference Between PG13.14 and PG16.4 for Query on information_schema Tables.
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: nikhil raj <nikhilraj474@gmail.com>, "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresql.org>, NIKITA PATEL <patelnikita1411@gmail.com>,
Patel Khushbu <patelkhushbu2067@gmail.com>
Date: 2024-08-27T11:03:00Z
Lists: pgsql-hackers, pgsql-general
On Tue, 27 Aug 2024 at 14:03, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Yeah, I got that same result by bisecting. It seems like it's > somehow related to the cast to information_schema.sql_identifier: > we are able to get rid of that normally but seem to fail to do so > in this query. In case it saves you a bit of time, I stripped as much of the unrelated stuff out as I could and got: create table t (a name, b int); explain select * from (select a::varchar,b from (select distinct a,b from t) st) t right join t t2 on t.b=t2.b where t.a='test'; getting rid of the cast or swapping to INNER JOIN rather than RIGHT JOIN means that qual_is_pushdown_safe() gets a Var rather than a PlaceHolderVar. David
Commits
-
Avoid inserting PlaceHolderVars in cases where pre-v16 PG did not.
- b43110869fd8 17.0 landed
- 80d9c07a4a8c 16.5 landed
- cb8e50a4a09f 18.0 landed
-
Remove one memoize test case added by commit 069d0ff02.
- 3409b4db631f 18.0 landed