| From: | JoongHyuk Shin <sjh910805(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Inconsistency in owner assignment between INDEX and STATISTICS |
| Date: | 2026-04-07 10:34:54 |
| Message-ID: | CACSdjfM4-mLKfVr7=g5_eSiOMtYAmVM1w1=kCf5QKSYwcDjNfA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
One related thing I noticed.
Unlike CREATE INDEX, CREATE STATISTICS on a partitioned table does not
propagate to child partitions.
Is that intentional, or simply not implemented yet?
In practice, if you create statistics on a partitioned parent and then
EXPLAIN a WHERE query,
the planner doesn't use the stats because after partition pruning it looks
at the child's statistics,
where none exist. You have to create statistics on each child explicitly to
get the benefit.
If the answer is "create stats per partition yourself", that's fine.
Just wanted to confirm whether this is by design.
On Mon, Mar 16, 2026 at 10:15 AM Shin Berg <sjh910805(at)gmail(dot)com> wrote:
> Thank you for the additional context, Tom. That makes the design intent
> much clearer.
> Cross-table statistics, if realized, would be a significant improvement
> for join cardinality estimation; looking forward to seeing that develop.
>
> Regards,
> Joshua Shin
>
> On Mon, Mar 16, 2026 at 5:09 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>> Shin Berg <sjh910805(at)gmail(dot)com> writes:
>> > Thank you for the detailed feedback, Amit.
>> > You're right on both points. I had been comparing STATISTICS against
>> INDEX
>> > and treating the difference as an inconsistency, but as you point out,
>> > INDEX ownership is special — it's tied to the table and intentionally
>> not
>> > user-adjustable. STATISTICS follows the same ownership model as VIEW
>> (the
>> > creator becomes the owner), which is consistent and by design.
>>
>> One point that was not mentioned is that while indexes are necessarily
>> tied to a single table, statistics objects might not always be. The
>> long-term hope is to allow statistics on cross-table combinations of
>> columns, which is why the syntax was intentionally set up to look like
>> SELECT. So, just like views, it's reasonable to give them independent
>> ownership.
>>
>> regards, tom lane
>>
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas Munro | 2026-04-07 10:39:37 | Re: Automatically sizing the IO worker pool |
| Previous Message | Alvaro Herrera | 2026-04-07 10:30:07 | Re: Adding REPACK [concurrently] |