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-27T01:50:56Z
Lists: pgsql-hackers, pgsql-general
On Tue, 27 Aug 2024 at 13:40, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Yeah, it looks like that condition on "table_name" is not getting
> pushed down to the scan level anymore. I'm not sure why not,
> but will look closer tomorrow.
I was looking for the offending commit as at first I thought it might
be related to Memoize. It does not seem to be.
I get the following up until 2489d76c, and from then on, it's a subquery filter.
-> Index Scan using pg_class_relname_nsp_index on pg_class r_2
(cost=0.27..8.30 rows=1 width=8) (actual time=0.004..0.004 rows=0
loops=1)
Index Cond: (relname = 't_c56ng1_repository'::name)
Filter: ((relkind = ANY ('{r,p}'::"char"[])) AND
pg_has_role(relowner, 'USAGE'::text))
So looks like it was the "Make Vars be outer-join-aware." commit that
changed this.
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