| From: | Corey Huinker <corey(dot)huinker(at)gmail(dot)com> |
|---|---|
| To: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
| Cc: | Baji Shaik <baji(dot)pgdev(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Fix --missing-stats-only false positive for partitioned expression indexes |
| Date: | 2026-06-16 16:23:17 |
| Message-ID: | CADkLM=cyzq7EsgxG-_DdquZ9XgZkyfBctDn-hqfahTm=qojDnw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Jun 16, 2026 at 12:14 PM Nathan Bossart <nathandbossart(at)gmail(dot)com>
wrote:
> On Tue, Jun 16, 2026 at 10:25:52AM -0500, Baji Shaik wrote:
> > I tested "vacuumdb --missing-stats-only" and found that it flags
> > partitioned tables that have expression indexes, even after a full
> > ANALYZE.
>
> Thanks for reporting.
>
> - " OR EXISTS
> (SELECT NULL FROM pg_catalog.pg_attribute a\n"
> + " OR (NOT
> p.inherited"
> + " AND EXISTS
> (SELECT NULL FROM pg_catalog.pg_attribute a\n"
>
> I'm curious why you added this check to the beginning and surrounded the
> rest with parentheses. Wouldn't it be better to follow the example of the
> surrounding clauses and an "AND NOT p.inherited" somewhere in the middle?
>
> --
> nathan
I had a similar question and am toying around with refactoring it now.
The rest of the patch checks out aside from that.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-06-16 16:24:45 | Re: Improving the names generated for indexes on expressions |
| Previous Message | Sami Imseih | 2026-06-16 16:21:57 | Re: mxid_score can become Infinity in pg_stat_autovacuum_scores |