On Wed, May 7, 2025 at 11:41 PM David Rowley <dgrowle...@gmail.com> wrote:
> On Thu, 8 May 2025 at 15:23, David G. Johnston > <david.g.johns...@gmail.com> wrote: > > Not liking the proposal, not sure it is even correct. Somehow "children > of inheritance parent tables" are omitted. > > I don't see the quoted text anywhere in this area, so I'm not sure I > follow what you mean with the omission. > Omitted from your v1 patch. The two options for sample > sets are 1) stainherits==true and 2) stainherits==false. With > inheritance parent tables, ANALYZE gathers both sets and records both > sets in pg_statistic. I was missing this key piece of knowledge which invalidated my entire attempt. Here's an attempt at shortening this now that I understand the mechanics better. Separate options exist because an inheritance parent table has two different sets of statistics: one considering only itself and one which also includes its children (<literal>n_distinct_inherited</literal>). Partitioned tables, which only have rows in the children, likewise uses the inherited option while everyone else uses <literal>n_distinct</literal>. David J.