Re: Merging statistics from children instead of re-sampling everything - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Merging statistics from children instead of re-sampling everything
Date
Msg-id 20210329183624.GC4431@telsasoft.com
Whole thread Raw
In response to Merging statistics from children instead of re-sampling everything  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
Responses Re: Merging statistics from children instead of re-sampling everything  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
List pgsql-hackers
Thanks for taking a fresh look at this.

As you've written it, this can apply to either/both partitioned or inheritence.
I imagine when "MERGE" goes away, this should apply only to partitioned tables.
(Actually, personally I would advocate to consider applying it to *both*, but I
don't think that's been the tendency over the last 4 years.  I wrote here about
some arguably-gratuitous differences between inheritence and partitioning.
https://www.postgresql.org/message-id/20180601221428.GU5164@telsasoft.com)

> +     if (*mcv_items > default_statistics_target)
> +             n = default_statistics_target;

It should use any non-default stats target of the parent's column

> +         * ignore anything but valid leaf relatiins with data, but release

sp: relatiins.

> +                elog(WARNING, "stats for %d %d not found",
> +                                        RelationGetRelid(rels[j]), vacattrstats[i]->attr->attnum);

should be %u %d

This code duplication is undesirable:
> +    /* Log the action if appropriate */
> +     * Determine which columns to analyze



pgsql-hackers by date:

Previous
From: Cary Huang
Date:
Subject: Re: [PATCH] Add --create-only option to pg_dump/pg_dumpall
Next
From: Fujii Masao
Date:
Subject: Re: TRUNCATE on foreign table