Re: Avoid calling SetMatViewPopulatedState if possible

cca5507 <cca5507@qq.com>

From: cca5507 <cca5507@qq.com>
To: David Geier <geidav.pg@gmail.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-05-05T11:58:34Z
Lists: pgsql-hackers
Hi,

Thanks for your reply!

> While being a simple patch, it would be good to know what actual use
> cases this change improves on and by how much. Can you share a test case
> and/or performance data?

The improvement of performance is small, so it's hard to observe it. But I think
the patch is still useful because we can avoid generating dead pg_class tuple:

create table t(a int);
create materialized view m as select a from t;
create unique index on m(a);
select ctid from pg_class where relname = 'm';
refresh materialized view concurrently m;
select ctid from pg_class where relname = 'm';

Before the patch, the ctid will change every time we refresh the matview.

--
Regards,
ChangAo Chen