Re: extended stats on partitioned tables

Tomas Vondra <tomas.vondra@enterprisedb.com>

From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Zhihong Yu <zyu@yugabyte.com>, Jaime Casanova <jcasanov@systemguards.com.ec>, pgsql-hackers@postgresql.org
Date: 2021-12-13T19:52:53Z
Lists: pgsql-hackers

Attachments

On 12/13/21 14:48, Justin Pryzby wrote:
> On Sun, Dec 12, 2021 at 10:29:39PM +0100, Tomas Vondra wrote:
>>> In your 0003 patch, the "if inh: break" isn't removed from examine_variable(),
>>> but the corresponding thing is removed everywhere else.
>>
>> Ah, you're right. And it wasn't updated in the 0002 patch either - it
>> should do the relkind check too, to allow partitioned tables. Fixed.
> 
> I think you fixed it in 0002 (thanks) but still wasn't removed from 0003?
> 

D'oh! Those repeated rebase conflicts got me quite confused.

> In these comments:
> +        * When dealing with regular inheritance trees, ignore extended stats
> +        * (which were built without data from child rels, and thus do not
> +        * represent them). For partitioned tables data from partitions are
> +        * in the stats (and there's no data in the non-leaf relations), so
> +        * in this case we do consider extended stats.
> 
> I suggest to add a comment after "For partitioned tables".
> 

I've reworded the comment a bit, hopefully it's a bit clearer now.


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Commits

  1. Add stxdinherit flag to pg_statistic_ext_data

  2. Build inherited extended stats on partitioned tables

  3. Ignore extended statistics for inheritance trees

  4. Don't build extended statistics on inheritance trees

  5. Tighten up relation kind checks for extended statistics

  6. Avoid assuming that statistics for a parent relation reflect the properties of