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: 2022-01-15T18:35:12Z
Lists: pgsql-hackers

Attachments

On 1/15/22 06:11, Justin Pryzby wrote:
> On Mon, Dec 13, 2021 at 09:40:09PM +0100, Tomas Vondra wrote:
>> 1) If the table is a separate relation (not part of an inheritance
>> tree), this should make no difference. -> OK
>>
>> 2) If the table is using "old" inheritance, this reverts back to
>> pre-regression behavior. So people will keep using the old statistics
>> until the ANALYZE, and we need to tell them to ANALYZE or something.
>>
>> 3) If the table is using partitioning, it's guaranteed to be empty and
>> there are no stats at all. Again, we should tell people to run ANALYZE.
> 
> I think these can be mentioned in the commit message, which can end up in the
> minor release notes as a recommendation to rerun ANALYZE.
> 

Good point. I pushed the 0002 part and added a short paragraph 
suggesting ANALYZE might be necessary. I did not go into details about 
the individual cases, because that'd be too much for a commit message.

> Thanks for pushing 0001.
> 

Thanks for posting the patches!

I've pushed the second part - attached are the two remaining parts. I'll 
wait a bit before pushing the rebased 0001 (which goes into master 
branch only). Not sure about 0002 - I'm not convinced the refactored ACL 
checks are an improvement, but I'll think about it.

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